ST-Graph Coverage 2.3 第七题
2016-03-30 20:23
197 查看
/******************************************************* 2 * Finds and prints n prime integers 3 * Jeff Offutt, Spring 2003 4 ******************************************************/ 5 public 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 (curPrime%primes[i]==0) 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).画出控制流图
(b) 设计一个测试用例t2比t1更有可能找到的错误
只要将数组primes的MAXPRIMES 设置为4, 那么t2 就会比t1 更能找到错误
(c) 不会进入while的内部语句块直接到for循环的测试用例:
测试用例:t3= (n = 1).
(d) TR for
Node coverage: TR= {Z, A, B, C, E, F, G, H, I, J, K, L}
Test path: [Z, A, B, C, D, B, C, H, E, F, G, A, I, J, K, J, ]
Edge coverage: TR= {(Z,A), (A,B), (B,C), (C,D), (C,H), (D,B), (B,E), (H,E), (E,F), (E,G), (F,G), (G,A), (A,I), (I,J), (J,K), (K,J), (J,L)}
Test path: [Z,A,B,C,D,B,C,H,E,G,A,B,C,D,B,E,F,G,A,I,J,K,J,L]
prime path coverage: TR={[Z,A,B,C,D]
[Z,A,B,C,H,E,G]
[Z,A,B,C,H,E,F,G]
[Z,A,B,E,G]
[Z,A,B,E,F,G]
[Z,A,I,J,K]
[Z,A,I,J,L]
[J,K,J]
[K,J,K]
[K,J,L]
[B,C,D,B]
[D,B,C,D]
[A,B,E,G,A]
[A,B,C,H,E,G,A]
[A,B,C,H,E,F,G,A]
[A,B,E,F,G,A]
[G,A,B,E,G]
[G,A,B,C,H,E,G]
[G,A,B,C,H,E,F,G]
[G,A,B,E,F,G]
[D,B,E,G]
[D,B,E,F,G]
[D,B,C,H,E,G]
[D,B,C,H,E,F,G]
[G,A,I,J,L]
[G,A,I,J,K]}
2.基于Junit及Eclemma(jacoco)实现一个主路径覆盖的测试。
采用软件测试Lab1(判断三角形的函数)的测试用例,如下测试用例可以满足主路径覆盖。
{3,4,7,"Not Triangle"};
{5,5,5,"equilateral"};
{7,4,4,"Not Triangle"};
{2,3,4,"isosceles"}.
这五个测试用例满足了主路径覆盖
相关文章推荐
- 文件存储路径
- hdu3790 最短路径问题--单源最短路径
- 基于Ip的刷投票排名及刷百度推广的自动化实现
- 2016年3月28日作业 沟通和合同管理
- java 基础拾遗
- mysql 时间戳格式化函数from_unixtime使用说明
- Linux Is Not Matrix——zabbix添加新主机
- [WC2013][JZOJ3250]模积和
- c++函数重载
- 结构体相关概念
- 51nod1686 第K大区间
- adb install 安装错误常见列表
- matlab 结构体struct
- linux一些常见命令总结
- 反转链表
- HTML+CSS基础篇——小技巧集合
- 0330博客
- netstat 用法
- 未能加载文件或程序集“MICROSOFT.REPORTVIEWER.WEBFORMS …
- 【Redis】简介与安装