Sunteți pe pagina 1din 14

White box testing

© ThoughtWorks, 2007
Objective

• What is White box testing


• Techniques of white box testing
• What is Grey Box testing

© ThoughtWorks, 2007
What is it?

Testing the internal structure of


the software
Understand the code and the
code will set you free!
White-box testing is testing that
takes into account the internal
mechanism of a system or
component
It’s also known as Structural
testing, clear box testing and
glass box testing

© ThoughtWorks, 2007
Techniques

• Statement coverage
• Loop testing
• Path testing
• Branch testing

© ThoughtWorks, 2007
Statement Coverage
• 100% method coverage: All methods in all classes
are called.
• 100% statement coverage: All statements in a
method are executed.
void foo (int a, b, c, d, e) {
if (a == 0) {
return; }
int x = 0;
if ((a==b) OR ((c==d) AND bug(a) )) {
x =1; }
e = 1/x; }

© ThoughtWorks, 2007
Loop testing

• Test the ‘for’ and ‘while’ loops


in the code.
• Look for exceptions of infinite
loop.
• Cause execution of loop to be
skipped.
• Loop to be executed exactly
once.
• Loop to be executed more
than once

© ThoughtWorks, 2007
Path testing

• Make sure all the paths


are covered.
• Determine the paths
• Construct a logic flow
chart

© ThoughtWorks, 2007
Path testing: Determine Paths
FindMean (FILE ScoreFile)
{ float SumOfScores = 0.0;
int NumberOfScores = 0;
1
float Mean=0.0; float Score;
Read(ScoreFile, Score);
2 while (! EOF(ScoreFile) {
3 if (Score > 0.0 ) {
SumOfScores = SumOfScores + Score;
4
NumberOfScores++;
}
5
Read(ScoreFile, Score); 6
}
/* Compute the mean and print the result */
7 if (NumberOfScores > 0) {
Mean = SumOfScores / NumberOfScores;
printf(“ The mean score is %f\n”, Mean); 8
} else
printf (“No scores found in file\n”); 9
}
© ThoughtWorks, 2007
Path testing: Logic flow diagram
Start

F
2
T
3
T F
4 5

7
T F
8 9

 Exit

© ThoughtWorks, 2007
Branch testing

• Also known as Conditional Testing


• Make sure that each possible outcome from a
condition is tested at least once.
if (i=true)
printf (“I am true”)
else
printf (“I am false”)
Possible Testcases are
1. i=true; 2. i=false

© ThoughtWorks, 2007
Grey box testing

What is it?
– Mixture of both black box and white box.
– Test the system with a basic outlook of internals.

When you do?


– Once the functionality is developed

Example
– Database testing
– Using SQL

© ThoughtWorks, 2007
Grey box testing: SQL

Some times testers may have to use SQL to help in the


black box testing.

Types of Grey box using SQL


– Data Validation
– Data security
– Query for system updates

© ThoughtWorks, 2007
Grey box testing: My examples

Testing I did!
– Test the inventory by using the inventory table
– Reservation retrieval
– Data encryption: Credit Card number

© ThoughtWorks, 2007
Questions?

© ThoughtWorks, 2007

S-ar putea să vă placă și