作业8
必做一:
测试用例id | 测试的三条边(a,b,c) | 测试预言 |
1 | (-1,10,2) | 不能构成三角形 |
2 | (3,2,1) | 不能构成三角形 |
3 | (3,1,2) | 不能构成三角形 |
4 | (2,3,4) | 普通三角形 |
5 | (-3,-3,-3) | 不能构成三角形 |
6 | (3,3,3) | 等边三角形 |
7 | (3,3,7) | 不能构成三角形 |
8 | (3,3,5) | 等腰三角形 |
9 | 3,4,5) | 直角三角形 |
必做二:
package 判断三角形; import static org.junit.Assert.*; import org.junit.Test; public class TriangleTest { @Test public void testIsTriangle1(){ Triangle t = new Triangle(-1,10,2); assertFalse("Illegal",t.isTriangle(t)); } @Test public void testIsTriangle2(){ // according to the mutant, this test case should fail Triangle t = new Triangle(3,2,1); assertFalse("Illegal",t.isTriangle(t)); } @Test public void testIsTriangle3(){ Triangle t = new Triangle(3,1,2); assertFalse("Illegal",t.isTriangle(t)); } @Test public void testlsTringle4(){ Triangle t=new Triangle(2,3,4); assertFalse("Scalene",t.isTriangle(t)); } @Test public void testlsTringle5(){ Triangle t=new Triangle(-3,-3,-3); assertFalse("Illegal",t.isTriangle(t)); } @Test public void testlsTringle6(){ Triangle t=new Triangle(3,3,3); assertFalse("Regular",t.isTriangle(t)); } @Test public void testlsTringle7(){ Triangle t=new Triangle(3,3,7); assertFalse("Illegal",t.isTriangle(t)); } @Test public void testlsTringle8(){ Triangle t=new Triangle(3,3,5); assertFalse("Isoceles",t.isTriangle(t)); } @Test public void testlsTringle9(){ Triangle t=new Triangle(3,4,5); assertFalse("Right",t.isTriangle(t)); } }
结论:测试结果与测试预言吻合。
必做三:
这次使用了Junit功能,使用测试类的assertEquals方法来判断结果,测试的结果和自己的预想一致,学习到以前从没用过的新功能
根据三角形类别判断程序,可以知道基本的判别过程:数据是否越界,两边只差是否大于第三边,接着在判断三角形类型,等边等腰,不等边。
根据等价划分,可以分为四类:即非法三角形,非等边三角形,等腰三角形,等边三角形。数据基本判定过程:边长是否在数值范围内,第三边小于两边之和大于两边之差,是否为等边等腰。在设置测试数据时,各个情况数据都有涉及。
通过学习三角形的判断程序,学到了好多编程语句,尤其是判断语句if的用法,并且在此基础上学会了等价法测试,显然个人实力仍然需要提高,编程能力仍旧短板,只有这样才能完成后台测试等任务。