第三次作业+105032014164
测试帖链接:http://www.cnblogs.com/Minhe/p/6627574.html
a :耳机销量;b:手机壳销量;c:手机贴膜销量;
总价:total = a*80+b*10+b*8;
佣金:commission
1.修正流程图
2.测试用例设计
覆盖方式 |
用例号 |
输入 |
期待结果 |
实际结果 |
通过 |
时间 |
判定覆盖 |
1 |
a=10,b=10,c=10 |
98.0 |
98.0 |
通过 |
2017/3/29 |
判定覆盖 |
2 |
a=10,b=20,c=30 |
136.0 |
136.0 |
通过 |
2017/3/29 |
判定/条件覆盖 |
3 |
a=20,b=20,c=20 |
252.0 |
252.0 |
通过 |
2017/3/29 |
判断/条件覆盖 |
4 |
a=-1,b=10,c=10 |
输入数量不符合要求 |
输入数量不符合要求 |
通过 |
2017/3/29 |
语句覆盖 |
5 |
a=’e’,b=10,c=10 |
输入数量不符合要求 |
输入数量不符合要求 |
通过 |
2017/3/29 |
语句覆盖 |
6 |
a=1,b=- 10 c=10 |
输入数量不符合要求 |
输入数量不符合要求 |
通过 |
2017/3/29 |
组合覆盖 |
7 |
a=0,b=0,c= 0 |
0.0 |
0.0 |
通过 |
2017/3/29 |
路径覆盖 |
8 |
a=5.1,b=5.1,c=5.1 |
输入数量不符合要求 |
输入数量不符合要求 |
通过 |
2017/3/29 |
路径覆盖 |
9 |
a=null,b=null,c=null |
输入数量不符合要求 |
输入数量不符合要求 |
通过 |
2017/3/29 |
路径覆盖 |
10 |
a=”w”,b=”e”,c=”t” |
输入数量不符合要求 |
输入数量不符合要求 |
通过 |
2017/3/29 |
3.单元测试框架
import java.util.Scanner; import org.junit.After; import org.junit.Before; import org.junit.Test; public class CodeModificationTest { @Before public void setUp() throws Exception { } @After public void tearDown() throws Exception { } @SuppressWarnings("deprecation") @Test public void testCommission() { String data1 = CodeModification.commission(10, 10, 10)+""; assertEquals("98.0",data1); String data2 = CodeModification.commission(10, 20, 30)+""; assertEquals("136.0",data2); String data3 = CodeModification.commission(20, 20, 20)+""; assertEquals("252.0",data3); } }
4.测试结果
代码通过测试,测试结束
5.测试小结
本次代码相对于上次冗余度降低,代码十分严谨,思路清晰。通过本次实验,我基本掌握了覆盖理论,并写出了相应的测试用例。写测试代码去测试代码比人工测试代码方便很多,也极大的减少人工的工作量,覆盖的范围也更加广,更加严谨,也更能减少代码所可能产生的bug。