Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

A Walk Through of Software Testing Techniques

Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

Proceedings of the SMART-2016, IEEE Conference ID: 39669

5th International Conference on System Modeling & Advancement in Research Trends , 25th _27'h November, 2016
College of Computing Sciences & Information Technology, Teerthanker Mahaveer University, Moradabad , India

A Walk Through of Software Testing Techniques


Jai Gaur l , Akshita Goya12, Tanupriya Choudhury3 and Sai Sabitha4
1,2,3,4Computer Science and Engineering Department, Amio/ University, Uttar Pradesh, Noida, India
E-mail: )gaur96@gmail.com.2akshita0730@gmail.com. 3tchoudhury@amity,edu, 4assabitha@amio/,edu

Abstract-8oftware Testing is a process of program's in terms of mechanism , as here more importance


execution with having the intentions of finding errors in is on test designing, test planning.
order to attain software with null defect. For this purpose
various testing technique have been used over the time. 11. B AS IC TERMINOLOGIES
Software testing is an intense arena of research and a lot of
development work has been done in the same. This field is Verification: It can be defined as a kind of testing
gaining more and more of importance in the future. Many which is done at each level of the development phase of a
techniques are there for test case generation. This paper product or software.
describes about Software testing and it's various aspects such Validation: It can be defined as a type of testing
as software testing principles and methodologies, its which is done in the end of the process of developing
importance. Moreover it describes about different types and software,
a comparative study on various types. Error. [11] It is a condition that causes the software to
Keywords: Testing Strategy, Technique, Testing Scope,
fail to perform its required function . Error is terminology
Fault, Fault Tolerance
of Developer.
I. INTRODUCTION Fault: It [11] is a condition that causes the software to
fail to perform its required function .
Software testing is a technique whose aim includes Bug: Bug [11] is terminology of Tester.
evaluation of the attribute or the capabilities ofthe product Test Strategy [16] Test Strategy can be defined as
and checking whether it meets required qualities or not, if systematically defined test levels and the levels of testing
not then to improve them , Software testing is also enclosed within them for any product or a system, It can
performed in order to test software for reliability, also be sought to be working map for a policy i,e. is an
compatibility, efficiency, robustness etc. Testing is costly advanced document unfolding all the detailing such as
but avoiding testing of software proves to be even more principles, approach, goals for the project.
costly. It is essential component of Software Quality Fault Detection: Fault Detection can be simply
Assurance and various companies spend up to 40- 50% of defined as recognizing a problem that has occurred and it
the development efforts on testing of product. is not necessary the cause has been uprooted yet. To detect
Gelberin & Hetzel [15] gave a concept for testing faults there are numerous quantitative and qualitative
model: methodologies, There are many approaches for detection
• The Debugging Process Model (Before 1956): In of fault two main are:
that time difference between testing and the • Model based reasoning
debugging concept were unclear. Both where • Fault signatures, pattern recognition and
changed interchangeably. classifiers: Pattern recognition
• The Demonstration Process Model (1957-58): Experimental Design: The experimental design is a
By that time testing and debugging difference sorted full plan for considering all kind of possible
was clear and concept of detection, identification, experimental condition or cases, This is done in order to
locating and fault correction were used pre determine the outcome or expected result of any
• The Evaluation Process Model (1983-87): condition that could affect or hamper the same activity, It
Guidelines were published by the Institute for basically helps you staying away from surprises that a
Computer Science & Technology of National program may intend to,
Bureau of Standards with intent of targeting. at
FIPS for Verification, Validation and testing. Ill. LITERATURE REVIEW
Here test activity, analysis and reviewing joins Manpreet Kaur and Rupinder Singh [1] have
for providing product's evaluation having represented a comparative study on all the existing latest
software lifecycle explained. software testing techniques, there scope, approach,
• The Prevention Process Model (Since 1988): effectiveness, They gave a general overview on the
This time period is different from previous model existing techniques.

Copyright © SMART-2016 ISBN: 978-1-5090-3543-4 103


