第三次作业+105032014087
1.修正流程图:
2.测试用例设计
覆盖方法 | 用例号 | 输入 | 期待结果 | 实际结果 | 通过 | 时间 |
语句覆盖 | 1 | a=1,b=1,c=1 | 等边三角形 | 等边三角形 | 通过 | 2017.3.29 |
语句覆盖 | 2 | a=3,b=4,c=5 | 直角三角形 | 直角三角形 | 通过 | 2017.3.29 |
判定覆盖 | 3 | a=-1,b=0,c=9 | 边不在范围 | 边不在范围 | 通过 | 2017.3.29 |
判定覆盖 | 4 | a="",b="L",c=9 | 格式错误 | 格式错误 | 通过 | 2017.3.29 |
判定覆盖 | 5 | a=1,b=1,c=2 | 不构成 三角形 | 不构成三角形 | 通过 | 2017.3.29 |
判定覆盖 | 6 | a=3,b=4,c=6 | 普通三角形 | 一般三角形 | 通过 | 2017.3.29 |
判定覆盖 | 7 | a=3,b=3,c=5 | 等腰三角形 | 等腰三角形 | 通过 | 2017.3.29 |
判定/条件覆盖 | 8 | a=3,b=3,c=3 | 等边三角形 | 等边三角形 | 通过 | 2017.3.29 |
判定/条件覆盖 | 9 | a=101,b=101,c=101 | 边不在范围 | 边不在范围 | 通过 | 2017.3.29 |
判定/条件覆盖 | 10 | a=3,b=7,c=8 | 普通三角形 | 普通三角形 | 通过 | 2017.3.29 |
判定/条件覆盖 | 11 | a=3,b=3,c=5 | 等腰三角形 | 等腰三角形 | 通过 | 2017.3.29 |
判定/条件覆盖 | 12 | a=4,b=3,d=4 | 等腰三角形 | 等腰三角形 | 通过 | 2017.3.29 |
判定/条件覆盖 | 13 | a=7,b=4,c=4 | 等腰三角形 | 等腰三角形 | 通过 | 2017.3.29 |
组合覆盖 | 14 | a=100,b=100,c=100 | 等边三角形 | 等边三角形 | 通过 | 2017.3.29 |
路径覆盖 | 15 | a=30,b=30,c=30 | 等边三角形 | 等边三角形 | 通过 | 2017.3.29 |
路径覆盖 | 16 | a="",c="",d="" | 格式错误 | 格式错误 | 通过 | 2017.3.29 |
路径覆盖 | 17 | a=4,b=4,c=9 | 不构成三角形 | 不构成三角形 | 通过 | 2017.3.29 |
路径覆盖 | 18 | a=6,b=8,c=10 | 直角三角形 | 直角三角形 | 通过 | 2017.3.29 |
路径覆盖 | 19 | a=4,b=5,c=7 | 普通三角形 | 普通三角形 | 通过 | 2017.3.29 |
路径覆盖 | 20 | a=4,b=4,c=7 | 等腰三角形 | 等腰三角形 | 通过 | 2017.3.29 |
3.单元测试框架
public class TrangleTest { private static Trangle trangle = new Trangle(); @Before public void setUp() throws Exception { } @Test public void testTriangle() { assertEquals("直角三角形", trangle.triangle(3, 4, 5)); assertEquals("等边三角形", trangle.triangle(1, 1, 1)); assertEquals("边的值不在范围内!", trangle.triangle(-1, 0, 9)); assertEquals("不构成三角形", trangle.triangle(1, 1, 2)); assertEquals("一般三角形", trangle.triangle(3, 4, 6)); assertEquals("等腰三角形", trangle.triangle(3, 3, 5)); } }
4.测试结果
5.测试小结
通过本次实验,我基本掌握了覆盖理论,并写出了相应的测试用例。对于一个简单的程序,测试用例可以有好多,如何编写能够快速捕捉错误的测试用例还是有一定难度的。采用单元测试框架,比使用main()方法更加的便捷高效,省去了一次次运行main的时间,单元猜测是框架一次性将所有测试用例运行,能够快速找到程序的错误。