JUnit and Eclemma——软件测试基础实验报告

实验要求:

  1. Install Junit(4.12), Hamcrest(1.3) with Eclipse
  2. Install Eclemma with Eclipse
  3. Write a java program for the triangle problem and test the program with Junit.

a)       Description of triangle problem:

Function triangle takes three integers a,b,c which are length of triangle sides; calculates whether the triangle is equilateral, isosceles, or scalene.

实验过程:

安装Junit、Eclemma需要Java的IDE环境,本机已经安装过Eclipse,版本为Java EE 4.5.0。

安装Junit、Hamcrest:

1.下载了三个.jar文件,hamcrest-core-1.3rc2.jar、hamcrest-library-1.3.rc2.jar以及junit-4.12.jar。

2.在Eclipse中新建Java工程,并将三个.jar引入工程中。

安装Eclemma:

使用Eclipse Marketplace,寻找Eclemma并直接下载安装。

使用Junit及Eclemma:

首先编写解决三角问题的代码,如下:

public class JudgeTriangle {
    static public String EQUILATERAL = "equilateral",ISOSCELES = "isosceles",SCALENE = "scalene",ERROR = "error";

    public String judgeTriangle(float a,float b,float c){
        if(a <= 0 || b <= 0 || c <= 0 || a + b <= c || a + c <= b || b + c <= a){
            return ERROR;
        }
        boolean[] judge = {a==b,b==c,c==a};
        int count = 0;
        for(int i = 0;i < judge.length;++i){
            if(judge[i])++count;
        }
        switch(count){
        case 3:return EQUILATERAL;//equilateral,0
        case 1:return ISOSCELES;//isosceles,1
        case 0:return SCALENE;//scalene,2
            default:return ERROR;//error,-1
        }
    }
}

之后创建Junit Test Case,选择要测试的类以及类中要进行测试的函数,填入test case的类名,创建。

编写测试用例,这里测试了五组数据,测试函数如下:

    @Test
    public void testTest() {
        System.out.println("@Test");
        JudgeTriangle jt = new JudgeTriangle();
        assertEquals(JudgeTriangle.EQUILATERAL,jt.judgeTriangle(3,3,3));
        assertEquals(JudgeTriangle.ISOSCELES,jt.judgeTriangle(2,2,3));
        assertEquals(JudgeTriangle.SCALENE,jt.judgeTriangle(2,3,4));
        assertEquals(JudgeTriangle.ERROR,jt.judgeTriangle(0,1,2));
        assertEquals(JudgeTriangle.ERROR,jt.judgeTriangle(0,0,0));
    }  

选择Run As -> Junit Test,结果如下图。绿色是完全通过测试的,黄色是部分通过测试而未完全通过,想必是没有完全覆盖分支,红色是完全没测试过的语句。

 

用例表:


 


输入


期望输出


实际输出


1


3,3,3


"equilateral"


"equilateral"


2


2,2,3


"isosceles"


"isosceles"


3


2,3,4


scalene"


scalene"


4


0,1,2


"error"


"error"


5


0,0,0


"error"


"error"

时间: 2024-10-10 23:12:53

JUnit and Eclemma——软件测试基础实验报告的相关文章

软件测试lab1实验报告

一.junit,hamcrest,Eclemma的安装及使用 1.下载junit-4.12.jar和hamcrest-all-1.3.jar的两个jar包以及eclemma-2.3.3的zip压缩包,如下图 2.先安装junit-4.12和hamcrest-all-1.3.jar到eclipse 在eclipse中新建此次实验项目jtriangle,右键->Build Path->configure Build Path.在Libraries中,通过Add External JARS,添加ju

软件测试上机实验报告

Tasks: Install Junit(4.12), Hamcrest(1.3) with Eclipse Install Eclemma with Eclipse Write a java program for the triangle problem and test the program with Junit. 实验过程: 1. 从办公网上下载junit-4.12.jar和hamcrest-all-1.3.jar包,并通过build path导入. 2. 下载Eclemma并安装,H

LINUX基础实验报告

