作业8:单元测试练习
[必做题1] 针对附录1给出的三角形判断Java 代码,应用等价类划分法设计测试用例,用表格形式列出设计的测试用例,写到博客中。
测试用例 | ||
序号 | 测试输入:三条边(a,b,c) | 测试预言(Oracle:直角、等腰、等边三角形) |
1 | 输入(-1,10,2) | 不是三角形 |
2 | 输入(3,2,1) | 不是三角形 |
3 | 输入(3,1,2) | 不是三角形 |
4 | 输入(3,3,3) | 等边三角形 |
5 | 输入(3,2,4) | 不等边三角形 |
6 | 输入(3,2,2) | 等腰三角形 |
7 | 输入(10,10,10) | 等边三角形 |
8 | 输入(7,8,9) | 不等边三角形 |
9 | 输入(12,12,13) | 等腰三角形 |
[必做题2] 模仿附录2给出的三角形判断Junit测试代码,设计单元测试脚本,测试 [必做题1]设计得到的测试用例。注意测试脚本中测试用例出现顺序与[必做题1]表格所列顺序一致。
1 import static org.junit.Assert.*; 2 3 import org.junit.Test; 4 5 public class TestTriangle{ 6 7 @Test 8 public void testIsTriangle1(){ 9 Triangle t = new Triangle(-1,10,2); 10 assertFalse(t.isTriangle(t)); 11 } 12 13 @Test 14 public void testIsTriangle2(){ 15 // according to the mutant, this test case should fail 16 Triangle t = new Triangle(3,2,1); 17 assertFalse(t.isTriangle(t)); 18 } 19 20 @Test 21 public void testIsTriangle3(){ 22 Triangle t = new Triangle(3,1,2); 23 assertFalse(t.isTriangle(t)); 24 } 25 26 @Test 27 public void testIsTriangle4(){ 28 Triangle t = new Triangle(3,3,3); 29 assertEquals(t.getType(t),"Regular"); 30 } 31 32 @Test 33 public void testIsTriangle5(){ 34 35 Triangle t = new Triangle(3,2,4); 36 assertEquals(t.getType(t),"Scalene"); 37 } 38 39 @Test 40 public void testIsTriangle6(){ 41 Triangle t = new Triangle(3,2,2); 42 assertEquals(t.getType(t),"Isoceles"); 43 } 44 45 @Test 46 public void testIsTriangle7(){ 47 Triangle t = new Triangle(10,10,10); 48 assertEquals(t.getType(t),"Regular"); 49 } 50 51 @Test 52 public void testIsTriangle8(){ 53 Triangle t = new Triangle(7,8,9); 54 assertEquals(t.getType(t),"Scalene"); 55 } 56 57 @Test 58 public void testIsTriangle9(){ 59 Triangle t = new Triangle(12,12,13); 60 assertEquals(t.getType(t),"Isoceles"); 61 } 62 } 63 64
测试结果成功
[必做题3] 心得体会。写下本次练习你收获的知识点
1.使用JUnit框架进行单元测试的方法
(1)在MyEclipse中新建一个Java项目
(2)右击项目、在弹出的“添加库”对话框中选择JUnit选项
(3)完成程序后,进行run操作
2.判断三角形形状的具体算法和测试数据的过程