ミューテーションテスト

ミューテーションテストは、新しいソフトウェアテストを設計し、既存のソフトウェアテストの品質を評価するために使用される。
Contributed by

Sebastien Wains

Published July 25, 2022
Collection
1

概要

ミューテーションテストでは、単体テストが完了したコードに作為的にバグを仕込みます。

バグが注入された各バージョンはミュータントと呼ばれ、テストはオリジナルバージョンの単体テスト結果とミュータントが異なる結果になるかを確認し、網羅性、期待値チェックなどテストの不備を検出、修正します。これをミュータントの破壊(kill)と呼びます。

メリット

ミューテーションテストの目的は複数あります:

  • テストが弱いコード(ミュータントが死滅しないコード)を特定する。
  • 弱いテスト(ミュータントを決して殺さないテスト)を特定する。
  • 変異スコアは、死滅した変異体の数/変異体の総数である。
  • プログラムのエラー伝播と状態感染について学ぶ。

実施方法

Python

C#, Scala, Javascript

実施例

参考

ミューテーションテスト をチームや顧客、ステークホルダーと実施するにあたりより詳細にお知りになりたい場合は、以下のリンクを参照してください。


Except where noted, content on this site is licensed under a Creative Commons Attribution 4.0 International license. This site is graciously hosted by Netlify