软件测试实验1

集美大学软件测试课程实验报告

课程名称:软件测试 指导教师:曾华朴

班级:软件1371

实验成绩:

姓名:张荣鹏 罗艺达 郑英才 周文彬 林佳东

实验项目名称:单元测试Junit 学号:[1**********]1 上机实践日期:2014.10.11

一、 实验项目

简易计算器单元测试Junit 二、 实验目的

掌握面向对象的设计及相应单元测试工具的应用

三、 实验要求

独立完成简易计算器设计,完成单元测试,编写测试报告

四、 实验内容

用java 语言编写一个计算器类,求实现加、减、乘、除、求平方根、求绝对值、

求倒数1/x,方法,并用junit 进行对象类的单元测试。参阅帮助文档。(说明,设计求除法、求倒数的方法,可在方法中不检测x 是否为0, 测试用例用y/0去测试、求平方根可不检测x>0,用负数测试)

(1)DOS 环境下,必须首先下载并安装JUnit 。JUnit 的最新版本可以在JUnit 的网站 www.junit.org免费下载。该软件包很小(约400KB ),但其中包括了源代码和文档。要安装此程序,应首先对该软件包进行解压缩(junitxxx.zip )。它将创建一个目录(junitxxx ),在此目录下有文档(在doc 目录中)、框架的应用编程接口(API )文档(在javadoc 目录中)、运行程序的库文件(junit.jar )以及示例测试实例(在junit 目录中),如果在Windows ,输入以下命令行 set CLASSPATH=.;junit.jar javac *.java

这些命令行对CLASSPATH 进行设置,使其包含当前目录中的类和junit.jar 库,并编译Java 源文件。 要在终端上运行该测试,输入以下命令行: java junit.textui.TestRunner IsoDateTest 此命令行将运行该测试,并在控制台上显示测试结果。

JUnit 还提供了利用AWT (抽象窗口工具包)或Swing 运行测试的图形界面。为了利用此图形界面运行测试,在终端上输入以下命令行:

java junit.awtui.TestRunner IsoDateTest

或者使用Swing 界面: java junit.swingui.TestRunner IsoDateTest

(2)NETBEAN/MyEclipse集成环境下,对简易计算器程序执行单元测试 附件:Junit 相关参考资料,注意junit3和4有一定差别,

五、 实验步骤 1. 使用swing 界面

2. 使用awt 界面

3. 直接命令编译

二、

首先新建一个项目叫JUnit_Test,我们编写一个Calculator 类,这是一个能够简单实现加减乘除、平方、开方的计算器类,然后对这些功能进行单元测试。

建立一个cn.jmu 包:

建立一个Calculator 类:

把代码输进类中:

package cn.jmu;

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) {

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); }

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

public void reciprocal(int n) {

} }

public int getResult() { return result ; }

result =Math.abs (n); result =1/n;

