题目要求:
Use the following method printPrimes() for questions a–d.
(a)Draw the control flow graph
(b)Design a simple fault that t2 would be more likely to discover than t1 would.
(c)Find a test case that connects the beginning of the while statement to for statement without going through the body of while loop.
(d)Enumerate the test requirements for node coverage, edge coverage, and prime path coverage.
– 基于Junit及Eclemma( jacoco)实现一个主路径覆盖的测试。
Solution:
(a)
(b) Consider that if the global variable MAXPRIMES is equal to 4;
Case t1 (n = 3) will get 3 locations in array primes. Case t2 (n = 5) will get 5 locations in array primes, while the maximum locations of primes is 4 and primes is overflow.
(c) Let that n is equal to 1.
(d) TR for NC: {1,2,3,4,5,6,7,8,9,10,11,12,13};
TR for EC: {(1,2), (2,3), (3,4), (4,5), (5,6), (5,7), (7,4), (4,8), (6,8), (8,9),(9,2), (2,10), (8,10), (10, 11), (11,12), (12, 11), (11, 13)};
TR for PPC: {[1,2,10,11,13],
[1,2,10,11,12],
[11,12,11],
[12,11,12],
[12,11,13],
[1,2,3,4,5,6,8,9],
[1,2,3,4,5,6,8,10,11,13],
[1,2,3,4,5,7],
[4,5,7,4],
[5,7,4,5],
[7,4,5,6,8,9],
[7,4,5,6,8,10,11,12],
[7,4,5,6,8,10,11,13],
[2,3,4,5,6,8,9,2],
[2,3,4,8,9,2]}.
代码实现测试结果: