White Box Case Study 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.
Don’t waste your time!
Order your assignment!
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 result of the exercise and related topics. Following parts should be included, 1) conclusions from the lab session, 2. Describe the outcome of your tests.
Discuss the assignments and include the following: • The flowgraphs from the preparation assignment. • The test cases. Remember to specify the associated test technique to each test case. Also, specify the coverage measure of each method used. • Defects detected. • Which coverage criteria works best and why? • When is each coverage criteria most applicable? • Compare black-box test techniques (used in lab session 1) and white-box test techniques. Discuss advantages and disadvantages with each and when they are appropriate to use.