您的位置:软件测试 > 开源软件测试 > 开源单元测试工具 > junit
基于Junit和Eclemma实现一个主路径覆盖的测试
作者:陌然之始 发布时间:[ 2017/5/3 10:52:46 ] 推荐标签:单元测试 Junit

5.private static void printPrimes(int n)
6.{
7.int curPrime; // Value currently considered for primeness
8. int numPrimes; // Number of primes found so far.
9. boolean isPrime; // Is curPrime prime?
10. int [] primes = new int [MAXPRIMES]; // The list of prime numbers.
11.
12. // Initialize 2 into the list of primes.
13. primes [0] = 2;
14. numPrimes = 1;
15. curPrime = 2;
16. while (numPrimes < n)
17. {
18. curPrime++; // next number to consider ...
19. isPrime = true;
20. for (int i = 0; i <= numPrimes-1; i++)
21. { // for each previous prime.
22. if (isDivisible (primes[i], curPrime))
23. { // Found a divisor, curPrime is not prime.
24. isPrime = false;
25. break; // out of loop through primes.
26. }
27. }
28. if (isPrime)
29. { // save it!
30. primes[numPrimes] = curPrime;
31. numPrimes++;
32. }
33. } // End while
34.
35. // Print all the primes out.
36. for (int i = 0; i <= numPrimes-1; i++)
37. {
38. System.out.println ("Prime: " + primes[i]);
39. }
40. } // end printPrimes
  a)flow graph:

  b)An obvious and boring fault is if the while loop test is incorrect -for example ,while(numPrime<3)
  A fault is that n=3 returns all the odd numbers between 2 and 5,whereas n=5 does not.Thus a fault that caused the program to return odd numbers instead of prime numbers would be detected by n =5,not n=3.For example ,if the if test was if isDivisible (primes[0],curPrime),or if the isDivisible()method was implemented incorrectly
  c)the test n=1 does the job
  d) i.node coverage:{1,2,3,4,5,6,7,8,9,10,11,12};
  ii.edge coverage:
  {(1,2),(2,3),(2,4),(4,11),(11,12),(3,5),(5,6),(6,8),(6,7),(8,5),(7,9),(9,10),(9,2),(10,2)}
  iii.prime path coverage:
  [1,2,4,11]
  [1,2,4,11,12,11]
  [1,2,3,5,6,7,9,2,4,11]
  [1,2,3,5,6,7,9,2,4,11,12,11]
  [1,2,3,5,6,7,9,10,2,4,11]
  [1,2,3,5,6,7,9,10,2,4,11,12,11]
  [1,2,3,5,6,8,5,6,7,9,2,4,11]
  [1,2,3,5,6,8,5,6,7,9,2,4,11,12,11]
  [1,2,3,5,6,8,5,6,7,9,10,2,4,11]
  [1,2,3,5,6,8,5,6,7,9,10,2,4,11,12,11]

软件测试工具 | 联系我们 | 投诉建议 | 诚聘英才 | 申请使用列表 | 网站地图
沪ICP备07036474 2003-2017 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd