软件测试(四)——图覆盖
2016-03-30 17:53
369 查看
图覆盖
1. 综述
图覆盖
2. 练习题
已知程序:
(a). printPrimes方法的控制流图为:
(b). 对于测试用例t1=(n=3)和t2=(n=5),MAXPRIMES = 4时,t1不能检查出错误,而t2则会发生数组越界错。
(c). 对于测试用例t3=(n=1),测试路径不经过while的循环体。
(d). 针对printPrimes()的图列举每个节点覆盖、边覆盖和主路径覆盖的测试需求。
节点覆盖:TR={1,2,3,4,5,6,7,8,9,10,11,12,13,14}
边覆盖:TR={(1,2), (2,3), (2,10), (3,4), (4,5), (5,6), (5,8), (6,5), (6,7), (7,8), (8,2), (9,2), (10,11), (11,12), (11,14), (12,13), (13,11)}
主路径覆盖:TR={
(1,2,3,4,5,6,7),
(1,2,3,4,5,6,8,9,10,11),
(1,2,3,4,5,6,8,9,11),
(1,2,3,4,5,9,10,11),
(1,2,3,4,5,9,11),
(1,2,12,13,14,15),
(1,2,12,16),
(2,3,4,5,6,8,9,10,11,2),
(2,3,4,5,6,8,9,11,2),
(2,3,4,5,9,10,11,2),
(2,3,4,5,9,11,2),
(3,4,5,6,8,9,10,11,2,12,13,14,15),
(3,4,5,6,8,9,11,2,12,13,14,15),
(3,4,5,6,8,9,10,11,2,12,13,16),
(3,4,5,6,8,9,11,2,12,13,16),
(3,4,5,9,10,11,2,12,13,14,15),
(3,4,5,9,11,2,12,13,14,15),
(3,4,5,9,10,11,2,12,13,16),
(3,4,5,9,11,2,12,13,16),
(5,6,7,5),
(6,7,5,9,10,11,2,12,13,14,15),
(6,7,5,9,11,2,12,13,14,15),
(6,7,5,9,10,11,2,12,13,16),
(6,7,5,9,11,2,12,13,16),
(13,14,15,13),
(14,15,13,16)
}
1. 综述
图覆盖
2. 练习题
已知程序:
/******************************************************* * Finds and prints n prime integers * Jeff Offutt, Spring 2003 ******************************************************/ public static void printPrimes (int n) { int curPrime; // Value currently considered for primeness int numPrimes; // Number of primes found so far. boolean isPrime; // Is curPrime prime? int [] primes = new int [MAXPRIMES]; // The list of prime numbers. // Initialize 2 into the list of primes. primes [0] = 2; numPrimes = 1; curPrime = 2; while (numPrimes < n) { curPrime++; // next number to consider ... isPrime = true; for (int i = 0; i <= numPrimes-1; i++) { // for each previous prime. if (isDivisable(primes[i],curPrime)) { // Found a divisor, curPrime is not prime. isPrime = false; break; // out of loop through primes. } } if (isPrime) { // save it! primes[numPrimes] = curPrime; numPrimes++; } } // End while // Print all the primes out. for (int i = 0; i <= numPrimes-1; i++) { System.out.println ("Prime: " + primes[i]); } } // end printPrimes
(a). printPrimes方法的控制流图为:
(b). 对于测试用例t1=(n=3)和t2=(n=5),MAXPRIMES = 4时,t1不能检查出错误,而t2则会发生数组越界错。
(c). 对于测试用例t3=(n=1),测试路径不经过while的循环体。
(d). 针对printPrimes()的图列举每个节点覆盖、边覆盖和主路径覆盖的测试需求。
节点覆盖:TR={1,2,3,4,5,6,7,8,9,10,11,12,13,14}
边覆盖:TR={(1,2), (2,3), (2,10), (3,4), (4,5), (5,6), (5,8), (6,5), (6,7), (7,8), (8,2), (9,2), (10,11), (11,12), (11,14), (12,13), (13,11)}
主路径覆盖:TR={
(1,2,3,4,5,6,7),
(1,2,3,4,5,6,8,9,10,11),
(1,2,3,4,5,6,8,9,11),
(1,2,3,4,5,9,10,11),
(1,2,3,4,5,9,11),
(1,2,12,13,14,15),
(1,2,12,16),
(2,3,4,5,6,8,9,10,11,2),
(2,3,4,5,6,8,9,11,2),
(2,3,4,5,9,10,11,2),
(2,3,4,5,9,11,2),
(3,4,5,6,8,9,10,11,2,12,13,14,15),
(3,4,5,6,8,9,11,2,12,13,14,15),
(3,4,5,6,8,9,10,11,2,12,13,16),
(3,4,5,6,8,9,11,2,12,13,16),
(3,4,5,9,10,11,2,12,13,14,15),
(3,4,5,9,11,2,12,13,14,15),
(3,4,5,9,10,11,2,12,13,16),
(3,4,5,9,11,2,12,13,16),
(5,6,7,5),
(6,7,5,9,10,11,2,12,13,14,15),
(6,7,5,9,11,2,12,13,14,15),
(6,7,5,9,10,11,2,12,13,16),
(6,7,5,9,11,2,12,13,16),
(13,14,15,13),
(14,15,13,16)
}
相关文章推荐
- VS快捷键小收集
- java,右移32位,32为移位循环周期
- dubbox 2.8.4的配置和使用
- 深度理解C字符串与C++字符串
- php mac环境下安装php pgsql扩展
- Masonry教程--IOS自适配,丢掉Autolayout吧
- 怎么设置Android Activity的动画
- 排序算法之直接插入排序
- WinPcap权威指南(四):UDP与DNS欺骗
- 笔记
- Javascript图表插件HighCharts用法案例
- c# label的内容显示不全
- 区分PC端与移动端代码,涵盖C#、JS、JQuery、webconfig
- JS回调函数(callback)
- OCR----Python调用Tesseract引擎(Ubuntu下)
- spring注入的方式实现静态方法中使用非静态变量
- IT十八掌作业_java基础第十三天_IO
- HTML学习(三)——表格
- java多线程-BlockingQueue(阻塞队列)
- WinForm开发中针对TreeView控件改变当前选择节点的字体与颜色