1. Introduction
In white-box testing, the purpose is to ensure that the all the code has been tested and covered.There are different coverage measures depending on the level of detail of the white-box test. The coverage measures may also be applied to integration testing and system testing.
2. Learning Objectives
The exercise aims at giving an understanding of white-box. The specific learning goal is to gain a detailed insight into the concept of white-box testing using coverage measures.
Assignment 1: Look at the program below. How many feasible paths are there for this program?
Define a set of test cases that gives you 100% coverage of all the feasible paths.
Input (score);
If score < 45 then print (‘fail’); else print (‘pass’);
If score > 80 then print (‘ with distinction’);
End
Assignment 2: In this week’s lab session you will test the NextDate program with white-box techniques.
Get an understanding of how the program works, the code is available here
Assignment 4: Make flowgraphs of the methods in the NextDate class.
Assignment 5: Prepare test cases based on the flowgraph. Calculate the minimum number of test cases if the goal is:
• 100% Statement coverage
• 100% Decision/branch covergae
• 100% Condition coverage
4. Exercise (on computer)
Assignment 6: Now we would like you to thoroughly test the NextDate program using white-box testing. You should implement the testcases you have prepared on paper using statement, decision,and condition coverage. Preferably implement them using JUnit. Implement more test cases if you realize that you missed any during the preparation.
Remember to specify test case ID, what is tested, description, input, expected output and other useful information while executing your test cases. You may also want to make room for pass and fail notes and perhaps for comments. Record your test results carefully for your test report.
Report
The purpose of the report is to discuss the