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 ::= || ::=| ::=| ::=*|-|/ |+ A X B C D E F Y Z Page 3 of 3 ::=a|b|c|…|z|A|B|C|…|Z ::=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?