第3次作业+105032014158
被测试帖链接:http://www.cnblogs.com/k511959373/p/6641611.html
1.修正流程图:
2.测试用例设计:
覆盖方式 |
用例号 |
输入 |
期待结果 |
实际结果 |
通过 |
时间 |
判断覆盖 |
1 |
1 1 1 |
9.8 |
9.8 |
√ |
2017.3.30 |
判断覆盖 |
2 |
-1 -1 -1 |
输入的数量不满足要求 |
-9.8 |
× |
2017.3.30 |
判断覆盖 |
3 |
a 1 1 |
输入不合法 |
输入不合法 1.8 |
× |
2017.3.30 |
判断覆盖 |
4 |
1.1 1.5 1 |
输入的数量不满足要求 |
11.1 |
× |
2017.3.30 |
判断覆盖 |
5 |
10 10 10 |
98.0 |
98.0 |
√ |
2017.3.30 |
判断覆盖 |
6 |
20 10 10 |
217.0 |
217.0 |
√ |
2017.3.30 |
判断覆盖 |
7 |
30 30 30 |
448.0 |
448.0 |
√ |
2017.3.30 |
判断覆盖 |
8 |
0 0 0 |
0.0 |
0.0 |
√ |
2017.3.30 |
路径覆盖 |
9 |
100 100 100 |
1820.0 |
1820.0 |
√ |
2017.3.30 |
路径覆盖 |
10 |
-100 -100 -100 |
输入的数量不满足要求 |
-980 |
× |
2017.3.30 |
路径覆盖 |
11 |
a b c |
输入不合法 |
输入不合法 |
√ |
2017.3.30 |
组合覆盖 |
12 |
1 “” 1 |
输入不合法 |
8.8 |
× |
2017.3.30 |
组合覆盖 |
13 |
-1 1.1 a |
输入的数量不满足要求 |
-7.0 |
× |
2017.3.30 |
3.单元测试框架:
import static org.junit.Assert.*; import org.junit.Before; import org.junit.Test; public class Yongjin01Test { @Before public void setUp() throws Exception { } @Test public void testCommission() { //fail("Not yet implemented"); String d1 = new Yongjin01().Commission(1, 1, 1)+""; String d2 = new Yongjin01().Commission(-1, -1, -1)+""; String d3 = new Yongjin01().Commission(1.1, 1.5, 1)+""; String d4 = new Yongjin01().Commission(10, 10, 10)+""; String d5 = new Yongjin01().Commission(20, 10, 10)+""; String d6 = new Yongjin01().Commission(30, 30, 30)+""; String d7 = new Yongjin01().Commission(0, 0, 0)+""; String d8 = new Yongjin01().Commission(100, 100, 100)+""; String d9 = new Yongjin01().Commission(-100, -100, -100)+""; assertEquals(9.8, d1); assertEquals("输入的数量不满足要求!", d2); assertEquals("输入的数量不满足要求!", d3); assertEquals(98.0, d4); assertEquals(217.0, d5); assertEquals(448.0, d6); assertEquals(0, d7); assertEquals(1820.0, d8); assertEquals("输入的数量不满足要求!", d9); } }
4.测试结果:
5.测试小结:
(1)心得体会:
如果代码内的判断语句增多,测试用例的量也需要大量增加,无疑会增加测试难度。
(2)单元测试框架:
使用单元测试框架测试,极大的方便了测试过程,但是需要开发人员把需要测试的代码单独放在一个函数内测试。
(3)调试与测试:
调试的时候只知道修改自己的代码,但是身在局中不能很清楚的认识到错误,测试的时候能够很好的发现开发人员的代码错误。
各个项的输入应该限制为int型,符合实际要求只有正整数而不应该用double。