首页 > 代码库 > 软件测试-实验1

软件测试-实验1

Junit,hamcrest,eclemma单元测试基础(java)

1)安装junit, hamcrest 和 eclemma

  1.1      安装juint,hamcrest

  这两个的安装我使用了同一种方法,即导入jar包,在“项目”->“属性”当中选择java构建路径,导入外部提前下好的jar包,这里我导入的是junit(4.12)和hamcrest-all-1.3。导入后就可以生成测试实例和进行测试了。

  技术分享

技术分享  

1.2      安装eclemma

  安装eclemma我使用的是利用eclipse添加程序的方法。

技术分享

技术分享

技术分享 

2)编写程序并测试

       2.1  编写程序

程序如下,可以用来对三角形是否为等边等腰或者斜角进行判断,并在这之前判断是否为三角形。

package LabWork1;

public class triangle{

public int a,b,c;//输入参数

 

public int result;//存储结果

 

public int judge(int a,int b,int c){

if( ( a + b <= c || a + c <= b || b + c <= a ) || ( a <= 0 || b <= 0 || c <= 0 ) ){

result = -1;
}

else if(a == b&&b ==c){

result = 1;

}

else if(a == b||b == c||c ==a){

result = 2;

}

else

{

result = 3;

}

return result;

}

}

       2.2  生成测试用例

              首先创建一个有重名包的另一个源文件夹

技术分享

 

 

              然后在triangle.java右键新建Junit测试用例:

 

 技术分享

选择在刚才新建的包里创建,这时程序会帮我们在那个包里生成一个名为triangleTest的测试用例,经过部分修改得到测试用例:

package LabWork1;


import static org.junit.Assert.*;

import org.junit.Before;
import org.junit.Test;

public class triangleTestTest {

triangle Tri;

int result;

@Before

public void setUp() throws Exception {

Tri = new triangle();

}

@Test

public void testnottriangle(){

assertEquals(-1,Tri.judge(1, 1, 2));
assertEquals(-1,Tri.judge(0, 1, 2));
assertEquals(-1,Tri.judge(1, -1, 2));

}


@Test

public void testequilateral(){

result = Tri.judge(2, 2, 2);

assertEquals(1,result);

}

 

@Test

public void testisosceles(){

result = Tri.judge(2, 2, 3);

assertEquals(2,result);

}

 

@Test

public void testscalene(){

result = Tri.judge(3, 2, 4);

assertEquals(3,result);

}

}

然后在该测试用例右键,运行方式,以Junit测试用例运行。得到运行结果:

 技术分享

 

这里还没有使用eclemma进行覆盖测试,我们点击eclemma的图标,并选择triangleTest,然后得到覆盖结果:

 

 技术分享

 

 

技术分享

 

 

测试用例被全部覆盖详细信息出现在下方。

技术分享

 

至此单元测试完毕。

3)实验不足

       测试用例中只是用了assertEqual()这一个功能,这个功能本身Junit内部好像已经集成了,并没有用到hamcrest其他的一些匹配器。

软件测试-实验1