首页 > 代码库 > 第3次作业+105032014116
第3次作业+105032014116
1.测试对象
http://www.cnblogs.com/ZQ4162/p/6623033.html
2、修正流程图:
3、测试用例设计:
(1)语句覆盖
用例号 |
测试用例 |
覆盖路径 |
预期结果 |
实际结果 |
测试结论 |
1 |
-1,-1,-1 |
a,b |
输入有误,请重新输入! |
输入有误,请重新输入! |
通过 |
2 |
20,20,20 |
a,c,e,g |
252 |
252 |
通过 |
(2)判定覆盖
判断1:Headphone>=0&&Shell>=0&&Protector>=0
判断2:All<=1000
判断3:All<=1800
用例号 |
测试用例 |
判断1 |
判断2 |
判断3 |
覆盖路径 |
预期结果 |
实际结果 |
测试结论 |
1 |
-1,-1,-1 |
F |
F |
F |
a,b |
输入有误,请重新输入! |
输入有误,请重新输入! |
通过 |
2 |
20,20,20 |
T |
T |
T |
a,c,e,g |
252 |
252 |
通过 |
(3)条件覆盖
判断1:Headphone>=0&&Shell>=0&&Protector>=0
判断2:All<=1000
判断3:All<=1800
因为判断2和3均为单条件相同
用例号 |
测试用例 |
H>=0 |
S>=0 |
P>=0 |
All<=1000 |
All<=1800 |
All>1800 |
预期结果 |
实际结果 |
测试结论 |
1 |
1,-1,-1 |
T |
F |
F |
F |
F |
F |
输入有误,请重新输入! |
输入有误,请重新输入! |
通过 |
2 |
-1,1,1 |
F |
T |
T |
F |
F |
F |
输入有误,请重新输入! |
输入有误,请重新输入! |
通过 |
3 |
10,10,10
|
T |
T |
T |
T |
F |
F |
98 |
98 |
通过 |
4 |
20,10,10 |
T |
T |
T |
T |
T |
F |
217 |
217 |
通过 |
5 |
20,20,20 |
T |
T |
T |
T |
T |
T |
252 |
252 |
通过 |
(4)条件判定覆盖
用例号 |
测试用例 |
H>=0 |
S>=0 |
P>=0 |
All<=1000 |
All<=1800 |
All>1800 |
条件1 H>=0 S>=0 P>=0 |
预期结果 |
实际结果 |
测试结论 |
1 |
1,-1,-1 |
T |
F |
F |
F |
F |
F |
F |
输入有误,请重新输入! |
输入有误,请重新输入! |
通过 |
2 |
-1,1,1 |
F |
T |
T |
F |
F |
F |
F |
输入有误,请重新输入! |
输入有误,请重新输入! |
通过 |
3 |
10,10,10
|
T |
T |
T |
T |
F |
F |
T |
98 |
98 |
通过 |
4 |
20,10,10 |
T |
T |
T |
T |
T |
F |
T |
217 |
217 |
通过 |
5 |
20,20,20 |
T |
T |
T |
T |
T |
T |
T |
252 |
252 |
通过 |
(5)路径覆盖
用例号 |
测试用例 |
覆盖路径 |
预期结果 |
实际结果 |
测试结论 |
1 |
-1,-1,-1 |
a,b |
输入有误,请重新输入! |
输入有误,请重新输入! |
通过 |
2 |
10,10,10 |
a,c,d |
98 |
98 |
通过 |
3 |
20,10,10 |
a,c,e,f |
217 |
217 |
通过 |
4 |
20,20,20 |
a,c,e,g |
252 |
252 |
通过 |
3、单元测试框架:采用单元测试框架Junit,初步简单的自动化执行测试用例。
1 import static org.junit.Assert.*; 2 3 import org.junit.Test; 4 import static org.junit.Assert.assertEquals; 5 import java.util.Arrays; 6 import java.util.Collection; 7 import org.junit.runner.RunWith; 8 import org.junit.runners.Parameterized; 9 import org.junit.runners.Parameterized.Parameters; 10 11 @RunWith(Parameterized.class) 12 13 public class test1Test { 14 15 private int a; 16 private int b; 17 private int x ; 18 private float expected; 19 @Parameters 20 @SuppressWarnings("unchecked") 21 public static Collection date(){ 22 Object[][] object={{1,6,9,21.2f},{16, 5, 9,160.3f},{15, 6, 5,145.0f},{30, 11, 22,397.2f}}; 23 return Arrays.asList(object); 24 } 25 public test1Test(int a,int b,int x,float expected) 26 { 27 this.a=a; 28 this.b=b; 29 this.x=x; 30 this.expected=expected; 31 } 32 33 @Test 34 public void testAdd() { 35 Caculator c=new Caculator(); 36 float result=0; 37 result=c.ca(a,b,x); 38 System.out.println(result); 39 assertEquals(expected,result,0.01); 40 41 } 42 }
3、测试结果:根据测试用例设计,执行测试,并给出TestRunner测试结果图。
:
4、测试小结
(1)通过此次实验对逻辑覆盖有了更深入的了解,实验中运用了语句覆盖、判定覆盖、条件覆盖、条件判定覆盖以及路径覆盖。
(2)使用junit单元测试框架极大加快了测试速度与效率能够同时测试多个用例节约测试时间。
第3次作业+105032014116