资料介绍
软件简介
Infection 是一个基于 AST(抽象语法树)突变的PHP 突变 (Mutation ) 测试库。它用作 CLI 工具,可以从项目的根目录执行
突变测试是一种基于故障的测试技术,它提供了一种突变评分指标 (MSI)的测试标准。MSI 可用于衡量测试集在检测故障能力方面的有效性。Infection 提供如下测试功能:
- 运行测试套件,以查看是否所有测试都通过
- 使用一组预定义的变异器(变异运算符)来变异源代码
- 对于每个突变体(经过一次更改的修改代码),Infection 会进行新的测试(覆盖已更改代码)
- 分析测试是否失败
- 收集被杀死、逃脱的突变体、错误和超时的结果
假设你有一个带有 hasErrors() 方法的 Form 类,
// Form.php
public function hasErrors(): bool
{
return count($this->errors) > 0;
}
Infection 会产生以下突变体:
边界条件突变:
public function hasErrors(): bool
{
- return count($this->errors) > 0;
+ return count($this->errors) >= 0;
}
条件协商突变
public function hasErrors(): bool
{
- return count($this->errors) > 0;
+ return count($this->errors) < 0;
}
整数 0- 1,1 -0 突变
public function hasErrors(): bool
{
- return count($this->errors) > 0;
+ return count($this->errors) > 1;
}
突变评分指标(MSI)
Metrics:
Mutation Score Indicator (MSI): 47%
Mutation Code Coverage: 67%
Covered Code MSI: 70%
这个例子报告了一些测试分数:
突变评分指标 (MSI)
MSI 为 47%。这意味着所有生成的突变中有 47% 被检测到(即杀死、超时或致命错误)。MSI 是主要的突变测试指标。鉴于代码覆盖率为 67%,存在 20% 的差异,因此在此示例中代码覆盖率是一个糟糕的质量度量。
计算公式:
TotalDefeatedMutants = KilledCount + TimedOutCount + ErrorCount;
MSI = (TotalDefeatedMutants / TotalMutantsCount) * 100;
突变代码覆盖率
MCC 为 67%。正常来说,它应该跟正常代码的覆盖率在同一范围内。
计算公式:
TotalCoveredByTestsMutants = TotalMutantsCount - NotCoveredByTestsCount;
CoveredRate = (TotalCoveredByTestsMutants / TotalMutantsCount) * 100;
覆盖代码变异评分指标
被测试覆盖的代码的 MSI 为70%(忽略未测试的代码),这个数据展示了测试的实际效果。
计算公式:
TotalCoveredByTestsMutants = TotalMutantsCount - NotCoveredByTestsCount;
TotalDefeatedMutants = KilledCount + TimedOutCount + ErrorCount;
CoveredCodeMSI = (TotalDefeatedMutants / TotalCoveredByTestsMutants) * 100;
- 开源软件-Ocara PHP框架
- PHP教程:foreach使用引用注意的问题
- 人体行为识别API接口aip-php-sdk-4.15.4 3次下载
- PHP学习教程分享 7次下载
- 如何使用PHP-X快速开发一个PHP扩展 8次下载
- 学习PHP需要注意那几点 8次下载
- smarty如何调用PHP常量 3次下载
- 如何使用PHP-X快速开发一个PHP扩展 9次下载
- PHP基础知识的详细资料总结 7次下载
- PHP的CI框架分页使用程序资料免费下载 5次下载
- PHP4的session使用资料说明 11次下载
- PHP多个版本的比较资料说明 0次下载
- Python单元测试框架是什么?及如何使用详细代码说明 2次下载
- 基于小波变换的信号突变检测
- PHP/MySQL教程 0次下载
- Python自动化测试框架及其应用 354次阅读
- phpy:PHP与Python互调用库 827次阅读
- API测试框架Grillon概述 1895次阅读
- 一款扩展性高的渗透测试框架渗透测试框架 497次阅读
- OpenHarmony自动化测试框架开发指南 1108次阅读
- 如何在Ubuntu 20.04安装PHP 8.1并将其与Nginx集成 3148次阅读
- DPU性能评测系统框架与测试流程 2255次阅读
- 聊聊PHP的web应用程序开发框架存在的漏洞有哪些 1561次阅读
- Hypium的单元测试框架和UI测试框架 1920次阅读
- 自动化测试框架unittes详解 2730次阅读
- php是什么语言编写的 4855次阅读
- 为什么PHP的开发效率比java高但是java比PHP流行 1w次阅读
- Python自动化测试框架有哪些? 4575次阅读
- php开发中遇到的难点有哪些_十大php开发常见问题盘点 1.8w次阅读
- php开发环境的搭建和使用 3330次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191187次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多