SF 201 01 Assignment 04
Introduction
In black-box testing, the purpose is to the test the output from the component under test. There are di?erent strategies to use in order to test e?ciently. In this exercise you will use equivalence partitioning (EP). see chapter 10 in the book and the slides in Canvas.
1.1 Learning Objectives
The exercise aims at giving an understanding of black-box and white-box testing. The specific learning goal is to gain a detailed insight into a common black-box technique, namely equivalence partitioning.
· Preparation (on paper)
Read the description for the matrix program available below. (NOTE: do not read the source code for black-box testing!) Specify test cases by using the techniques equivalence partitioning (EP) at a unit test. First define equivalence classes, both valid and invalid ones. Then specify test cases for EP. Remember to specify test inputs, execution conditions and expected output. Make sure that the test cases cover both valid and invalid equivalence classes.
Output:
· One set of equivalence classes covering valid and invalid cases
· Test cases for EP
· Test cases for BVA
· Exercise (on computer)
Now test the matrix multiplication program using equivalence partitioning (EP) You should implement the test cases you prepared on paper before the exercise. Add new test cases if you discover equivalence classes you missed during the preparation. Use the Python code to complete this task.
When you have implemented the test cases, execute them.
A test report including defects should be written. Record your test results carefully in your test report. Remember to specify test case ID, what is tested, description, input, expected output and other useful information. Also note pass/fail and your reflections on the found defects.
· Full set of test cases for EP
· Test & defect report for EP
Application to perform Black-box and White-box testing
The purpose of the application is to simulate Chain Matrix Multiplication (CMM) using dynamic programming method.
1- Run the code provided with this assignment
2- The application will generate the user interface below
3- Click on the add button to add matrices (number of columns in the first matrix must be equal to number of rows in the second matrix)
4- Change the position of the parenthesis and click calculate to compute the matrix multiplication
Calculated time will compute the time to complete the computation.
Find the fastest computation time based on the position of the parenthesis around the matrices (ABCD..)
· Analysis and Conclusions
Reflect on the outcome of your tests for ach test technique. Consider the following questions:
· Equivalence classes: How where the equivalence classes designed? Could they be improved?
· Test case selection: How many and which kind of test cases did you select for each method?
· Compare the test techniques:
· For this specific case, which technique worked best (found most bugs, was most cost efficient etc) and why?
· When each method is most applicable? Consider both this case and in general.
· What other black-box test techniques (at least 2) could be appropriate, when and why?
Output: Reflections and conclusions for each of the questions in assignment 5.
· Report
1. For section Introduction provide
a. a brief description of the report assignment including its aim and purpose.
b. the Procedure for White Box Testing, which should include a summary of what you did for lab
2. It should consist of a description of what you (same as for Black Box). Include the flow graph and McCabe’s Cyclomatic Complexity measure.
3. The Procedure for Black Box Testing, which should include a summary and a description of what you did, i.e. the steps taken so that someone else could repeat your approach. Include which test techniques were used, how the techniques were applied, how the test cases were selected for each technique.
a. Detected Defects. Report on how many and which type of defects were found and the coverage type).
b. White-Box Testing vs Black-Box. Compare white-box techniques with black-box test techniques. Discuss advantages and disadvantages with each approach and when (situations, cases etc.) White-box technique example is to analyze the codes and determine the number of paths in program.
Decide which ones to test. Decreasing coverage using:
Logical paths
Independent paths
Branch coverage
Statement coverage
References
[1] Kshirasagar N. and


Recent Comments