White-box-testing-v022971

  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View White-box-testing-v022971 as PDF for free.

More details

  • Words: 500
  • Pages: 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; NumberOfScores++; } 5 Read(ScoreFile, Score);

}

4

6

} /* Compute the mean and print the result */ 7 if (NumberOfScores > 0) { Mean = SumOfScores / NumberOfScores; printf(“ The mean score is %f\n”, Mean); } else printf (“No scores found in file\n”); 9 © ThoughtWorks, 2007

8

Path testing: Logic flow diagram Start 1 F

2 T

4

3

T

F

5

6

8

T

7

F

 Exit

© ThoughtWorks, 2007

9

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