软件测试Lab1
本次博客主要介绍软件测试课第一次上机实验的内容
主要内容是
1.安装 Junit , Hamcrest
2.安装Eclemma
3.写一个判断三角形类型的代码,并利用junit进行测试和Eclemma进行覆盖测试。
实验过程:
0.开启Eclipse , 新建Java Project
1. 安装Junit , Hamcrest
下载
junit-4.12.jar 和 hamcrest-all-1.3.jar
导入jar包
右键工程->Build path->Configure Build Path
选Libraries之后Add External JARs… 选择junit-4.12.jar 和 hamcrest-all-1.3.jar两个包之后如上图箭头,OK即可
2.安装Eclemma
在线安装,Help-> Eclipse Marketplace
在Find里输入eclemma
安装即可。
3.写一个判断三角形类型的代码,并利用junit进行测试和Eclemma进行覆盖测试。
在src中建一个包stlab1,建立Tri.java类用来测试三角型类型
Tri.java
package stlab1; public class Tri { public static String isTri(double a,double b,double c) { if (b >= a && b >= c) { double temp = b; b = a; a = temp; } if (c >= a && c >= b) { double temp = c; c = a; a = temp; } if (b + c <= a) return "不是三角形"; if (a == b && b == c) return "等边三角形"; if (a == b || b == c || a == c) { return "等腰三角形"; } if (a * a == b * b + c * c) return "直角三角形"; return "一般三角形"; } }
之后建立test文件夹
建立一个同名的包,建立测试类TriTest.java
TriTest.java
package stlab1; import static org.junit.Assert.*; import org.junit.After; import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; public class TriTest { @BeforeClass public static void setUpBeforeClass() throws Exception { } @AfterClass public static void tearDownAfterClass() throws Exception { } @Before public void setUp() throws Exception { } @After public void tearDown() throws Exception { } @Test public void test() { Tri tri = new Tri(); assertEquals("等边三角形",tri.isTri(1, 1, 1)); assertEquals("不是三角形",tri.isTri(0, 1, 2)); assertEquals("直角三角形",tri.isTri(3, 4, 5)); assertEquals("等腰三角形",tri.isTri(3, 3, 5)); assertEquals("一般三角形",tri.isTri(4, 6, 7)); } }
详细工程文件见附1
这里尽量多设计几组测试样例尽量覆盖全部的代码
测试并运行
Run as->JUnit test
这里可以看到所有侧测试样例都通过,全绿则accept
然后是测试覆盖
点击这个按钮
之后会发现代码里面有红绿黄三色,完全覆盖为绿色,不完全覆盖为黄色(比如分支语句只走了一条支路),未覆盖为红色
可以看到这里基本覆盖全面。
至此完成本次实验的内容
附录1:Github Link:https://github.com/FomalhautYWT/SoftwareTest