$29.99
ECE 322
SOFTWARE TESTING AND MAINTENANCE
Assignment #4
Total: 40 points
10 points
1. The behavior of a communication software system can be represented in the form of the finite
state machine shown below. The figure shows the corresponding transition probabilities between
the states A, B,....
Determine an order in which you would like to test individual states.
10 points
2. Consider the program P with 6 inputs A, B, C, D, E, F and 3 outputs X, Y, and Z. The input
variables assume some values shown in the table below.
input values
A 0, 1, 2, 3,4
A
B
D
E
C
F
G
H
1.0
0.7
0.3
1.0
0.6
0.4
1.0
0.2
0.5 0.5
0.3
0.8
0.7
A
X
P
B C D E F
Y Z
Page 2 of 3
B A, B, C, D, E
C 100, 200,300
D 7, 8, 9, 10, 11
E Y, N
F a, b, g
Consider the input-output testing strategy. Consider the situation when (i) you do not know
functional dependencies among the input and output variables, and (ii) where these dependencies
are known (as shown in the figure below).
What is the number of test cases required when using these two strategies. For (ii) propose a
collection of test cases. In this strategy, how could you minimize the number of test cases; show
an example.
10 points
3. For the configuration problem shown below, develop test cases using the strategy of pairwise
testing. Compare the number of test cases obtained here with the number of tests required to
consider all combinations of input values.
Hint: you can use the python package discussed in the lecture.
10 points
4. Propose test cases to carry out syntax-based testing for the following grammar
<expr>::= <id>|<num>|<expr><op><expr>
<id>::=<letter>|<letter><id>
<num>::=<digit>|<digit><num>
<op>::=*|-|/ |+
A
X
B C D E F
Y Z
Page 3 of 3
<letter>::=a|b|c|…|z|A|B|C|...|Z
<digit>::=0|1|2|…|9
so that the following coverage criteria are satisfied: (i) terminal symbol coverage, (ii) production
coverage, and (iii) derivation coverage
How many test cases are required to meet the above coverage?