软件工程---第二次个人作业
一、选择开发工具。
我选择的开发工具是Eclipse,以前已经下载安装过,过程不再重复。
以前安装的过程中遇到的问题如下:
1. 从官网下载了Eclipse还不能运行,还需要到官网下载与系统相匹配的JDK,注意选择JDK的版本。
2. 接下来需要配置环境变量:将JDK安装路径下的bin文件路径拷贝粘贴到path变量的前面,注意:用英文分号与后面的隔开。
3. 检测JDK配置:找出cmd,输入java -version,出现下图就说明配置正确。
二、开发工具打开和运行。
1. 选择:
2. 打开:
3. 运行:
三、练习自动单元测试。
1. 理论知识---单元测试覆盖标准。
- 语句覆盖:选择合适用例,所有语句被执行一次。
- 判定覆盖:每个判定至少取一次真、一次假。
- 条件覆盖:每个条件的各种可能结果至少满足一次。
- 判定条件覆盖:同时满足判断覆盖和条件覆盖。
- 条件组合覆盖:所有组合情况都要覆盖一次。
2. 开始单元测试。
a. 编写需要被测试的java类。
package JUnit4Demo;
public class Calculate {
public int add(int a, int b) {
return a + b;
}
public int substract(int a, int b) {
return a - b;
}
public int multiply(int a, int b) {
return a * b;
}
public int divide(int a, int b) {
return a / b;
}
}
b. 导入JUnit(三步,选JUnit4)。
-
第一步:
-
第二步:
-
第三步:
c.编写测试类:用来测试Calculate类中的divide()方法 。
d. 运行测试类。
e. 测试结果分析。
3. 分析:
(1). Runs:总共有1个测试方法,已经运行了1个;
(2). Errors:抛出异常的测试方法的个数是0;
(3). Failures:表示失败的测试方法的个数是0;
(4). 打钩:表示通过测试方法。
四、完善JUnit。
1. 前述Demo的结构:
2. 规范JUnit:在src下新建Source Floder取名为test。
3. 然后将之前的CalculateTest类连同包一起移动到test文件夹下,新的Demo结构如下:
这样看起来就比较规范了。
4. 自动添加测试方法。
(1) 右键Calculate---new---other
(2) 选择JUnit Test Case
(3) 修改位置和名字
(4) 选择要测试的方法(这里四个都选了)
(5) 产生自动生成的相应的测试方法(没具体实现)
(6) 编写正确的代码
public class CalculateAutoTest {
@Test
public void testAdd() {
assertEquals(100,new Calculate().add(50,50));
}
@Test
public void testSubstract() {
assertEquals(50,new Calculate().substract(100,50));
}
@Test
public void testMultiply() {
assertEquals(100,new Calculate().multiply(10,10));
}
@Test
public void testDivide() {
assertEquals(100,new Calculate().divide(200,2));
}
}
(7) 右键CalculateAuto Test.java---Run as---2 JUnit Test进行测试,测试结果如下:
5. 分析:
(1). Runs:总共有4个测试方法,已经运行了4个;
(2). Errors:抛出异常的测试方法的个数是0;
(3). Failures:表示失败的测试方法的个数是0;
(4). 打钩:表示通过测试方法,测试结果完全正确。