欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    软件测试junit和hamcrest和eclemma的使用及三角形类型判定代码测试.docx

    • 资源ID:12800671       资源大小:753.40KB        全文页数:13页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    软件测试junit和hamcrest和eclemma的使用及三角形类型判定代码测试.docx

    1、软件测试junit和hamcrest和eclemma的使用及三角形类型判定代码测试目录一、 GitHub的URL 1二、 Install Junit(4.12), Hamcrest(1.3) with Eclipse 1三、 Install Eclemma with Eclipse 2四、 Write a java program for the triangle problem and test the program with Junit 2五、 Junit简单使用 2六、 使用EclEmma进行简单地覆盖测试 5七、 Hamcrest简单使用 7八、 “判断三角形类型代”程序的测试代码说

    2、明 9九、 参考文章 11一、 GitHub的URL关于三角形判断的代码和测试代码的github的URL:二、 Install Junit(4.12), Hamcrest(1.3) with Eclipsejar包就是别人已经写好的一些类,然后将这些类进行打包,你可以将这些jar包引入你的项目中,然后就可以直接使用这些jar包中的类和属性以及方法。Eclipse中引入jar包参考这个链接:介绍链接中的第二种方法:用户jar包式通过“项目”-“属性”-“Java构建路径”-“添加库”-“用户库”-“新建”-填写用户库名称,点击“OK”-“添加外部jar包”(“也可以选择多个jar,但是限制在同一

    3、个文件夹中”,链接中的作者这句话不知道对不对?)。这种方式的好处是,不用每次创建项目都要引入jar包。三、 Install Eclemma with Eclipse通过eclipse安装非常简单,“帮助”-“eclipse marketplace”,搜索 eclemma,一路默认安装就好了。四、 Write a java program for the triangle problem and test the program with Junita) Description of triangle problem:Function triangle takes three integers

    4、a,b,c which are length of triangle sides; calculates whether the triangle is equilateral, isosceles, or scalene. 判断三角形的思路:1) 先判断3条边是否是正数2) 接着是否满足“两条边之和大于第三边”3) 最后判断是哪种类型的三角形。先判断是否是等边三角形,再判断是否是等边三角形,最后“不等边三角形”。五、 Junit简单使用1. junit中常用注解:是Java注解,即annotation。注解可以理解为插件,是代码级别的插件,在类的方法上写:XXX,就是在代码上插入了一个插件。

    5、注解不会也不能影响代码的实际逻辑,仅仅起到辅助性的作用。Test:测试方法必须用Test注解,测试方法必须是public void,即公共、无返回数据,可以抛出异常。Test 的expected参数用于异常测试,即测试是否会抛出指定的异常,若抛出则成功,反之失败。下图测试用例是以0为除数,运行结果为“成功”!因为指定的“ArithmeticException”异常抛出了。Test 的timeout参数用于限时测试,即限定测试用例耗费的时间,单位毫秒,如果测试用例没有在限定时间内完成则失败。Ignore:如果暂时不需要运行某些测试方法或者测试类,就可以方法前加上这个注解,在运行结果中,junit

    6、会统计忽略的用例数,来提醒你。Before:会在每一个用例运行之前都运行一次。主要用于一些独立于用例之间的准备工作。必须是public void,不能为static。After:与Before相对应Parameters:用于使用参数化功能,参数化测试,用于对同一测试用例测试多组数据。Runwith:首先分清几个概念。1) 测试方法:就是用Test注解的一些函数。2) 测试类:包含一个或者多个测试方法的一个*Test.java文件。3) 测试集:是一个suite,可能包含多个测试类。4) 测试运行器:决定用什么方式偏好取运行这些测试方法、测试类,测试集。而RunWith 就是放在测试类名之前,用

    7、来确定这个类怎么运行。也可以不标注,会使用默认的运行器。常见的运行器有:a) RunWith(Parameterized.class)参数化运行器,配合Parameters使用junit的参数化功能b) RunWith(Suite.class)Suite.SuiteClasses(Atest.class,Btest.class)测试套件运行器配合使用测试套件功能。当有多个测试类需要同时进行测试时,就是用测试套件来完成该工作。将要测试的类作微 Suite.SuiteClasses的参数2. junit使用方法:编写完成代码之后,选择“运行”按钮旁边的倒三角按钮,选择运行方式中的junit测试即可

    8、。执行结果:3. 介绍静态类org.junit.Assert:在程序中“import static org.junit.Assert.*”,静态导入Assert类,因此可以在程序中直接使用Assert类的任何静态方法。assertEquals():用来查看对象中存的值是否是期待的值;assertFalse()和assertTure(),查看变量是否为false或true,如果assertFalse()查看的变量值是FALSE,测试成功,否则失败;assertTrue与之相反。assertSame()和assertNotSame(),用来比较两个对象的引用是否相等和不相等。assertNull(

    9、)和assertNotNull()用来查看对象是否为恐吓buweikongfail(),意为失败,用来抛出错误。六、 使用EclEmma进行简单地覆盖测试覆盖测试是衡量“测试质量”的一个重要指标。如果我们设计的测试用例仅覆盖了地阿妈的一小部分,那么不管我们写了多少测试用例,我们也不能相信软件质量是有保证的。EclEmma能够对Java语言编写的程序进行覆盖测试。从而对程序运行的结果生成详尽的覆盖测试报告。安装完成后,eclipse的工具栏出现下图覆盖测试按钮,不要看错哦!运行已经创建好的Java项目:选中项目,点击覆盖测试的按钮,按下图。在Java编辑器中,EclEmma用不同的色彩表示了源代

    10、码的测试情况。其中。绿色代表该行代码被完整执行,红色代表代码没有被执行,黄色代表代码被部分执行。黄色的行通常出现在单行代码包含分支的情况,如下图除了在源代码的编辑窗口直接进行着色之外,EcLEmma还提供了单独的视图来统计程序的覆盖测试率。由于本次只运行了triangleKind,并没有运行triangleTest,所以该行测试率为0.EcLemma还提供了统计多次覆盖结果的功能。下图进行junit测试覆盖,从图中可以看出设计的 “测试用例”对代码的覆盖率50%左右,说明测试用例设计的不够合理。七、 Hamcrest简单使用如果要判断某几个值是否为true或者false,使用hamcrest判

    11、断会更方便。Hamcrest是专门为增强junit来提供的框架,它可以有效使用一些语义比较清晰的名字来做判断,常用方法:逻辑: allOf:如果所有匹配器都匹配,测试才能成功,遵循c+中的“short circuiits”; anyOf:如果任何匹配器匹配就成功,遵循c+中的“short circuiits”; not:如果包装的匹配器不匹配时,测试成功。对象:equalTo:测试对象相等,使用object.equals方法。Object的equals()方法是比较两个对象的内存地址是否相等,即若object1.equals(object2)为true,则表示equals1和equals2实际

    12、上是引用同一个对象。hasToString:测试object.tostring方法,Object类的toString方法返回一个字符串,该字符串由类名(对象是该类的一个实例)、at 标记符“ ”和此对象哈希码的无符号十六进制表示组成。换句话说,该方法返回一个字符串,它的值等于:getClass().getName() + + Integer.toHexString(hashCode()。例如:com.struts2.Userde6ced;instanceOf,isCompatibleType:测试类型;notNullValue,nullValue:测试对象实例;sameInstance:测试对

    13、象实例;hasProperty:测试JavaBeans属性。集合: array:测试一个数组元素; hasEnrty,hasKey,hasValue:测试一个集合包含一个元素; hasItemInArray:测试一个数组包含一个元素。数字: closeTo:测试浮点值接近给定的值; greaterThan,greaterThanOrEqualTo,lessThan,lessThanOrEqualTo:测试大小 文本: equalToIgnoringCase:测试字符串相等忽略大小; equalToIgnoringWhiteSpace:测试字符串相等,忽略空格; containsString,e

    14、ndWith,startsWith:测试字符串匹配。使用: 在你写的junit的测试用例比如testTriangle中先静态导入hamcrest包中的Matchers: 然后在Test注解后的测试方法中写asserThat方法就行:错误: 进行junit测试报错如下:右键“项目名称”-“属性”,进行如下配置:Eclipse库中自带了一个“junit4”,而我自己也设置了我的“用户库”,将自带的“移除”,将“用户库”里的hamcrest和junit的jar包调换顺序,使hamcrest优先于junit。八、 “判断三角形类型代”程序的测试代码说明使用了,RunWith(Parameterized

    15、.class)参数化运行器,配合Parameters使用junit的参数化功能。代码如下:package tju.junit.triangle;import static org.junit.Assert.*;import java.util.Arrays;import java.util.Collection;import org.junit.After;import org.junit.Before;import org.junit.Test;import org.junit.runner.RunWith;import org.junit.runners.Parameterized;imp

    16、ort org.junit.runners.Parameterized.Parameters;RunWith(Parameterized.class)public class TriangleTest private int a; private int b; private int c; private String expected; private TriangleKind triangle; public TriangleTest(String expected,int a, int b,int c) this.expected = expected; this.a = a; this

    17、.b = b; this.c = c; Before public void setUp() throws Exception System.out.println(测试开始了!); triangle = new TriangleKind(); System.out.println(triangle对象被初始化!); After public void tearDown() throws Exception System.out.println(triangle对象将被清理!); triangle = null; System.out.println(测试结束!); Parameters pu

    18、blic static Collection getData() return Arrays.asList(new Object 等边三角形,2,2,2, 等边三角形,6,6,6, 等腰三角形,5,2,5, 等腰三角形,2,2,3, 等腰三角形,8,7,7, /* 不等边三角形,5,3,6, 非三角形,1,2,3, 非三角形,-2,-3,4,*/ ); /测试给定的三条边构成的三角形是否与期待值一样 Test public void testGetTriangleKind() assertEquals(this.expected, triangle.getTriangleKind(a, b, c); 九、 参考文章2、junit学习之hamcrest、testSuite介绍及测试原则Eclipse下导入外部jar包的3种方式Eclipse中怎么使用junit测试测试辅助工具 hamcrest使用 EclEmma 进行覆盖测试


    注意事项

    本文(软件测试junit和hamcrest和eclemma的使用及三角形类型判定代码测试.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开