Page 49 - SOFTWARE TESTING & QUALITY ASSURANCE
P. 49
Software Testing and Quality Assurance
White box testing helps the software tester to find out the correct type of input data used to test the
application effectively, i.e. the tester is aware of the internal coding and hence is able to optimize the
code. When the tester removes the extra line of code, it enables the testers to find the hidden defects.
According to Pressman, white box testing helps a software tester to perform the following functions:
1. Test independent paths within a unit or a module.
2. Test the logical correctness (test both the true and false conditions).
3. Test loops, specifically at their boundaries and check the operational boundary correctness.
4. Test internal data structures to ensure their validity.
White box testing provides greater stability and reusability of test cases. The software application is
tested in a thorough way and thus raises the customer satisfaction and confidence.
Did you know? White box testing is also referred to as glass box testing or structural testing or open
box testing or clear box testing, due to its nature of examining the internal workings.
4.1 Static White Box Testing
Static white box testing methodology involves testing the internal logic and structure of the code
without compiling and running the program. The main advantage of performing static white box
testing is that bugs are found early and those that cannot be uncovered by dynamic white box are also
identified. To perform this type of testing, a software tester needs to have the knowledge of software
coding and the internal logic. This enables a software tester to differentiate between the statement or the
path which works from those which do not work.
Static white box testing involves a procedure of analyzing data flow, control flow, information flow,
and also testing the intended and unintended software behaviors. There are different aspects that are
examined which include codes, branches, paths, and internal logic. Let us now discuss the various
methods by which static white box testing is performed.
4.1.1 Examining the Design and Code
Examining the design and code refers to examining and reviewing the codes without execution. We
have three methods through which bugs are identified and captured. They are reviews, inspections, and
walkthroughs.
The three methods use procedures and error detecting techniques for analyzing the bugs found and also
subsequently correct them. There are planned review meetings that are held and the developers and the
testers discuss the nature of the application and the probable areas of defects. When the areas are
identified, they are either corrected or marked for dynamic white box testing.
Did you know? Static white box testing is also referred to as structural analysis.
The responsibility of performing static white box testing varies from one development
team to another development team. In some organizations, the programmers organize
and run reviews by inviting the testers as observers, while in some organizations the
testers perform the task by asking the programmers, who wrote the code along with
other peers, to help them in their reviews.
Static white box testing is found to be a cost-effective method of testing. The advantage of performing a
static white box testing is that it provides the testers with better ideas about the test cases while
implementing them during software development.
42 LOVELY PROFESSIONAL UNIVERSITY