软件测试实验一

一、安装Junit/harcrest/eclemma

选择使用eclipse作为实验工具,在eclipse上安装这三种jar;

Junit和harcrest安装前,先到相对应的官方网站下载所需要的版本,这里下载的是Junit(4.12)和Hamcrest(all.1.3)版本,下载完成后,在eclipse中新建名为Junit2017的项目,在项目下新建lib文件夹,将这两个jar粘贴到lib文件夹下,并在右击jar点击Build Path,至此,安装完成;

Eclemma的安装相对轻松,点开Help菜单,选择Eclipse Marketplace,搜索eclemma,点击安装即可。

由于安装完Eclemma之后,在下方的菜单栏可能不会出现Coverage栏目,则需要在Window菜单中的Show View中选择出来,有时还需要在Other中的java文件夹下选择。

二、实验步骤

1. 编写源程序

本实验的目的是编写Triangle函数,并判断是等边、等腰还是无规则三角形,利用三角形三边的性质,容易书写源程序。主要代码如下:

public String Equilateral(int a, int b, int c){

String str = "NotEquilateral";

if( a==b && a!=0){

if(b==c){

str="Equilateral";

}

}

return str;

}

 

public String Isosceles(int a, int b, int c){

String str = "NotIsosceles";

int temp = a-b;

int differ = Math.abs(temp);

//System.out.println("differ");

if(a+b>c && differ<c && a!=0 && b!=0 && c!=0){

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

str = "Isosceles";

}

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

str = "Isosceles";

}

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

str = "Isosceles";

}

}

return str;

}

 

public String Scalene(int a, int b, int c){

String str = "NotScalene";

int temp = a-b;

int differ = Math.abs(temp);

if(a+b>c && differ<c && a!=0 && b!=0 && c!=0){

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

str = "Scalene";

}

}

return str;

}

2. 编写测试程序

书写完源程序之后,右击源程序文件,新建一个Junit Test Case文件,并将此文件放在另一建好的目录下,修改相应代码段,完成测试,并生成Coverage图。主代码如下:

public Triangle tri;

 

@Test

public void testEquilateral() {

// fail("Not yet implemented");

tri = new Triangle();

assertEquals("Equilateral",tri.Equilateral(2, 2, 2));

assertEquals("Equilateral",tri.Equilateral(3, 3, 3));

assertEquals("Equilateral",tri.Equilateral(4, 4, 4));

}

 

@Test

public void testIsosceles() {

//fail("Not yet implemented");

tri = new Triangle();

assertEquals("Isosceles",tri.Isosceles(2, 3, 2));

}

 

@Test

public void testScalene() {

// fail("Not yet implemented");

tri = new Triangle();

assertEquals("Scalene",tri.Scalene(3, 4, 5));

}

 

三、实验结果

 

 

 

四、问题及反思

在测试的结果中发现,当有测试出现错误时,左侧的Junit一栏下,将显示红色,并标识出错误的原因;当完全正确时,则显示绿色;

Coverage一栏下,如果发生错误覆盖率就会降低,如果测试全部正确时,会随着测试数量的增多,覆盖率上升。

posted @ 2017-03-12 22:16  wyp_run  阅读(209)  评论(0编辑  收藏  举报