软件工程---第二次个人作业

一、选择开发工具。

我选择的开发工具是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). 打钩:表示通过测试方法,测试结果完全正确。

五、总结

1. 由于以前安装过Eclipse,所以省了一道工序。

2. 以前没有接触过单元测试,所以在整个过程中,时不时的在某一步就出错,然后就得从头做,但是熟练度有提高。

3. 按照博客当中的步骤做完,觉得自己又get到一项新技能。

posted @ 2018-03-20 21:37  火锅妹  阅读(288)  评论(0编辑  收藏  举报