博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
软件工程测试3
阅读量:6515 次
发布时间:2019-06-24

本文共 1906 字,大约阅读时间需要 6 分钟。

软件测试第一次上机实验

这次上机我们主要进行Java的一些常用的测试工具的安装与使用,在这里稍微介绍一下这次使用的几种工具

junit:JUnit是一个Java语言的单元测试框架。

它包括以下特性:
1、用于测试期望结果的断言(Assertion)
2、用于共享共同测试数据的测试工具
3、用于方便的组织和运行测试的测试套件
4、图形和文本的测试运行器
通过Junit我们可以用一种全新的方法(断言)验证程序运行结果的正确性,避免了大量手动测试的繁琐工序,我们想要测试一个加法函数的运算结果,我们只需要断言这个函数的运算结果和我们的预期结果相同就可以了。如:
assertEquals(3,add(1,2));

就是断言add(1,2)的运算结果为3。

Hamcrest:Hamcrest 是一个测试的框架,它提供了一套通用的匹配符 Matcher,灵活使用这些匹配符定义的规则,程序员可以更加精确的表达自己的测试思想,指定所想设定的测试条件。

Junit的功能虽然强大,但是当我们进行一些范围测试的时候如判断一个函数的运算结果在20和40之间,如果用枚举的方法测试就显得过于繁琐

但是我们如果使用Hamcrest可以这样做

assertTrue((40>30) && (40<50))

断言40>30且40<50

eclemma:EclEmma是一个开源的软件测试工具,可以在编码过程中查看代码调用情况、也可以检测单覆盖率。我们通过安装EclEmma可以明显的看出那些代码得到了运行那些没有得到运行,以及各个判断语句的执行结果。

然后简单说一下这次的上机内容以及过程

首先是用Eclipse安装上述的三个测试工具,然后写一个判断三角形是等边、等腰或者两者都不是的函数并使用junit测试运行结果

首先使用build path中的configure build path中

 

 

 

至于另一个工具需要在help里的Eclipse marketplace

寻找到Eclemma即可

代码:

package baixuejianmsl;public class paqiuligo {public String checkiftri(int a,int b,int c){    if(a == b && b == c)        return "等边" ;    else if (a == b || b == c || a == c)        return "等腰" ;    else        return "啥也不是" ;}}
package baixuejianmsl;import static org.junit.Assert.*;import org.junit.After;import org.junit.Before;import org.junit.Test;public class test {    private paqiuligo p=null;    @Before    public void setUp() throws Exception {    }    @After    public void tearDown() throws Exception {    }    @Test    public void test() {        p=new paqiuligo();        assertEquals("等边",p.checkiftri(2, 2, 2));        assertEquals("等腰",p.checkiftri(2, 3, 3));        assertEquals("啥也不是",p.checkiftri(5, 2, 1));            }}

在测试部分我主要使用是before、test、after三个标签,

before标签下一般用于在测试开始之前进行初始化

test标签下是测试的内容

after标签下的内容一般是进行资源的释放或者进行补充测试 

我们上述三个标签后,在选择Run as的方式的时候会多出一个选项

然后就可以进行测试了,由于我将test写在了一起,在测试中我会将另外两个测试注释掉,并加入其它语句,但是其实大同小异

错误的话:

补充一下EclEmma的用法:

 

然后就可以看到代码的覆盖测试

如果没有运行,将以红色标注,绿色是已经运行过的语句:

That's all.

 

转载于:https://www.cnblogs.com/xubangxi/p/5292122.html

你可能感兴趣的文章
软件project--谈项目开发
查看>>
Android studio及eclipse中的junit单元測试
查看>>
几个英文网站
查看>>
在Android中创建文件
查看>>
爬虫基础
查看>>
JS组件系列——再推荐一款好用的bootstrap-select组件,亲测还不错
查看>>
CNN网络--AlexNet
查看>>
getopt--parse command line options
查看>>
闭包和OC的block的本质
查看>>
每天一个linux命令(34):du 命令
查看>>
MySQL出现Waiting for table metadata lock的场景浅析
查看>>
C# 语言历史版本特性(C# 1.0到C# 7.1汇总更新)
查看>>
什么是数据埋点?
查看>>
git回滚
查看>>
vue2.0 引用qrcode.js实现获取改变二维码的样式
查看>>
Python 判断闰年,判断日期是当前年的第几天
查看>>
activiti 清库脚本(转)
查看>>
如何快速查看服务器配置信息?
查看>>
caffe blob理解
查看>>
特殊字符校验
查看>>