实验一:主要是介绍Linux系统概况,无运行代码. 实验二:Linux的基本操作 重要知识点 [Tab] 使用Tab键来进行命令补全,Tab键一般键盘是在字母Q旁边,这个技巧给你带来的最大的好处就是当你忘记某个命令的全称时你可以只输入它的开头的一部分然后按下Tab键就可以得到提示或者帮助完成,当然不止补全命令,补全目录,补全命令参数都是没问题的. Ctrl+c键 用来强行终止当前程序. 一些其他常用快捷键 按键 作用 Ctrl+d 键盘输入结束或退出终端 Ctrl+s 暂定当前程序,暂停后按下任

软件测试 Lab2 实验报告

一. 实验名称 Selenium上机实验 二. 实验目标 1.安装SeleniumIDE插件 2.学会使用SeleniumIDE录制脚本和导出脚本 3.访问http://www.ncfxy.com使用学号登录系统(账户名为学号,密码为学号后6位),进入系统后可以看到该用户的邮箱. 4.编写Selenium Java WebDriver程序,测试info.csv表格中的学号和邮箱的对应关系是否正确. 5.将测试代码提交到github上. 三.实验内容及步骤 1.打开Firefox浏览器, 在浏览器

Linux 基础入门(新版)”实验报告一~十二

实验报告 日期: 2015年9月15日 一.实验的目的与要求 熟练地使用 Linux,本实验介绍 Linux 基本操作,shell 环境下的常用命令. 二.主要内容 1.Linux 基础入门& 2.基本概念及操作 认真看过这篇linux系统简介文章,对于这样一个免费.高效的操作系统有了一个初步的认识.希望能在本学期对于linux操作系统有很好的认识和操作,使用. 同时,对于新认识的一些历史中开发和修复各个操作系统的前辈表示深深地敬佩. 2. 基本概念及操作 主要过程: (1)实验楼环境介绍 (2

《信息安全系统设计基础》第一次实验报告--Linux 基础入门

<信息安全系统设计基础>第一次实验报告--Linux 基础入门 北京电子科技学院(BESTI) 实     验    报     告 课程:信息安全设计基础 班级:1352  姓名:孙小博  学号:20135217 成绩:            指导教师:娄嘉鹏      实验日期:2015.9.20 实验密级: 无     预习程度:           实验时间:12小时 仪器组次:17     必修/选修:必修   实验序号:01 实验目的与要求: 1. 学会安装使用Linux操作系统

《软件测试基础》读书报告:第四章 输入空间划分

<软件测试基础>读书报告 第四章 输入空间划分 为了更直接地使相同测试需求的值集合是恰好合适,划分输入空间的方式直接的根据输入值的参数来定义输入域.输入参数可能是方法的参数和全局变量,也可能是系统当前的表现状态,或者干脆是用户级给定的一个输入,这都要根据实际情况来划分.总输入域中划分出若干个区域,从这些区域中选出一些值来进行测试. 从参数的域开始,把每个域可能的值划到块里,从块中选取适当的值来组成测试用例的过程就是输入域建模的过程.对于输入与的划分,一般是基于程序相应的某周特性,程序的输入,程

2017-2018-2 20165336 实验四《Android开发基础》实验报告

20165336 实验四 Android程序设计 一.实验报告封面 课程:Java程序设计 班级:1653班 姓名:康志强 学号:20165336 指导教师:娄嘉鹏 实验日期:2018年5月14日 实验时间:13:45 - 15:25 实验序号:实验四 实验名称:Android程序设计 二.实验要求 1.没有Linux基础的同学建议先学习<Linux基础入门(新版)><Vim编辑器> 课程 2.完成实验.撰写实验报告,实验报告以博客方式发表在博客园,注意实验报告重点是运行结果,遇到

2017-2018-2 20165236 实验四《Android开发基础》实验报告

一.实验报告封面 课程:Java程序设计       班级:1652班       姓名:郭金涛       学号:20165236 指导教师:娄嘉鹏                              实验日期:2018年5月14日 实验时间:15:35 - 17:15                    实验序号:四 实验名称:Android开发基础 二.实验内容 1.没有Linux基础的同学建议先学习<Linux基础入门(新版)><Vim编辑器> 课程: 2.完成实验