public void absolute(int n) {

第二步,将JUnit4单元测试包引入这个项目:在该项目上点右键,点“属性”,在弹出的属性窗口中,首先在左边选择“Java Build Path”,然后到右上选择“Libraries ”标签,之后在最右边点击“Add Library„”按钮,如下图所示:

然后在新弹出的对话框中选择JUnit4并点击确定,如上图所示,JUnit4软件包就被包含进我们这个项目了。

第三步,生成JUnit 测试框架:在Eclipse 的Package Explorer中用右键点击该类弹出菜单,在弹出的对话框中,进行相应的选择加、减、乘、除,之后系统会自动生成一个新类CalculatorTest ,里面包含一些空的测试用例。只需要将这些测试用例稍作修改即可使用。完整的CalculatorTest 代码如下:

package cn.jmu;

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 CalculatorTest {

private static Calculator calculator = new Calculator();

} @Test public void testSubstract() { calculator.add(8); calculator.substract(2); assertEquals(6, calculator.getResult()); } @Test public void testAdd() { calculator.add(3); calculator.add(4); assertEquals(7, calculator.getResult()); @After public void tearDown() throws Exception { } @Before public void setUp() throws Exception { } calculator.clear(); @AfterClass public static void tearDownAfterClass() throws Exception { } @BeforeClass public static void setUpBeforeClass() throws Exception { }

} @Test public void testMultiply() { } @Test public void testDivide() { } @Test public void testSquare() { } @Test public void testSquareRoot() { } @Test public void testReciprocal() { } @Test public void testAbsolute() { } calculator.absolute(-7); assertEquals(7, calculator.getResult()); calculator.reciprocal(5); assertEquals(0,calculator.getResult()); calculator.squareRoot(100); assertEquals(10,calculator.getResult()); calculator.square(-2); assertEquals(4,calculator.getResult()); calculator.add(6); calculator.divide(3); assertEquals(2, calculator.getResult()); calculator.add(4); calculator.multiply(5); assertEquals(20, calculator.getResult());

运行结果如下:

将除法进行修改:

将减法的bug 进行修改 public void substract(int n) {

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

集美大学软件测试课程实验报告

课程名称:软件测试 指导教师:曾华朴

班级:软件1371

实验成绩:

姓名:张荣鹏 罗艺达 郑英才 周文彬 林佳东

实验项目名称:单元测试Junit 学号:[1**********]1 上机实践日期:2014.10.11

一、 实验项目

简易计算器单元测试Junit 二、 实验目的

掌握面向对象的设计及相应单元测试工具的应用

三、 实验要求

独立完成简易计算器设计,完成单元测试,编写测试报告

四、 实验内容

用java 语言编写一个计算器类,求实现加、减、乘、除、求平方根、求绝对值、

求倒数1/x,方法,并用junit 进行对象类的单元测试。参阅帮助文档。(说明,设计求除法、求倒数的方法,可在方法中不检测x 是否为0, 测试用例用y/0去测试、求平方根可不检测x>0,用负数测试)

(1)DOS 环境下,必须首先下载并安装JUnit 。JUnit 的最新版本可以在JUnit 的网站 www.junit.org免费下载。该软件包很小(约400KB ),但其中包括了源代码和文档。要安装此程序,应首先对该软件包进行解压缩(junitxxx.zip )。它将创建一个目录(junitxxx ),在此目录下有文档(在doc 目录中)、框架的应用编程接口(API )文档(在javadoc 目录中)、运行程序的库文件(junit.jar )以及示例测试实例(在junit 目录中),如果在Windows ,输入以下命令行 set CLASSPATH=.;junit.jar javac *.java

这些命令行对CLASSPATH 进行设置,使其包含当前目录中的类和junit.jar 库,并编译Java 源文件。 要在终端上运行该测试,输入以下命令行: java junit.textui.TestRunner IsoDateTest 此命令行将运行该测试,并在控制台上显示测试结果。

JUnit 还提供了利用AWT (抽象窗口工具包)或Swing 运行测试的图形界面。为了利用此图形界面运行测试,在终端上输入以下命令行:

java junit.awtui.TestRunner IsoDateTest

或者使用Swing 界面: java junit.swingui.TestRunner IsoDateTest

(2)NETBEAN/MyEclipse集成环境下,对简易计算器程序执行单元测试 附件:Junit 相关参考资料,注意junit3和4有一定差别,

五、 实验步骤 1. 使用swing 界面

2. 使用awt 界面

3. 直接命令编译

二、

首先新建一个项目叫JUnit_Test,我们编写一个Calculator 类,这是一个能够简单实现加减乘除、平方、开方的计算器类,然后对这些功能进行单元测试。

建立一个cn.jmu 包:

建立一个Calculator 类:

把代码输进类中:

package cn.jmu;

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) {

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); }

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

public void reciprocal(int n) {

} }

public int getResult() { return result ; }

result =Math.abs (n); result =1/n;

