We can define software testing as a process or a series of processes, design tomake surethatcomputer code does what itwas essentially designed to do andit doesn’t doanything unplanned. Two ofthemost important software testing techniques are white boxtesting andblack box testing. In my paper, I have described one of the main software testing technique that is white boxtesting.
We can define it as a test case design method that uses the controlstructure of the procedural design toderive test cases. I have also definedbrieflythe workingprocess of white box testing techniqueand some of its most frequentlyused techniques that are control flowtesting, data flow testing, branch testing, basis path testing and loop testing.Keywords:Control Flow Testing,DataFlow Testing, BranchTesting, Basis Path Testing,Loop Testing1. IntroductionSoftware testing is a set of activities shown with thedetermined of finding errors. It also ensures that the system is workingaccording to the requirement. The two important goals of software testing areto ensure system being developed is according to the customer requirement andto reveal bugs. An important form of assurance is testing.
Testing is adifficult, expensive and time-consuming job, so the choice of testing must bebased on the risk to the system.White box testing techniques are one of the most importantsoftware testing techniques, it is typically very effective in validatingdesign, decision, assumptions and finding programming errors and implementationerrors in software.White box testing based on analysis of internal workings andstructure of a piece of software and it can uncover implementation errors suchas poor key management. White box testing is performed based on the knowledgeof how the system is implemented. White box testing is very effective andefficient in validating design decision and assumptions.Thereare some advantages of white box testing such as it reveals an error in the hidden code, its side effects are beneficial andithelps in removing extra lines of code. 105The main disadvantage of white box testing is that it is very expensive and some of themcodes omitted in the code could bemissed out.
10 Someimportant types of white box testing are· Control Flow Testing· Branch Testing· Basis Path Testing· Data Flow Testing· Loop TestingSome synonymsof whitebox testing are 51. Glass box testing2. Clear box testing3. Open box testing4. Transparent boxtesting5. Structural testing6. Logic-driven testing7.
Designbasedtesting 2. Working Process ofWhite Box Testing TechniqueThegeneral outlining of white box testing process is described below: Step1: Inputà includesü Requirementü Functionalspecificationü Detailed designing ofdocumentsü Proper source codeü Security specificationsare must 11Step2: Processing Unit (Analyzing internal working only)ü Perform risk analysisto guide whole testing processü Proper test planü Execute test cases andcommunicate resultsStep 3: Output Prepareà final report Figure 1 Represent Working Process ofWhiteBox Testing Technique3. Different Forms of White Box Testing Techniques are Figure2 Represent Various Forms of White Box Testing Techniques3.
1 Loop TestingLoop testing is anothertype of white box testing which exclusively focuses onthe validity of loop construct. Loops are simple to test unless dependencies exist between the loops or between theloopand the code it contains.There are four classes of loops:a) Simple Loopb) Nested Loop c) Concatenated Loop d) Unstructured Loop3.1.
1 Simple LoopThe following sets of tests can be applied to simple loops,where n it’s a maximum no. of allowable passes through loops. 13Step 1: Skip the loop entirelyStep 2: Only one pass through the loopStep 3: Two passes through the loopStep 4: m passes through the loop where n>mStep 5: n-1, n, n+1 passes through the loops Figure3 represents simple loop3.
1.2 NestedLoopThe no. of possible test would grow geometricallyas the level of nesting increases fromsimple to nested loops. 13Step 1: Set all the other loopsto minimum valueand start at the innermost loopStep 2: Conduct simple loop test for the innermost loopand holding the outer loops attheir minimum iteration parameter valueStep 3: Performing test for the next loop and work outwardStep 4: Continue until all theloopshavebeen tested Figure4 represent nested loop3.1.3 Concatenated LoopIf two loops are independent rof each other then they are tested by using simple loop test.
However, for two concatenated loops, if the loop counter for one loop is used as the initial value for the others, then the two loopsarenotindependent. 13