5th International Conference on System Modeling & Advancement in Research Trends, 25th _27'h November, 2016
College of Computing Sciences & Information Technology, Teerthanker Mahaveer University, Moradabad , India

Lu Luo [2] has basically given or can be said Vishawjyoti and Sachin Sharma [13] focused on the
summarized the concept of software testing from the web testing tool "Selenium" to perform and analyze
scratch( from where it evolved) to its maturation and Automation testing. They wanted to check its feasibility
upcoming solutions and methods. and future scope of it in the Software Testing arena.
Abhishek Sharma, Theodore D. Hellmann, Frank The research review' s purpose is to help reader
Maurer [3] gave us the basic level but first hand understand different aspects and approach towards
experienced information on Testing on Web Services. software testing techniques and their evolution since they
Their research did not depend on the Literature Survey but have come into existence in this electronic media world. It
more on the practical or technical aspects possible. gives an idea to the reader about what has been discussed
Shivkumar Hasmukhrai Trivedi [4] dicusses just not yet and what is the scope of discussion ahead. These paper
about the phases of Software Testing phases but about the which are discussed above talk about from where it began,
SDLC model in a very precise and systematic manner. In its growing scope, its developing phase, its uses in various
his paper he was able to give mathematical representation fields and its techniques and the future scope it holds.
of the data and analysis apart from all the reviewing and
general discussions. IV. SOFTWARE TESTING PRIN CIPLES
Claessen et al. [5] developed a more-friendly tool These are the defined rules to follow. Various Testing
named "quickCheck", which was a combination of two Principles are:
old techniques i.e. , specifications as oracle and random
• Termination of Testing
testing. They obviously did present a number of case It requires to be ended somewhere. It can be
studies in which the tool was shown to be used
stopped when there is under controlled risk.
successfully and also point out some general errors to
• Testing is to be performed at various levels
avoid.
Different types of testing needs to be done at
Li et al. [6] gave a comparison of four unit level
different level using distinguished techniques of
software testing criteria such as mutation testing, Prime
testing.
Path coverage, Edge Pair coverage and Alluses testing
which were compared on two bases, first, the number of • Test Invalid along with valid data
exclusive faults found and second the number of tests Test cases for invalid condition or unexpected
needed to satisfy the criteria. He concluded the result as condition must also be seen . It is kind of
mutation was the most efficient criterion. regression testing.
Srinivas Nidhra and Jagruthi Dondeti [7] mainly • Defects Cluster
talked about Black box and White box Testing and were This means limited number of module contains
more likely interested in their quantitative and qualitative maximum of defects seen during testing.
comparisons and results. They explained their prospective • Test to make the Code fail
with quiet simple yet useful illustrations. Testing is done in order to execute program
Antonia Bertolino[8] made one of the first and finest having intention of finding error.
papers which nearly covered everything regarding that • Start Testing
time. She talked about testing as a difficult and Richly Testing activities in SDLC must kick off early as
articulated research discipline with 4 main goals to start possible.
with, but ends up with some other useful information with
those goals to be set as a future scope work. Test inputs

Ntafos [9] gave a comparative study of partition


testing, random testing and proportional partition testing.
He guarantees that partition testing has at least as high
probability of detecting a failure as at the expense of
decreasing its relative advantage over random testing.
Juristo et al. [10] analyzed requirement of the
maturity level of the knowledge about testing techniques
for conducting any type of testing. For this, he examined
pragmatic studies about testing techniques. According to
Ev aluate
the info, he classified the testing techniques and opted effective ne ss
Debug system
parameters to compare them. of fi xes
lA. Whittaker [12] presented a four phase approach
to determine how bugs escape from testing. They offer
testers to a group related problems that they can solve
during each phase. Fig. I: Software Testing Obj ective

104 Copyright © SMART-2016 ISBN: 978-1-5090-3543-4


A Walk Through of Software Testing Techniques

V. TESTING OBJECTIVES C. System Testing


