作业8:单元测试练习(个人练习)

时间:2023-02-14 13:58:41

 

  • [必做题1] 针对附录1给出的三角形判断Java 代码,应用等价类划分法设计测试用例,用表格形式列出设计的测试用例,写到博客中。(10分)

 

测试用例
序号 测试输入:三条边(a,b,c) 测试预言(Oracle:直角、等腰、等边三角形)
1 输入(1,1,1) 等边三角形
2 输入(****) ***

【答】

判定类型
 有效等价类  
 无效等价类
一般三角形 
((a>0) Λ(b>0) Λ(c>0))  
Λ
(((a+b)>c) V ((a+c)>b) V ((b+c)>a)) (1)
 (a<=0 V b<=0 V c<=0)
Λ
(((a+b)<=c) V ((a+c)<=b) V ((b+c)<=a)) (2)
   直角三角形
(1) Λ (a^2+b^2=c^2)  (3)
      
(2) V(a^2+b^2!=c^2)  (4)
等腰三角形
 
 (1) Λ (a=b V a=c V b=c)          (5)
 
(2) V (a!=b V b!=c V a!=c)           (6)
等边三角形
 
(1) Λ (a=b=c )                    (7) 
 
(2) V (a!=b!=c)                    (8)

 

 

 

测试用例
序号 测试输入:三条边(a,b,c) 测试预言(Oracle:直角、等腰、等边三角形)
1 输入(1,3,7)

  不属于三角形

2 输入(0,3,7)

  不属于三角形

3 输入(-2,-5,-7)
不属于三角形
4 输入(2,5,7)

  不属于三角形

5 输入(5,5,6)
等腰三角形
6 输入(2,2,2)
等边三角形
7 输入(2,8,9)
一般三角形

 

 

 

  • [必做题2] 模仿附录2给出的三角形判断Junit测试代码,设计单元测试脚本,测试 [必做题1]设计得到的测试用例。注意测试脚本中测试用例出现顺序与[必做题1]表格所列顺序一致。运行所得的测试脚本,截运行结果图,写到博客中,同时将源代码push到你自己的github。(20分)

 

【答】

测试脚本单元

 @Test
public void testlsTringle1(){
Triangle1 t
=new Triangle1(1,3,7);
assertFalse(t.isTriangle1(t));
}
@Test
public void testlsTringle2(){
Triangle1 t
=new Triangle1(0,3,7);
assertFalse(t.isTriangle1(t));
}
@Test
public void testlsTringle3(){
Triangle1 t
=new Triangle1(-2,-5,-7);
assertFalse(t.isTriangle1(t));
}
@Test
public void testlsTringle4(){
Triangle1 t
=new Triangle1(2,5,7);
assertFalse(t.isTriangle1(t));
}
@Test
public void testlsTringle5(){
Triangle1 t
=new Triangle1(5,5,6);
assertFalse(t.isTriangle1(t));
}
@Test
public void testlsTringle6(){
Triangle1 t
=new Triangle1(2,2,2);
assertFalse(t.isTriangle1(t));
}
@Test
public void testlsTringle7(){
Triangle1 t
=new Triangle1(2,8,9);
assertFalse(t.isTriangle1(t));
}

 

 

运行截图:

 

作业8:单元测试练习(个人练习)

 

 

  • [必做题3] 心得体会。写下本次练习你收获的知识点(PS:测试用例设计方法和步骤;测试脚本设计步骤或主要内容)。(10分)

 

【答】 

划分等价类的方法:

在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。考虑三角形各种可能的情况,将可能出现的几类数据列举几个例子即可。

PS:在老师所给的java程序中只考虑了等腰三角形、等边三角形、不等边三角形,所以在测试时我未加入直角三角形的相关数据。)

 

测试脚本设计:

一开始对Junit并无涉及,通过网络搜索,大概得知测试方法。按照老师给出的示例,代入自己的数据进行测试,得出的运行结果与预测结果相同。

 

通过此次练习,我熟悉并掌握了应用等价类划分法设计测试用例以及用Junit测试代码、设计单元测试脚本,受益匪浅。