pit和systick

变异测试是一种技术,它可以发现测试未涵盖代码的哪些部分。 它类似于代码覆盖范围 ,但变异测试不限于在测试期间执行给定行的事实。 这个想法是修改生产代码(引入突变),这应该改变其行为(产生不同的结果)并导致单元测试失败。 缺少故障可能表明给定零件没有被测试所覆盖。 突变测试的想法已经很老了 ,但是并不受欢迎。 尽管我在测试方面有相当的经验,但我最近发现它是在审查有关测试的新书的Beta版中看到的 。

PIT是“用于Java的基于快速字节码的突变测试系统,可以测试单元测试的有效性”。 这是一个非常年轻的项目,但很有希望。 它提供了一组变异运算符 ,这些变异运算符可以修改条件语句,数学运算,返回值和方法调用。

从最近发布的版本0.25开始,PIT(以实验方式)支持基于TestNG的测试(基于JUnit的测试除外)。 要从Maven使用它,需要将pitest-maven插件添加到pom.xml:

<plugin><plugin><groupid>org.pitest</groupid><artifactid>pitest-maven</artifactid><version>0.25</version>
</plugin>
</plugin>

在许多情况下,这就足够了。 默认情况下,inScopeClasses(用于运行的可变类和测试)和targetClasses(仅用于变异的候选对象)默认使用项目groupId,通常可以省略。 插件配置中可以配置几个选项 。 “ mvn org.pitest:pitest-maven:mutationCoverage”执行修改后的测试并生成突变报告,默认情况下将其保存在target / pit-reports / yyMMddHHmm目录中。

指定类别的样本报告(单击放大)显示行覆盖率和突变覆盖率。 尽管100%的行覆盖率(背景为浅绿色的行),PIT发现测试数据集无法正确覆盖边界条件。

参考:来自Solid Soft博客的JCG合作伙伴 Marcin Zajaczkowski的PIT和TestNG突变测试简介 。

翻译自: https://www.javacodegeeks.com/2012/04/introduction-to-mutation-testing-with.html

pit和systick

pit和systick_PIT和TestNG突变测试简介相关推荐

  1. PIT和TestNG突变测试简介

    变异测试是一种技术,它可以发现测试未涵盖代码的哪些部分. 它类似于代码覆盖范围 ,但变异测试不限于在测试期间执行给定行的事实. 这个想法是修改生产代码(引入突变),这应该改变其行为(产生不同的结果)并 ...

  2. 海贼王为什么画风突变_什么是突变测试?

    海贼王为什么画风突变 最近,我再三提到突变测试一词. 因为可以说这种方法能够以超出代码覆盖范围的方式检测测试安全网的空白,所以我花了一些时间来追赶这个话题并尝试一下. 这篇文章总结了我的发现,作为对该 ...

  3. Spring MVC:测试简介

    测试是软件开发中最重要的部分之一. 井井有条的测试有助于使应用程序代码保持良好状态,并且处于工作状态. 有很多不同类型的测试和方法. 在本文中,我想对基于Spring MVC的应用程序进行单元测试进行 ...

  4. 突变测试_什么是突变测试?

    突变测试 最近,我反复提到"突变测试"一词. 因为可以说这种方法能够以超出代码覆盖范围的方式检测测试安全网的空白,所以我花了一些时间来追赶这个话题,然后尝试一下. 这篇文章总结了我 ...

  5. [突变测试] 一种新的测试方法论

    突变操作 突变测试通过灵活可配置的突变操作集来从你的代码中编译产生新的代码. 例如CONDITIONALS_BOUNDARY_MUTATOR 改变条件边界突变会从源代码中生成下面的语句. if ( i ...

  6. 【Google Play】Google Play 开放式测试 ( 简介 | 发布开放式测试版本 )

    Google Play 上架完整流程 系列文章目录 [Google Play]创建 Google 开发者账号 ( 注册邮箱账号 | 创建开发者账号 ) [Google Play]创建并设置应用 ( 访 ...

  7. java自动化测试报告_Java自动化测试框架-10 - TestNG之测试结果篇(详细教程)

    1.-测试结果 1.1-成功,失败和断言 测试被认为是成功的,如果它不引发任何异常完成,还是它扔的预期异常(请参阅文档expectedExceptions属性上找到的@Test注释). 您的测试方法通 ...

  8. 基于python渗透测试_Python中基于属性的测试简介

    基于python渗透测试 by Shashi Kumar Raja 由Shashi Kumar Raja Python中基于属性的测试简介 (Intro to property-based testi ...

  9. 软件测试测试 python_Python测试简介

    软件测试测试 python by Goran Aviani 通过Goran Aviani Python测试简介 (An introduction to testing in Python) You h ...

最新文章

  1. asp中关于从utf8页面到gb2312页面出现乱码得解决
  2. 适配器模式(为被封装对象提供不同的接口)
  3. 开源,免费和跨平台 - MVP ComCamp 2015 KEYNOTE
  4. C#刷遍Leetcode面试题系列连载(3): No.728 - 自除数
  5. webrtc后续补丁
  6. viper4android 脉冲样本,【图片】大福利,ViPER4Android FX音效及超过200个精选脉冲样本(转)【华为荣耀3x畅玩版吧】_百度贴吧...
  7. It's my life
  8. 【软件工程师学硬件】之 单片机
  9. 使用Qt Designer来设计界面
  10. Message、Handler、MessageQueue、Looper之间的关系
  11. dell笔记本指示灯闪烁_解决笔记本电源灯一闪一闪问题【图文】
  12. Tryhackme-BurpSuite
  13. Angular------使用IDEA开发Angular
  14. 大型网站技术架构+核心原理与案例分析+李智慧
  15. php让浏览器全屏,H5实现浏览器全屏API(全屏进入和全屏退出)
  16. TeamViewer使用心得
  17. Windows系统盘搬家方法及Junction使用
  18. yolo3.cfg相关配置
  19. Oculus内下游戏报错,OVR40779122解决办法
  20. 生成图片遇到Warning: imagecreatefromjpeg(): gd-jpeg: JPEG library reports unrecoverable error问题解决方案

热门文章

  1. java.sql.SQLException: The server time zone value '�й���׼ʱ��' is unrecognized
  2. sqlserver中常用的几个存储过程
  3. 银行营业网点管理系统——implt包(CityAreaDaoImpl )
  4. super与this关键字的区别
  5. oracle 10741 trace,RedHat5.3上安装Oracle 10.2.0.1
  6. linux wait函数头文件_手把手教Linux驱动9-等待队列waitq
  7. idea部署springboot项目到外部tomcat
  8. tomcat(15)Digester库
  9. java事件处理过程分布写_Java 9中的进程处理
  10. 逻辑建模与物理建模_架构层和建模域逻辑