• Defects finding which may have been created by System Testing is approached through a functional
developer while developing. point not from the structural stand point. It is a way of
• Confidence gaining in & level of quality. testing the end-end quality of complete achieved system.
• Making sure level product meets the business and Some non-functional attributes like reliable, dependable,
customer requirements. compatible, secure are also tested.
• To check whether system does what it is Brief study of its types:
expected from it. • Compatibility Testing: Compatibility Testing is a
• Ensuring to satisfy the BRS (Business non-functional type of testing for evaluating
Requirement Specification). compatibility of applications.
VI. SOFTWARE TESTING STRATEGIES • Security Testing: It is similar in fashion to the
penetration testing as the tester tries to penetrate
Software Testing Strategy is a way of integrating the complete system.
numeral test case designing method in order to attain • Recovery Testing: It is done in order to fail the
planned sequential steps which gives successful testing of software in multiple ways and seeing if the
the product. There are generally 4 types of strategies: recovery is properly done.
A. Unit Testing D. Acceptance Testing
Unit testing is a way of running a module in isolation Acceptance Testing is done in order to check and
away is a usage of the test cases prepared and hence verify if the software or product is developed as per the
comparing the predicted result from module designing and directions of the customer or not. Multiple tests are
the actual result. This testing is done by the developer and conducted for customers for validation of the
the proper knowledge of core program designing is requirements. It is a type of black box testing as the
required. It is the first level oftesting which helps to make customer is not interested in the code, rather is interested
whole picture of software testing as a complete system. It in the system ' s functionality. It can continue for months. It
is usually considered as an approach for white box testing. can be carried out at 2 levels i.e., User End and other at
Advantages: the Developer.
• Error fmding is easy as size of a single module is Alpha & beta testing
small. Alpha Testing is one of the types of Acceptance
• It is a very cost effective technique. Testing being done at developer' s end by a potential
• Helpful in achieving great level of internal customer.
coverage of code. Beta Testing is done at the user' s end, here the
• Individual parts can be tested quickly and easily software is provided to the potential customer and their
without any delay of waiting for other parts
feedback is demanded over it. It is also referred as the
availability.
Field Testing.
B. Integrating Testing Prepare Test Plan From Requirements

Integrating Testing is done in order to determine


,.I
whether the interfaces i.e. within the modules are correct. I: Design Test Cases
J
It is used to check if the matching of parameters is there
on both sides or not.
! I
Upda e Test Cases

These are of3 types as discussed: I Review Test Cases


J
Top Down Integration: It is an incremental way for .-
I
developing of system ' s skeleton and populating with the
parts. Top down integration goes down into the hierarchy,
1
Create Test Data I
where one module is added at a time till the whole tree' s ! I
Upda e Test Data
integration is achieved and hence there is no need of I Review Test Data
I
drivers.
Bottom Up Integration: It works in the similar fashion +
starting from bottom and stub is not required. Test Application & Log I Re-tes bug-fix.ed
Sandwich Integtration: In this strategy, it goes from I Bugs II ----.....l Application
top and the bottom at same time, hence there is meeting in
between i.e. middle.
1

Testing Complete I
Advantage:
• Removal of drivers and testing of the cluster Fig. 2: Testing Information Flow

Copyright © SMART-2016 ISBN: 978-1-5090-3543-4 105


5th International Conference on System Modeling & Advancement in Research Trends, 25th _27'h November, 2016
College of Computing Sciences & Information Technology, Teerthanker Mahaveer University, Moradabad , India

VII. SOFTWARE TESTING METHODOLOGIES Advantages:


