软件测试lab1: 利用Junit, Hamcrest及Eclemma进行软件测试
2016-03-18 11:04
190 查看
Homework Task
Install Junit(4.12), Hamcrest(1.3) with EclipseInstall Eclemma with Eclipse
Write a java program for the triangle problem and test the program with Junit.
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.
1. Task 1
右击project,点击properties,在弹出的面板中选择Java Build Path选择Libraries, 点击Add External JARs, 找到Junit-4.12.jar 及hamcrest-all-1.3.jar包的路径,选择这两个jar包后选择OK即可
2. Task 2
对于Eclipse3.6+的版本,最简洁的方法是用Eclipse Marketplace Client,具体方法如下:1. 在Eclipse中选择Help → \rightarrow Eclipse Marketplace
2. 搜索 “EclEmma”
3. 在”EclEmma Java Code Coverage” 中选择安装即可
4. 之后顺着Installation Wizard的要求即可
其它安装方法详见官网:
http://eclemma.org/installation.html
Task3
创建一个Triangle类,用于判断输入的三角形的种类public class Triangle { public int triangle(int a, int b, int c){ // return parameters: // 0 stands for non-triangle // 1 stands for equilateral // 2 stands for isosceles // 3 stands for scalene if(isTriangle(a, b, c)){ if(a == b && b == c){ return 1; }else if(a == b || b == c || a == c){ return 2; }else{ return 3; } }else{ return 0; } } private boolean isTriangle(int a, int b, int c){ if(a + b > c && a + c > b && b + c > a){ return true; }else{ return false; } } }
Triangle类中有两个函数,其中一个辅助函数用于判断输入的三边是否可构成一三角形
2. 编写测试类TestTriangle及测试用例
import org.junit.Test; import static org.junit.Assert.*; public class TestTriangle { private Triangle tri; @Test public void test(){ tri = new Triangle(); assertEquals(0, tri.triangle(1, 2, 3)); assertEquals(1, tri.triangle(2, 2, 2)); assertEquals(2, tri.triangle(2, 2, 3)); assertEquals(3, tri.triangle(2, 3, 4)); } }
3.点击运行按钮及coverage launcher
, 运行结果如下:
相关文章推荐
- 修改mysql的密码
- 为什么我不推荐敏捷开发?
- 可可的OO:引子
- java零基础学习第二天
- linux命令 SCP
- 大数据框架hadoop的文件系统(HDFS)命令大全
- CSS 盒子模型(Box model)中的 padding 与 margin
- lintcode:最小差
- 科研路上的拦路虎英文翻译
- 一次沟通不佳造成的深刻教训
- WPF和Winform
- H264和MPEG4编码哪一种画质更好,文件大小有区别吗?
- Python计算机视觉编程练习15:pyspider爬虫--json语法篇
- Ubuntu查看R软件的安装位置
- 三大UML建模工具Visio、Rational Rose、PowerDesign的区别
- C++多线程编程
- 如何基于Spark进行用户画像
- loadRunner testing progress (roadRunner 学习一)
- extjs的初学实例
- 如何优雅地制作精排 ePub —— 个人电子书制作规范及基本样式表