单元测试工具调研报告.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单元测试工具调研报告 一、单元测试目的 单元测试(unit testing),是在软件开发过程中要进行的最低级别的测试活动。单元测 试测试用于验证软件最小的可执行单元的正确性,即类或方法的正确性,其目的在于发现 各模块内部可能存在的各种差错,验证代码是与设计相符合的,发现设计和需求中存在的 错误,发现在编码过程中引入的错误。主要是基于白盒测试。 二、单元测试的好处 编写单元测试的时间节约了未来的修改、维护低质量代码的时间。 单元测试也是设计的一部分,会促使程序员以使用者的角度重新审视自己的代码, 使写出的代码易于使用。 当程序被修改时,通过快速的单元测试能够找到修改后存在的漏洞。 三、 如何进行单元测试 1、写一点,测一点 每写完一个程序单元就开始编写单元测试代码 将程序划分为尽可能小的单元,这样更有利于单元测试的编写。 2、单元测试的内容  通用的业务组件,或工具类 内外部接口 包含重要逻辑的 Service 程序员自己觉得没有把握的代码 3、单元测试的策略  尽早进行单元测试 对于新增加的功能和修改的功能要进行完善单元测试 对于新发现的 bug,通常也应增加相应的单元测试 四、 常用单元测试工具 1.Arquillian(开源) Arquillian 是 JVM 一个高度创新性和可扩展的测试平台,支持 Java 开发 人员轻松创建自动化集合的,功能性的和验收的测试。 Arquillian 允许在运行 时间执行测试。Arquillian 可以用来管理单个或多个容器的生命周期,捆扎测 试用例,从属类和资源。它还能够部署归 档到容器中,在容器中执行测试、捕 获结果,并创建报告。Arquillian 集成了常见的测试框架,如 JUnit 4、TestNG 5,并允许使用现有的 IDE 发布测试,并且由于其模块化的设计使 得能够运行 Ant 和 Maven 测试插件。 2.JTest(商用) JTest 也被称为“Parasoft JTest”,是一款通过 Parasoft 制作的自动化的 Java 软件测试和静态分析软件。JTest 包含的功能有:单元测试情况下的生成 和执行、静态代码分析、数据流的静态分析、度量分析、回归测试、运行时错 误检测。此外,它还具备了同行代码审查流程自动化和运行时错误检测的功能, 如:竞态条件、异常、资源和内存泄漏、安全漏洞攻击。 3.TestNG(开源) TestNG 是一款为 Java 编程语言设计的测试框架,灵感来自于 JUnit 和 NUnit。 TestNG 的主要功能是覆盖范围更广的测试分类,如单元、功能性、 端到端,一体化等。它还有一些新的功能,可以使之更强大和更容易使用,如: 注解、具备 大型线程池各种策略的运行测试、多线程的代码测试、灵活的测试 配置、参数化数据驱动的测试支持,等等。 TestNG 支持各种各样的工具和插件,比如 Eclipse、IDEA、Maven 等等。 4.JUnit(开源) JUnit 是一个为 Java 编程语言设计的单元测试框架。 JUnit 为测试驱动开 发框架的发展发挥了重要作用。它是现在被统称为 xUnit 的单元测试框架大家 庭的组成成员之一,源于 SUnit。 在编译时,JUnit 可以连接作为 JAR,用于编写可重复的测试。 5.Mockito(开源) Mockito 是一款在 MIT License 可用的支持 Java 的开源测试框架。 Mockito 允许程序员使用自动化的单元测试创建和测试双对象(模拟对象), 以达到测试驱动开发(TDD)和行为驱动开发(BDD)的目的。 6.Powermock(开源) PowerMock 是一款支持单元测试源代码的 Java 框架。虽然 PowerMock 可以作为 Mocking 框架,例如 Mockito 和 EasyMock 的扩展而运行,但是它 具备了更强大的能力。PowerMock 利用自定义的类加载器和字节码操纵器, 来确保静态方法的模拟、静态初始化的 删除、函数构造、最终的类和方法以及 私有方法。它的主要目的是通过最少的方法和注释来扩展现有的 API,以获得 额外的功能。 7. Contest(开源) 当进行单元测试时需要 JVM 具有低的确定性,同时是更“模糊的”,这就是 要用到 ConTest 的地方。1、同步覆盖 2、死锁预防( ConTest 可以分析是否 以冲突的顺序嵌套地拥有锁,这表明有死锁的危险) 3、调试帮助(ConTest 可以 生成一些对并行调试有用的运行时报告) 4、UDP 网络混乱(ConTest 支持通过 UDP(数据报)套接字进行网络通信的域中的并行混乱的概念)。 8、Agitator(商用) 真正的面对对象的测试方法,保证代码“需求做什么?”,而不是说

文档评论(0)

damoyihao + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档