AComparative Studyof Different Software Testing Techniques
AComparative Studyof Different Software Testing Techniques
AComparative Studyof Different Software Testing Techniques
net/publication/344122939
CITATIONS READS
2 1,380
2 authors:
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Seema Rani on 05 September 2020.
Abstract
Software testing is the process of identifying the correctness and quality of software program.
The purpose is to check whether the software satisfies the specific requirements, needs and
expectations of the customer. Software testing is the process to expose design, requirement and
coding errors in the program. Testing is used to identify the correctness, completeness, security
and quality of software products against the requirements of the user. It exhibits all faults,
errors and flaws in the developed software. Software testing is aimed at evaluating the
capability or usability of a program. It is a significant method of accessing the quality of
software. Though a lot of advancements have been done in formal methods and verification
techniques, still we need software to be fully tested before it could be handled to the customer
side. There are a number of testing techniques available to complete a task. Software testing is
an important area of research and a lot of development has been made in this field. In this
paper, all the software testing techniques have been described and compared. Some latest
researches have been described in brief. The concept of software testing is gaining more and
more importance in the future. There are many approaches to software testing, but effective
testing is a process of investigation, not only a matter of creating and following route procedure.
While it is not possible to detect all the faults in the software; this problem in testing thus arises
a question: what would be the strategy we should adopt for testing? In our paper, we have
described and compared the three most prevalent and commonly used software testing
techniques for detecting errors and faults. They are: white box testing, black box testing and
grey box testing.
Keywords: Black box, grey box, white box, prevention, software testing, software testing
principles, research
JoASP (2018) 1-8 © STM Journals 2018. All Rights Reserved Page 1
Comparative Study of Software Testing Techniques Rani and Gupta
JoASP (2018) 1-8 © STM Journals 2018. All Rights Reserved Page 2
Journal of Advances in Shell Programming
Volume 5, Issue 1
ISSN: 2395-6690 (Online)
End of Testing
Testing has to be stopped somewhere. It is
stopped when risks are under some limit or if
there is some limitation to it.
JoASP (2018) 1-8 © STM Journals 2018. All Rights Reserved Page 3
Comparative Study of Software Testing Techniques Rani and Gupta
black box is an algorithm that does not provide 3. Rules 1 and 2 apply to output conditions.
an explanation of how it works.
If internal program data structures have
Types of Black Box Testing Techniques prescribed boundaries, then produce test cases
(Figure 2) to exercise that data structure at its boundary.
Equivalence Class Partitioning
Cause-Effect Graphing Techniques: We use
this technique when we want to translate a
Boundary Value Analysis
policy or procedure specified in a natural
Black Box Testing
Well, using this technique, we can get test cases Model-Based Testing: Model-based testing is
which identify the classes of errors. automatic generation of efficient test
procedures using models of system
Boundary Value Analysis: This technique is requirements and specified functionality. In this
like the technique equivalence partitioning, method, test cases are derived in whole or in
except that for creating the test cases beside part from a model that describes some aspects
input domain use output domain. We can form of the system under test. These test cases are
the test cases in the following way: known as the abstract test suite. This testing
1. An input condition specifies a range forces detailed understanding of the system
bounded by values a and b: test cases behaviour and can do early bug detection.
should be made with values just above and
just below a and b, respectively; Advantages
2. An input condition specifies various values: 1. Testers need not to have knowledge on
test cases should be produced to exercise specific programming language.
the minimum and maximum numbers; 2. Testing is done from user’s point of view.
JoASP (2018) 1-8 © STM Journals 2018. All Rights Reserved Page 4
Journal of Advances in Shell Programming
Volume 5, Issue 1
ISSN: 2395-6690 (Online)
Disadvantages
1. Test cases are hard to design without clear Basis Path Testing
specifications.
2. Probability of having repetition of tests that Loop Testing
are already done by programmer. Fig. 4: Different Types of White Box Testing
3. Some parts of back end are not tested at all. Techniques.
JoASP (2018) 1-8 © STM Journals 2018. All Rights Reserved Page 5
Comparative Study of Software Testing Techniques Rani and Gupta
Disadvantages
1. Test coverage is limited as the access to
source code is not available.
2. Many program paths remain untested.
Fig. 5: Grey Box Testing. 3. The test cases can be redundant [18].
JoASP (2018) 1-8 © STM Journals 2018. All Rights Reserved Page 6
Journal of Advances in Shell Programming
Volume 5, Issue 1
ISSN: 2395-6690 (Online)
JoASP (2018) 1-8 © STM Journals 2018. All Rights Reserved Page 7
Comparative Study of Software Testing Techniques Rani and Gupta
JoASP (2018) 1-8 © STM Journals 2018. All Rights Reserved Page 8