White Box Testing – Introduction:
White Box Testing Involves tests based upon coverage of code statements, branches, paths & conditions. For White Box testing, it is essential that the software tester should have in-depth knowledge of internal logic of an application’s code. Here the software tester uses his explicit knowledge of the internal workings of the item being tested to select the test data & uses his specific knowledge of programming code to examine the outputs.
The white box test is accurate only if the tester knows what the program is supposed to do. He or she can then see if the program diverges from its intended goal. White box testing does not account for errors caused by omission, and all visible code must also be readable.
In White Box Testing the tester is expected to Check every line of the code. It involves testing paths, branch by branch, to produce predictable results. Software bugs are a fact of life. No matter how hard we try, the reality is that even the best programmers can’t write error-free code all the time.
Various types of White-Box testing techniques are as under:
Statement Coverage – Involves execution of all statements at least once.
Decision Coverage – Involves execution of each decision direction at least once.
Condition Coverage – Involves execution of each decision with all possible outcomes at least once.
Decision / Condition Coverage – Involves execution of all possible combinations of condition outcomes in each decision. It treats all iterations as two-way conditions exercising the loop zero times and one time.