软件测试覆盖作业 第七题
2016-03-29 23:59
316 查看
一.
a.控制流图:
b.设置错误在 if(isDivisible(primes[i],curPrime)),即可使t2比t1更容易发现
c.n = 1
d.
Node Coverage Test Paths:
[1,2,3,4,5,6,7,5,9,10,11,2,12,13,14,15,13,16]
[1,2,3,4,5,6,8,9,10,11,2,12,13,14,15,13,16]
Edge Coverage Test Paths:
[1,2,3,4,5,6,7,8,9,10,11,2,12,13,14,15,13,16]
[1,2,3,4,5,6,8,9,11,2,12,13,16]
Prime Path Coverage Test Paths:
[5,6,7,5]
[13,14,15,13]
[1,2,3,4,5,6,7,8,9,10,11,2,12,13,14,15,13,16]
[1,2,3,4,5,6,8,9,11,2,12,13,16]
[1,2,3,4,5,6,7,8,9,10,11]
[2,3,4,5,6,7,8,9,10,11,2]
[2,3,4,5,6,8,9,11,2]
[2,3,4,5,6,7]
[2,12,13,14,15]
[2,12,13,16]
[1,2,12,13,14,15]
[1,2,12,13,16]
二.实现一个主路径覆盖:
测试类用例:
实现的主路径覆盖:
a.控制流图:
b.设置错误在 if(isDivisible(primes[i],curPrime)),即可使t2比t1更容易发现
c.n = 1
d.
Node Coverage Test Paths:
[1,2,3,4,5,6,7,5,9,10,11,2,12,13,14,15,13,16]
[1,2,3,4,5,6,8,9,10,11,2,12,13,14,15,13,16]
Edge Coverage Test Paths:
[1,2,3,4,5,6,7,8,9,10,11,2,12,13,14,15,13,16]
[1,2,3,4,5,6,8,9,11,2,12,13,16]
Prime Path Coverage Test Paths:
[5,6,7,5]
[13,14,15,13]
[1,2,3,4,5,6,7,8,9,10,11,2,12,13,14,15,13,16]
[1,2,3,4,5,6,8,9,11,2,12,13,16]
[1,2,3,4,5,6,7,8,9,10,11]
[2,3,4,5,6,7,8,9,10,11,2]
[2,3,4,5,6,8,9,11,2]
[2,3,4,5,6,7]
[2,12,13,14,15]
[2,12,13,16]
[1,2,12,13,14,15]
[1,2,12,13,16]
二.实现一个主路径覆盖:
package junit; public class triangle { private static int equilateral = 1; private static int isosceles = 2; private static int scalene = 3; private static int error = 4; public int getEquilateral() { return equilateral; } public int getIsosceles() { return isosceles; } public int getScalene() { return scalene; } public int getError() { return error; } public int type(int a, int b, int c) { if(a<=0||b<=0||c<=0) { return error; } else if(a+b<=c||a+c<=b||b+c<=a) { return error; } else if(a!=b&&b!=c&&a!=c) { return scalene; } else if(a==b&&b==c) { return equilateral; } else { return isosceles; } } }
测试类用例:
package junit; import org.junit.Test; import static org.junit.Assert.*; public class triangletest { private triangle triangle = new triangle(); @Test public void testNottriangel(){ assertEquals(triangle.getError(),triangle.type(0, 1, 2)); } @Test public void testScalene(){ assertEquals(triangle.getScalene(),triangle.type(2, 4, 3)); } @Test public void testIsosceles(){ assertEquals(triangle.getIsosceles(),triangle.type(3, 2, 3)); } @Test public void testEquilateral(){ assertEquals(triangle.getEquilateral(),triangle.type(3, 3, 3)); } @Test public void testNottriangel1(){ assertEquals(triangle.getError(),triangle.type(1, 1, 2));} }
实现的主路径覆盖:
相关文章推荐
- UVa 11809 - Floating-Point Numbers
- SQL存储过程大全
- atoi(),atof等函数的实现
- mac 效率工具
- 数据结构之单链表的实现
- php post example
- IM4Java + GraphicsMagick 实现高清图片剪裁处理
- JAVA语言搭建白盒静态代码、黑盒网站插件式自动化安全审计平台
- 是否要用Hadoop
- 39.Oracle深度学习笔记——自动创建ASM UDEV设备脚本
- 学习前端开发
- Javascript——arguments的shift问题谈方法“借用”
- CURL使用SSL证书访问HTTPS
- 设计模式学习笔记——桥接模式
- Linux最大线程数限制及当前线程数查询
- Using Android Studio with Vuforia
- 并发学习笔记(三):join与wait/notify
- GDAL库——读取图像并提取基本信息
- 38.Oracle深度学习笔记——OS下关闭连接进程脚本
- 如何使用百度bae部署web项目