A Walk Through of Software Testing Techniques
A Walk Through of Software Testing Techniques
A Walk Through of Software Testing Techniques
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
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.
• 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
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