软件测试之实验一——如何使用JUnit,Hamcrest和Eclemma进行简单的软件测试

时间:2021-05-31 05:08:23

  一、安装JUnit,Hamcrest和Eclemma

  JUnit以及Harmcrest都以JAR包作为基础导入工程。安装jar包的过程很简单,只要在新建工程的时候导入或者直接在工程里导入即可。如下图所示:软件测试之实验一——如何使用JUnit,Hamcrest和Eclemma进行简单的软件测试

可以直接在项目中添加额外的jar包,也可以将jar包路径添加到classpath中。

Eclemma可以通过eclipse的market安装,搜索Eclemma,同意安装后重启即可。

  二、实验内容

   实验完整代码已上传至github:软件测试实验一@杨牧童

   实验程序为一简单的判断三角形类型的函数,输入参数为三个int型的数值,代表三角形的三条边。返回值为int型,0代表等边三角形,1代表等腰三角形,2代表不等边三角形,3为默认值,即代码未进入判断,程序可能会发生错误。

  利用JUnit进行简单的测试,可利用eclipse的快捷方式,右键项目->New->JUnit Test Case;对上述的函数进行测试,设置before和after动作,使用Runwith,构建参数列表对函数进行测试,测试截图如下:

软件测试之实验一——如何使用JUnit,Hamcrest和Eclemma进行简单的软件测试

 

用例参数列表如下:

软件测试之实验一——如何使用JUnit,Hamcrest和Eclemma进行简单的软件测试

Eclemma覆盖统计如下:

软件测试之实验一——如何使用JUnit,Hamcrest和Eclemma进行简单的软件测试

 

软件测试之实验一——如何使用JUnit,Hamcrest和Eclemma进行简单的软件测试

 

  三、注意事项

  为了避免污染源代码以及更好的分离测试代码,测试代码和源代码应该放置于不同的代码源文件夹中。

  同时程序不仅要解决运行结果正确与否的问题,应该还包括检查参数的合法性等测试;例如三角形三条边必须都是正整数,小数的输入不会被函数所接受,除非使用转型。而对于非正整数的输入,需要作出判断,如果存在输入参数为非正整数,那么函数返回-1值,表示为输入非法。修改函数后可以添加以下测试用例:

软件测试之实验一——如何使用JUnit,Hamcrest和Eclemma进行简单的软件测试

测试结果如下:

软件测试之实验一——如何使用JUnit,Hamcrest和Eclemma进行简单的软件测试

  四、总结

  Java的测试方法体系非常完善,有非常多的工具可以进行测试。而在测试的过程中应该考虑到尽可能多的情况,以满足程序的要求,要求程序的完备性。