public void absolute(int n) {

第二步,将JUnit4单元测试包引入这个项目:在该项目上点右键,点“属性”,在弹出的属性窗口中,首先在左边选择“Java Build Path”,然后到右上选择“Libraries ”标签,之后在最右边点击“Add Library„”按钮,如下图所示:

然后在新弹出的对话框中选择JUnit4并点击确定,如上图所示,JUnit4软件包就被包含进我们这个项目了。

第三步,生成JUnit 测试框架:在Eclipse 的Package Explorer中用右键点击该类弹出菜单,在弹出的对话框中,进行相应的选择加、减、乘、除,之后系统会自动生成一个新类CalculatorTest ,里面包含一些空的测试用例。只需要将这些测试用例稍作修改即可使用。完整的CalculatorTest 代码如下:

package cn.jmu;

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 CalculatorTest {

private static Calculator calculator = new Calculator();

} @Test public void testSubstract() { calculator.add(8); calculator.substract(2); assertEquals(6, calculator.getResult()); } @Test public void testAdd() { calculator.add(3); calculator.add(4); assertEquals(7, calculator.getResult()); @After public void tearDown() throws Exception { } @Before public void setUp() throws Exception { } calculator.clear(); @AfterClass public static void tearDownAfterClass() throws Exception { } @BeforeClass public static void setUpBeforeClass() throws Exception { }

} @Test public void testMultiply() { } @Test public void testDivide() { } @Test public void testSquare() { } @Test public void testSquareRoot() { } @Test public void testReciprocal() { } @Test public void testAbsolute() { } calculator.absolute(-7); assertEquals(7, calculator.getResult()); calculator.reciprocal(5); assertEquals(0,calculator.getResult()); calculator.squareRoot(100); assertEquals(10,calculator.getResult()); calculator.square(-2); assertEquals(4,calculator.getResult()); calculator.add(6); calculator.divide(3); assertEquals(2, calculator.getResult()); calculator.add(4); calculator.multiply(5); assertEquals(20, calculator.getResult());

运行结果如下:

将除法进行修改:

将减法的bug 进行修改 public void substract(int n) {

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


相关内容

  • 大学网络实验室方案论证报告
  • 网络实验室测试实验方案论证报告 目 录 前 言 .................................................................. 1 一.计算机网络教育现状 ............................................. ...

  • 2010年泰州市中考理化生实验操作
  • 关于印发2010年泰州市中考理化生实验技能考查方案和 考务工作细则的通知 各市(区)教育局.泰州经济开发区社会事业局,市直有关学校: 现将<2010年泰州市中考理化生实验技能考查方案>和<2010年泰州市中考理化生实验技能考查考务工作细则>印发给你们(可到泰州教育网" ...

  • 继电保护实验指导书
  • 继电保护实验指导书 南华大学电气工程学院 第一章 实验须知 1.1 实验目的 实验是教学过程的一个重要环节,必须认真搞好.实验的目的是: 1) 配合理论教学,验证继电保护方面的理论知识,提高课程教学质量. 2) 培养学生实践能力,并培养其分析处理实验数据和编写实验报告的能力. 3) 培养学生创新.设 ...

  • 太原理工大学软件测试方法和技术实验报告
  • 本科实验报告 课程名称: 软件测试技术 实验项目:软件测试技术实验 实验地点:专业班级:12xx学号:201200xxxx 学生姓名:指导教师:宋晓涛 2014年12月13日 实验名称实验地点 逸夫楼202 实验一白盒测试方法 实验时间 14.12.13 一.实验目的和要求 (1)熟练掌握白盒测试方 ...

  • 液压传动实验
  • 实验指导书 实验一 液压泵性能测试实验 一.实验目的: 1. 了解液压泵主要特性(功率特性.效率特性)和测试装置: 2 掌握液压泵主要特性测试原理和测试方法 二.测试装置及实验原理 1 测试装置液压原理图 1.定量泵驱动电机,2. 定量叶片泵,3. 定量叶片泵安全阀,4. 节流阀,5. 压力传感器, ...

  • 课题:中学理科实验考试评价研究
  • 课题:中学理科实验考试评价研究 项目: (一).项目研究的意义(学术价值和实践意义) (二).国内外研究现状(包括已有的主要著作.论文.研究报告及对各种代表性观点的评述) (三).总体框架和基本内容,拟突破的重点和难点问题及主要创新之处. (四).研究方法,技术路线和调研计划. (五).项目组的前期 ...

  • 软件工程实验教学大纲
  • 软件工程实验教学大纲 前 言 软件工程实验是为计算机相关专业本科<软件工程>课程配套设置的,是<软件工程>课程讲授中一个重要的.不可或缺的实践环节.其目的是使学生能够针对具体软件工程项目,全面掌握软件工程管理.软件需求分析.软件初步设计.软件详细设计.软件测试等阶段的方法和技 ...

  • 实验报告实验心得
  • 实验心得体会 在做测试技术的实验前,我以为不会难做,就像以前做物理实验一样,做完实验,然后两下 子就将实验报告做完.直到做完测试实验时,我才知道其实并不容易做,但学到的知识与难度 成正比,使我受益匪浅. 在做实验前,一定要将课本上的知识吃透,因为这是做实验的基础,否则,在老师讲解时就 会听不懂,这将 ...

  • 微机保护实验报告
  • 实验七 一.实验目的 微机线路相间方向距离保护实验 1.掌握微机相间方向距离保护特性的检验方法. 2.掌握微机相间方向距离保护一.二.三段定值的检验方法. 3.掌握微机保护综合测试仪的使用方法. 4.熟悉微机型相间方向距离保护的构成方法. 二.实验项目 1.微机相间方向距离保护特性实验 2.微机相间 ...

  • 软件工程实验实验内容及格式
  • <软件工程>实验内容及格式 A .实验报告格式 实验名称:实验序号 实验名称 例如:实验二 用Visio 设计程序流程图.系统流程图和软件结构图 一.实验目的 二.实验类型:(基本型.应用型.综合型) 三.实验步骤 简述实验成功(或失败)的过程,对于较为复杂的或带有综合性的实验需要写实验 ...