資料介紹
軟件簡介
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次下載 | 免費
評論
查看更多