ミューテーションテスト
本番のコードに小さな書き換え(ミュータント)を自動で入れ、ミュータントごとにテストを流して、テストが失敗するかでテストがその変化に気づけるかを調べる方法。
- 概念URI
https://comcomponent.com/knowledge/mutation-testing/
- 別名・表記
- Mutation Testing / 変異テスト
- 最終確認日
- 2026-08-01
- 機械可読データ
- JSON-LD
この概念が関わる関係
- アサーションはミューテーションテストで確認できます。コードに小さな変更を入れてもテストが失敗しなければ、そのテストのアサーションはその変化を確かめていない。アサーションが変化を検出できるかはミューテーションテストで確かめられ、.NETではStryker.NETが使える。 / 確度: 条件付きの関係 / 確認日: 2026-11-01 出典 出典
- Stryker.NETはミューテーションテストの実装を担います。Stryker.NETはC#と.NET向けにミューテーションテストを行うツールで、単体テストのプロジェクトのフォルダーでdotnet strykerを実行する。 / 確度: 確立した関係 / 確認日: 2026-11-01 出典 出典
- ミューテーションテストはミュータントを利用します。本番のコードに決まった規則で書き換えたミュータントを自動で入れ、ミュータントごとにテストを流す。 / 確度: 確立した関係 / 確認日: 2026-11-01 出典 出典
- ミューテーションテストはユニットテストを前提とします。ミュータントごとに既存のテストを流し、どれかが失敗すればkilled、すべて通ればsurvivedと判定する。 / 確度: 確立した関係 / 確認日: 2026-11-01 出典 出典
- ミューテーションテストはコードカバレッジを利用します。Strykerはテストが実行しない場所のミュータントをNo coverageとして分け、カバーされたコードだけで計算したミューテーションスコアも出す。カバレッジは実行したかを示すだけなので、確かめたかはミュータントが倒れるかで調べる。 / 確度: 条件付きの関係 / 確認日: 2026-11-01 出典 出典
- アサーションはミューテーションテストで確認できます。結果を期待値と比べないアサーションでは、コードを書き換えてもテストが通り、ミュータントが生き残る。生き残ったミュータントから、確かめていない動きが分かる。等価ミュータントはどのテストでも倒せない。 / 確度: 条件付きの関係 / 確認日: 2026-11-01 出典 出典 出典
この概念を扱う記事
一次資料
このページはサイトの知識グラフ(_data/knowledge/)から自動生成されています。誤りの指摘はお問い合わせからお願いします。