- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Junit,CodeCoveramp;amp;CFG最全版.ppt
CFG Generator 例子: * yrty CFG Generator 控制流图 * yrty CodeCover 用来统计测试覆盖率,支持多种覆盖(包括语句覆盖、分支覆盖、MCDC覆盖等) * yrty 使用CodeCover统计覆盖率 / 使用上面这个地址安装eclipse插件 * yrty 使用CodeCover统计覆盖率 * yrty 使用CodeCover统计覆盖率 * yrty 使用CodeCover统计覆盖率 查看结果 * yrty tyuyt utyu tyuyt utyu tyuyt utyu tyuyt utyu tyuyt utyu tyuyt utyu tyuyt utyu tyuyt utyu tyuyt utyu tyuyt utyu Junit, CodeCover CFG 刘子聪 lzc10@ * yrty 内容 单元测试 Junit 静态控制流图模型 CFG Generator 覆盖率报告 CodeCover 作业说明 * yrty JUnit JUnit测试是程序员测试,即所谓白盒测试 继承TestCase类即可利用JUnit测试 * yrty JUnit 需要知道程序结构以及逻辑 设计不同的测试输入以及输出预言 尽可能覆盖多的语句以及分支 * yrty Junit 安装及配置 要安装和使用JUnit是很容易的,只需三个步骤: (1)下载JUnit软件; (2)将JUnit包解开,放到文件系统中; (3)运行JUnit测试时,将JUnit中的所有*.jar文件放到类路径里。 * yrty Junit 安装及配置 /projects/junit/?source=navbar (重定向到Github) * yrty Assert 断言 断言是单元测试最基本的组成部分。Junit程序库提供了如下不同形式的多种断言。 assertEquals([String message],expected,actual);-是否相等 Excpected-是你期望得到的值;actual-是被测试代码实际产生的值; assertNull([String message],Object object);-是否为空 * yrty Assert 断言 4. assertNotNull([String message],Object object);-是否不为空 5. assertTrue([String message],boolean condition);-是否为真 6. Fail(String message); 此断言会使测试立即失效,其中message参数是可选的。这种断言通常用于标记某个不应该到达的分支。(例如:在一个预期异常发生的时侯) * yrty Assert断言 当一个断言失败了,加上一个简短的消息来通知这个失败的一些属性甚至是失败的原因,可能会带来比较好的效果。 JUnit框架里,一个断言的方法的第一个参数作为可选项,接受一个“String”类型的参数,包含一些消息,在断言失败的时候显示出来。对于assertTrue( )有2种形式: * yrty 对于异常的处理 对于测试而言,下面两种异常是我们可能会感兴趣的: 从测试代码抛出的可预测异常 由于某个模块发生严重错误,而抛出的不可预测异常 对于Junit而言异常彻头彻尾是一个好东西-它能明确告诉 我们什么地方出错了。例如:有一个名为sortMyList()的方法,如果传入的参数是一个null list,那么我们希望方法能抛出一个异常。在Junit中我们可以显式地针对这一点进行测试。 * yrty 对于异常的处理 Public class TestException extends TestCase{ Public void testForException(){ try{ sortMyList(null); //特意传入null,看测试结果 Fail(“需要抛出一个异常!”); }catch(RuntimeException e){ assertTrue(true) //如果有异常抛出则应到执行此语句 } } } * yrty 测试的技巧 大量测试数据 典型错误类型 强制产生错误条件 * yrty 大量测试数据 对于有大量的测试数据的测试,可以通过数据文件来存储这些测试数据,然后让单元测试读取该文件,从而提高测试的完整性和效率。 * yrty 典型错误类型 注:找边界条件是做单元测试最有价值的工作之一,因为bug一般就 出现在边界上。 常见的边界条件有如下一些: 完全伪造一个不一致的输入数据,例如:“!·#¥%……—……*%—”; 格式错误的数据,例如没有
原创力文档


文档评论(0)