软件测试基础教程(中南林业科技大学涉外学院) - 图文 联系客服

发布时间 : 星期六 文章软件测试基础教程(中南林业科技大学涉外学院) - 图文更新完毕开始阅读

return new

junit.framework.JUnit4TestAdapter(AllTests.class); }

}

其中最重要的是suite方法,该方法通过junit.framework.JUnit4TestAdapter类使基于JUnit 4环境创建的AllTests类能够运行于JUnit 3命令行环境下。

四.实验小结 一、实体类

一般先新建一个对象,初始化构造方法对应参数对象各一个。 1、构造方法测试

测试构造之后对应参数的正确性,测试getter/setter的准确性。进行失败测试,测试构造函数、getter/setter方法异常的抛出情况 注意:1)准确性测试要考虑全面

2)失败测试一般包括传递null,empty参数,不合法参数,侦测异常的抛出

3 )如果有继承关系,使用反射来测试是否继承成功 二、帮助类

测试帮助类中的方法是否能返回预期的结果

三、关键的功能类(一般项目中最复杂的算法要在这个类中实现)

1、首先是必不可少的初始化功能类的对象,对构造方法进行准确性,失败的测试。方法同上

2、对复杂函数的测试:关键在于测试数据的选择,要让每一个分支都能跑到。一般包括准确性测试和侦测异常的失败测试

3、有时候使用mock object等比较复杂的测试方式,暂不涉及

实验名称:Junit单元测试实验报告

实验内容:利用Junit对实验程序Point2d.java进行单元测试

实验目的:掌握单元测试的方法,掌握在Eclipse里进行Junit测试的技术。

实验步骤和结果:

1、修改之前的Calculator的测试结果: (1)自动生成的CalculatorTest类 代码: package andycpp;

public class Calculator {

private static int result; // 静态变量,用于存储运行结果 public void add(int n) { result = result + n; }

public void substract(int n) {

result = result - 1; //Bug: 正确的应该是 result =result-n }

public void multiply(int n) { } // 此方法尚未写好 public void divide(int n) { result = result / n; }

public void square(int n) { result = n * n; }

public void squareRoot(int n) {

for (; ;) ; //Bug : 死循环 }

public void clear() { // 将结果清零 result = 0; }

public int getResult() { return result; } }

(2)运行结果:

自动生存的测试类

完善测试类后的运行结果

2、修改和完善Calculator类:

package andycpp;

public class Calculator {

private static int result; // 静态变量,用于存储运行结果 public void add(int n) { result = result + n; }

public void substract(int n) {

result = result - n; //Bug: 正确的应该是 result =result-n }

public void multiply(int n) { result =result*n; }

public void divide(int n) { result = result / n; }

public void square(int n) { result = n * n; }

public void squareRoot(int n) {

result=(int)Math.sqrt(n); //Bug : 死循环 }

public void clear() { // 将结果清零 result = 0; }

public int getResult() { return result; } }

3、修改后的Calculator的测试用例: (1)加法:操作数:2,、3;结果:5 (2)减法:操作数:10、2;结果:8 (3)乘法:操作数:10、2;结果:20 (4)除法:操作数:8、2;结果:4 (5)平方:操作数:3;结果:9 (6)开方:操作数:4;结果:2

代码:

package andycpp;

import static org.junit.Assert.*; import org.junit.Before;