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

突变测试是一种评估软件测试质量的方法,通过修改代码(变异)并检查测试是否能检测到这些变化。文章介绍了突变测试的概念,如何使用JUnit进行测试,突变测试与代码覆盖率的关系,以及突变测试的优缺点。使用工具如PIT可以自动化突变测试,但执行成本较高,适合在特定工作流程中集成。突变测试可以作为自动化测试的补充,以提高测试质量。
摘要由CSDN通过智能技术生成
突变测试

突变测试

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

什么是变异测试?

变异测试评估现有软件测试的质量。 想法是以较小的方式修改(变异)测试所涵盖的代码,并检查现有测试集是否将检测并拒绝更改[MUTTES]。 如果不符合,则意味着测试不符合代码的复杂性,并且其一个或多个方面未经测试。

在Java中,将变量视为与原始代码相比具有单个修改的附加类。 可能是如下所示的if子句中逻辑运算符的更改。

if( a && b ) {...} => if( a || b ) {...}

通过现有测试检测并拒绝这种修饰称为杀死突变体。 当然,有了完善的测试套件,没有任何类别的变异体能够生存。 但是创建所有可能的变体的成本很高,这就是为什么在现实世界中手动执行此方法不可行的原因。

幸运的是,有一些工具可以即时创建突变体,并针对每个突变体自动运行所有测试。 变异创建基于一组所谓的变异算子,这些变异算子用于揭示典型的编程错误。 在上面的示例中将采用的一个称为条件突变算子

使用JUnit进行测试

使用Junit书本测试
使用JUnit进行测试是Java开发人员可以学习的最有价值的技能之一。 无论您的背景是什么,无论您是只是想建立一个安全网以减少桌面应用程序的退化,还是要基于健壮且可重用的组件来提高服务器端的可靠性,都需要进行单元测试。

弗兰克(Frank)写了一本书,为使用JUnit进行测试的基本知识提供了深刻的切入点,并为您准备了与测试有关的日常工作挑战做好了准备。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值