首页 > 代码库 > 第3次作业+105032014116

第3次作业+105032014116

1.测试对象

http://www.cnblogs.com/ZQ4162/p/6623033.html

2、修正流程图

 技术分享

3、测试用例设计

1)语句覆盖

用例号

测试用例

覆盖路径

预期结果

实际结果

测试结论

1

-1,-1,-1

ab

输入有误,请重新输入!

输入有误,请重新输入!

通过

 2

20,20,20

aceg

252

252

通过

2)判定覆盖

判断1Headphone>=0&&Shell>=0&&Protector>=0

判断2All<=1000

判断3All<=1800

用例号

测试用例

判断1

判断2

判断3

覆盖路径

预期结果

实际结果

测试结论

1

-1,-1,-1

F

F

F

ab

输入有误,请重新输入!

输入有误,请重新输入!

通过

2

20,20,20

T

T

T

aceg

252

252

通过

3)条件覆盖

判断1Headphone>=0&&Shell>=0&&Protector>=0

判断2All<=1000

判断3All<=1800

因为判断23均为单条件相同

用例号

测试用例

H>=0

S>=0

P>=0

All<=1000

All<=1800

All>1800

预期结果

实际结果

测试结论

1

1-1-1

T

F

F

F

F

F

输入有误,请重新输入!

输入有误,请重新输入!

通过

2

-111

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

-111

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

ab

输入有误,请重新输入!

输入有误,请重新输入!

通过

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