資料介紹
軟件簡介
Infection 是一個基于 AST(抽象語法樹)突變的PHP 突變 (Mutation ) 測試庫。它用作 CLI 工具,可以從項目的根目錄執(zhí)行
突變測試是一種基于故障的測試技術,它提供了一種突變評分指標 (MSI)的測試標準。MSI 可用于衡量測試集在檢測故障能力方面的有效性。Infection 提供如下測試功能:
- 運行測試套件,以查看是否所有測試都通過
- 使用一組預定義的變異器(變異運算符)來變異源代碼
- 對于每個突變體(經(jīng)過一次更改的修改代碼),Infection 會進行新的測試(覆蓋已更改代碼)
- 分析測試是否失敗
- 收集被殺死、逃脫的突變體、錯誤和超時的結果
假設你有一個帶有 hasErrors() 方法的 Form 類,
// Form.php
public function hasErrors(): bool
{
return count($this->errors) > 0;
}
Infection 會產(chǎn)生以下突變體:
邊界條件突變:
public function hasErrors(): bool
{
- return count($this->errors) > 0;
+ return count($this->errors) >= 0;
}
條件協(xié)商突變
public function hasErrors(): bool
{
- return count($this->errors) > 0;
+ return count($this->errors) < 0;
}
整數(shù) 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%
這個例子報告了一些測試分數(shù):
突變評分指標 (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%(忽略未測試的代碼),這個數(shù)據(jù)展示了測試的實際效果。
計算公式:
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快速開發(fā)一個PHP擴展 8次下載
- 學習PHP需要注意那幾點 8次下載
- smarty如何調用PHP常量 3次下載
- 如何使用PHP-X快速開發(fā)一個PHP擴展 9次下載
- PHP配置注釋和程序教程 1次下載
- PHP基礎知識的詳細資料總結 7次下載
- PHP的CI框架分頁使用程序資料免費下載 5次下載
- PHP4的session使用資料說明 11次下載
- Python單元測試框架是什么?及如何使用詳細代碼說明 2次下載
- 基于小波變換的信號突變檢測
- PHP/MySQL教程 0次下載
- Python自動化測試框架及其應用 579次閱讀
- phpy:PHP與Python互調用庫 1042次閱讀
- API測試框架Grillon概述 2057次閱讀
- 一款擴展性高的滲透測試框架滲透測試框架 594次閱讀
- OpenHarmony自動化測試框架開發(fā)指南 1438次閱讀
- 如何在Ubuntu 20.04安裝PHP 8.1并將其與Nginx集成 3511次閱讀
- DPU性能評測系統(tǒng)框架與測試流程 2693次閱讀
- 聊聊PHP的web應用程序開發(fā)框架存在的漏洞有哪些 1834次閱讀
- Hypium的單元測試框架和UI測試框架 2170次閱讀
- 自動化測試框架unittes詳解 2965次閱讀
- php是什么語言編寫的 5024次閱讀
- 為什么PHP的開發(fā)效率比java高但是java比PHP流行 1w次閱讀
- Python自動化測試框架有哪些? 4687次閱讀
- php開發(fā)中遇到的難點有哪些_十大php開發(fā)常見問題盤點 1.8w次閱讀
- php開發(fā)環(huán)境的搭建和使用 3474次閱讀
下載排行
本周
- 1DD3118電路圖紙資料
- 0.08 MB | 1次下載 | 免費
- 2AD庫封裝庫安裝教程
- 0.49 MB | 1次下載 | 免費
- 3PC6206 300mA低功耗低壓差線性穩(wěn)壓器中文資料
- 1.12 MB | 1次下載 | 免費
- 4網(wǎng)絡安全從業(yè)者入門指南
- 2.91 MB | 1次下載 | 免費
- 5DS-CS3A P00-CN-V3
- 618.05 KB | 1次下載 | 免費
- 6海川SM5701規(guī)格書
- 1.48 MB | 次下載 | 免費
- 7H20PR5電磁爐IGBT功率管規(guī)格書
- 1.68 MB | 次下載 | 1 積分
- 8IP防護等級說明
- 0.08 MB | 次下載 | 免費
本月
- 1貼片三極管上的印字與真實名稱的對照表詳細說明
- 0.50 MB | 103次下載 | 1 積分
- 2涂鴉各WiFi模塊原理圖加PCB封裝
- 11.75 MB | 89次下載 | 1 積分
- 3錦銳科技CA51F2 SDK開發(fā)包
- 24.06 MB | 43次下載 | 1 積分
- 4錦銳CA51F005 SDK開發(fā)包
- 19.47 MB | 19次下載 | 1 積分
- 5PCB的EMC設計指南
- 2.47 MB | 16次下載 | 1 積分
- 6HC05藍牙原理圖加PCB
- 15.76 MB | 13次下載 | 1 積分
- 7802.11_Wireless_Networks
- 4.17 MB | 12次下載 | 免費
- 8蘋果iphone 11電路原理圖
- 4.98 MB | 6次下載 | 2 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935127次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191390次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183342次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81588次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73815次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65989次下載 | 10 積分
評論