Download ppt - White Box Testing V0.2

Transcript
Page 1: White Box Testing V0.2

© ThoughtWorks, 2007

White box testing

Page 2: White Box Testing V0.2

© ThoughtWorks, 2007

Objective

• What is White box testing

• Techniques of white box testing

• What is Grey Box testing

Page 3: White Box Testing V0.2

© ThoughtWorks, 2007

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

What is it?

Page 4: White Box Testing V0.2

© ThoughtWorks, 2007

Techniques

• Statement coverage

• Loop testing

• Path testing

• Branch testing

Page 5: White Box Testing V0.2

© 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; }

Page 6: White Box Testing V0.2

© 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

Page 7: White Box Testing V0.2

© ThoughtWorks, 2007

Path testing

• Make sure all the paths are covered.

• Determine the paths

• Construct a logic flow chart

Page 8: White Box Testing V0.2

© ThoughtWorks, 2007

Path testing: Determine PathsFindMean (FILE ScoreFile){ float SumOfScores = 0.0;

int NumberOfScores = 0; float Mean=0.0; float Score;Read(ScoreFile, Score);while (! EOF(ScoreFile) {

if (Score > 0.0 ) {SumOfScores = SumOfScores + Score;NumberOfScores++;}

Read(ScoreFile, Score);}/* Compute the mean and print the result */if (NumberOfScores > 0) {

Mean = SumOfScores / NumberOfScores;printf(“ The mean score is %f\n”, Mean);

} elseprintf (“No scores found in file\n”);

}

1

23

4

5

7

6

8

9

Page 9: White Box Testing V0.2

© ThoughtWorks, 2007

Path testing: Logic flow diagram

Start

2

3

4 5

6

7

8 9

Exit

1

F

T F

T F

T

Page 10: White Box Testing V0.2

© 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

Page 11: White Box Testing V0.2

© 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

Page 12: White Box Testing V0.2

© 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

Page 13: White Box Testing V0.2

© 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

Page 14: White Box Testing V0.2

© ThoughtWorks, 2007

Questions?