您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > junit
基于Junit和Eclemma實現(xiàn)一個主路徑覆蓋的測試
作者:陌然之始 發(fā)布時間:[ 2017/5/3 10:52:46 ] 推薦標(biāo)簽:單元測試 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]

軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd