基于Junit和Eclemma实现一个主路径覆盖的测试

发表于:2017-5-02 11:05

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:陌然之始    来源:51Testing软件测试网采编

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]
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号