• Optimization of the code is achieved.
These are three forms of the methodologies for the
software testing: • With the help of the tester' s knowledge of the
program, large coverage can be achieved during
A. Black Box Testing testing
Disadvantage:
It is a kind of methodology which is based on
• The cost is pretty much higher.
observing the result for some input values, i.e.without any
• It is very difficult to locate hidden errors, hence
analysis of a code. Black box testing is also referred as the
sometimes resulting in the failure.
Functional testing as here understanding the functionality
Examples of white box testing are:
of the black box is done in form of inputs and outputs
only. Its main purpose is ensuring proper acceptance of • Path Testing
the input and correctly production ofthe output. Testing is • Control Flow
done on the functionality and the requirements. • DataFlow
Advantages: C. Grey Box Testing
• No code access is essential.
• Highly efficient for long code. In recent times, a new testing methodology is being
• Independency is achieved between tester and the considered which Grey box is testing. It makes use if the
programmer. algorithms for the purpose of designing of the test cases
Disadvantages: lesser than white box and larger to that of Black box.
• Limited input can actually be ested at a time. Grey box Testing does not essentially requires the
• Clear specification is required for designing the tester having the complete knowledge of the Internal
test cases. program i.e. why it in not biased. Basically it joins the
methodologies of both the other types i.e. functional
• Sometimes testing is inefficient due to limited
testing and structural testing.
knowledge to tester.
Advantages:
Examples of Black Box Testing are:
• Here the tester does not depend on the internal
• Boundary Value Analysis
access; rather rely upon interfaces and the
• Robustness Testing
specifications.
• Equivalence Class testing
• Testing is done from the user point of view
• Cause-Effect Graph Technique Disadvantages:
• Coverage of the testing is limited.
• It may take high amount oftime.

00
VIII. WHICH TESTING TECHNIQUE IS THE BEST?
The question itself is wrong!!
Each of the testing methodology is best in its sense
for the purpose of detection of bugs. It depends solely on
On ly Functiona lity is
Um it ed In fo of In tern al Complet e In fo Of
the situation or the conditions presented in front of tester,
Reqired, No Logic
Logic is equ
r ired. In tern al Logic is R q
euired in order to decide which methodology to choose for
testing like ex. When we are dealing with time constrains
Fig. 3: Software Testing Method ologies and only requires desired output to certain input values,
and then the Black Box methodology will be beneficial.
B. White Box Testing Some factors which affect our decision are:
White box testing is a complementary approach to Internal Factors:
black box. It is also known as the Structural testing. It • Used Models in System ' s development.
allows examining of the internal logic ofthe code; here no • Objective of the testing.
attention is given to the specifications. It is basically a • Tester' s knowledge level.
process of providing input values and monitoring how the • SDLC model used and the documentation
system processes in order to provide desires output. White External factors:
Box Testing can be done at any level i.e. unit, integration • Assessing of the risks.
or the system level. This type is efficient for detection and • Budget and the time constraints
solving the problems as errors can be detected before they • What system type is used?
can cause any problem.

106 Copyright © SMART-2016 ISBN: 978-1-5090-3543-4


A Walk Through of Software Testing Techniques

• There is nothing like best technique, each has B. GU/ Based Test Case Generatio Method
own importance in required situation, and
A survey for test case generation techniques useful in
depending on the situation, testing methodology
GUI testing was proposed by Imran Ali Qureshi[20] as:
is chosen.
• It' s the first method of test case generation with
IX. COMPARATIVE STUDY OF TESTING METHODOLOGY GUI including usage of interacting sequence.
• Analyze the fmite state testing of GUI.
TABLE I: C OMPARATIVE STUDY OF METHODOLOG IES
• Model based approach of development of cost
Black Box White Box Grey Box effective model for GUI testing.
Internal logic of c ode Complete internal Limited information of All these test cases generation method for GUI
is not r quired.
e ol gic of c ode is internal logic is required. application was described by Qureshi[20]. He gave a
essential.
Least time consuming Most time Less time consuming in crystal clear picture for the functionality of the technique.
and exhaustive consuming. comparison t owhite box.
Unsuitable for uSitable for Unsuitable for algorithm C. Graph Traversal Algorithm
algorithm testing. algorithm testing. etsting. Breadth First or Depth First Search approaches can
Least granularity. Medium level of Ma ximum level of
granularity is seen granularity is seen. also be used in the traversal by parent to it' s child node for
Done in end by user/ Usually doneby Done in end by customer. test case generation in a tree or a graph. A test cases
customer. user. comprises of all nodes traversed in a path from parent to
Also known as Also known as Known as Translucent child, given every node has to be reached. A flow is set as
Functional testing. Structural testing. Testing due tolimited single test case.
info about internal logic.
Thus, by this comparative study we can say that no D. Genetic Algorithm
technique can be judged just by its name or basic function Latest Research is being done in this field for the
but it is acquired and used based on the user or the tester' s purpose of generation of test cases using the genetic
requirement that is the system ' s need. algorithm.
It is an optimizing technique which uses the technique
X. SOFTWARE TEST CASE GENERATION TECHNIQUE
' Survival of Fittest' where the best feasible solution
Test cases helps in estimation of total software testing survives.
costs, effort requirements. Basically, test case are multiple Genetic Algorithm requires:
inputs provided to software in order to attain required • Fittest function which is also objective,
output. R.P. Mohapatra and Jitendra Singh [17], gave a measuring strength of the solution.
procedural way for the generation of test cases. • Encode for representation of solution of solution
• Firstly , constraints are to be determined where space.
constraints are algebraic expression providing Genetic algorithm includes two techniques:
conditions of the variable from initial to destined • Mutation Testing also known as Fault based
node. detection is a technique in which mutants are
• For reducing test cases, highest value given to developed by alteration and testing whether the
variable with highest value and minimum value is test cases are able to identify them or not.
given to lowest value variable. • Crossover Testing includes crossover being done
• Now, given variable is provided with constant of the two non-similar test cases for generation of
value for every node. new test case.
• Table is created at least including all test cases
XI. COMP ARATlVE PRACTICAL STUDY ON MUT ATlON
possible.
TESTING USING GENETIC ALGORITHM AND MBT
Various test case generation methods exists
depending on application as object oriented application, TABLE 2: RESULT OF M UTATION TESTING SCORES
application on basis of genetic and evolutionary S No. of Size of Mutation Score Mutation Score
algorithms, UML application etc and others. No. TestSuit each suit Using MBT Using GA
1. 4 6 50 75
A. Critical Path Method 2. 2 9 75 lOO
3. I 7 75 lOO
This method was proposed by T.Y. Chen [18] et al 4. 5 13 50 lOO
which helps a tester for forming test cases using 5. 9 3 50 75
refinement of function choice. Ratna Raju [19] gave 6. 8 10 50 75
designing of test cases, it is a necessity to have knowledge 7. 6 12 75 lOO
about test purposes along the software requirements and 8. 3 II 50 lOO
describing how tasks are to be performed. Expected and 9. 7 15 75 lOO
10. 8 12 75 75
actual result judge the success for test. I!. 4 9 50 lOO

Copyright © SMART-2016 ISBN: 978-1-5090-3543-4 107


5th International Conference on System Modeling & Advancement in Research Trends, 25th _27'h November, 2016
College of Computing Sciences & Information Technology, Teerthanker Mahaveer University, Moradabad, India

In this experiment some 150-200 odd cases were whether it could be merged with some other already
generated and tested using Mutation Testing using Model existing technique and makes it more efficient.
Based Testing and Genetic Algorithm. And for almost
every test suit generated and performed mutation testing REFERENCES

using genetic algorithm gave better and efficient results in [I] Manpreet Kaur and Rupinder Singh: A Review of Software Testing
comparison to mutation testing done using Model Based Techniques; International Journal of Electronic and Electrical
Engineering. ISSN 0974-2174, Volume 7(2014).
Testing method.
[2] Luo L:Software Testing TechniquesTechnology Maturation and
Research Strategies; Class Report for 17-939A(200 I).
Comparative Study Of Mutation Testing
[3] Abhishek Sharma, Theodore D. Hellmann, Frank Maurer: Testing
Using MBT & GA of Web Services - A Systematic Mapping;University of Calgary
Calgary, Canada(20 12).
lOO [4] Shivkumar Hasmukhrai Trivedi: International Journal of Advanced
80 Research in Computer Science and Software Engineering, Research
60 Paper;Volume 2, Issue 10, October (2012).
40 [5] Claessen Koen, and John Hughes: QuickCheck: a lightweight tool
for random testing of Haskell programs;Acmsigplan notices
20
46.4(20 I I).
o [6] Li Nan, Upsorn Praphamontripong, and Jeff Offutt: An
2 3 4 5 6 7 8 9
10 II experimental comparison of four unit test criteria: Mutation, edge-
pair, all-uses and prime path coverage." Software Testing,
Verification and Validation Workshops. ICSTW'09 International
. No. ofTest • Size of each Suit Conference on. IEEE( 2009)
Suits
[7] Srinivas Nidhra and JagruthiDondeti: Black Box and White Box
• Mutation Score Using MET • Mutation Score Using GA Testing Techniques - a literature review; International Journal of
Embedded Systems and Applications (IJESA) Vol.2, No .2
June(20 12).
Fig. 3: Comparative Study of Mutation Testing using MET & GA
[8] Antonia Bertolino; Software Testing Research: Achievements,
XII. DISCUSSION Challenges, Dreams; Institute of Science and Technology Institute
"A. Faedo " National Research Council (2007).
This paper contains data and information based [9] N tafos Simeon C.: On compari sons of R andom, partiti on, and
mainly on the various articles and relevant write-ups thus proporti onal p artiti on testing.;Software Engineering, IEEE
Transacti ons on 27.10 (2001): 949-960.
obtained. It gives the required and essential facts and
[10] Juristo Natalia, Ana M. Moreno, and Sira Vegas: Reviewing 25
figures regarding for software testing. Talking about years of testing technique experiments; Empirical Software
industrial application point of view it in a way gives Engineering 9.1-2 (2004): 7-44.
assurance to the developer that his project might pass the [11] Software Testing Times - Tutorials, QTP, Manual Testing
maximum possible criteria of the customer and done his Automation Testing, Load Runner
part. The right choice of testing type and the right set of [12] J. A. Whittaker: What is Software Testing? And Why Is It So
test cases halves the work and ensures the mentioned Hard?; IEEE Software, January (2000), pp. 70-79

above. [13] Vishawjyoti and Sachin Sharma: Study and Analysis of


Automation Testing Techniques;Journal of Global Research in
Computer Science Volume 3, No . 12 December (2012).
XIII. CONCLUSION AND FUTURE SCOPE
[14] Rasneet Kaur Chauhan A and Iqbal Singh: Latest Research and
Testing is done so as to assure and increase the Development on Software Testing Techniques and Tools;
International Journal of Current Engineering and TechnologyE-
probability of success rate of the software or a product. ISSN 2277 - 4106, P-ISSN 2347 - 5161 (2014).
For a good quality testing a person or a tester just doesn't [IS] D. Gelperin and B. Hetzel: The Growth of Software Testing;
needs good practical knowledge but some good firsthand Communications of the ACM, Volume 31 Issue 6, June (1988), pp.
experience so that the process of testing becomes short 687- 695 [history ofst]
and simple. The future scope there in holds for the [16] JussiKasurinen: Elaborating Software Test Processes and
upcoming researches on software testing and any new Strategies; Third International Conference on Software Testing,
Verification and Validation, (2010)
development such as more refined and con figured
[17] R.P. Mohapatra and Jitendra Singh: Improving the effectiveness of
methodology and technique. As of now the successful software testing through test case deduction; Word Academy of
methodologies existing are White Box, Black Box and Science, Engineering, (2008)
Grey Box; and none other than these are yet successfully [18] J.B. Goodenough and S.L. Gerhart: Towards a theory of test data
implemented, but work in this field is sure going on and selection; International Conference on Reliable Software, (1975)
we may come up with a better technique or methodology. [19] P.D. Ratna Raju: Object Oriented Software Testing; International
Journal of Computer Science and Information Technologies, (2011)
The test case generation techniques currently existing are
[20] Irnran A1i Qureshi and Aamer Nadeem: GUI Testing Techniques:
efficient but Genetic Algorithm is one of the emerging
A Survey; International Journal of Future Computer and
technique and holds a lot of scope in upcoming time Communication, Vol. 2, No. 2, April (2013)

108 Copyright © SMART-2016 ISBN: 978-1-5090-3543-4

You might also like