- [必做题1] 针对附录1给出的三角形判断Java 代码,应用等价类划分法设计测试用例,用表格形式列出设计的测试用例,写到博客中。(10分)
测试用例 | ||
序号 | 测试输入:三条边(a,b,c) | 测试预言(Oracle:直角、等腰、等边三角形) |
1 | 输入(1,1,1) | 等边三角形 |
2 | 输入(****) | *** |
【答】
判定类型 |
有效等价类 |
无效等价类 |
一般三角形 |
((a>0) Λ(b>0) Λ(c>0)) |
(a<=0 V b<=0 V c<=0) |
直角三角形 | (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));
}
运行截图:
- [必做题3] 心得体会。写下本次练习你收获的知识点(PS:测试用例设计方法和步骤;测试脚本设计步骤或主要内容)。(10分)
【答】
划分等价类的方法:
在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。考虑三角形各种可能的情况,将可能出现的几类数据列举几个例子即可。
(PS:在老师所给的java程序中只考虑了等腰三角形、等边三角形、不等边三角形,所以在测试时我未加入直角三角形的相关数据。)
测试脚本设计:
一开始对Junit并无涉及,通过网络搜索,大概得知测试方法。按照老师给出的示例,代入自己的数据进行测试,得出的运行结果与预测结果相同。
通过此次练习,我熟悉并掌握了应用等价类划分法设计测试用例以及用Junit测试代码、设计单元测试脚本,受益匪浅。