zenn.dev 昨日 00:06

通るだけの回帰テストを防ぐ:前提条件とミューテーションで検証する

回帰テストが緑でも守りたい処理を実際には検証できていないケースを、Go製OSSのglob処理の実例から解説する記事。テスト入力が本来の分岐より手前のサイズ制限で拒否され、対象ゲートを削除してもテストが成功し続ける「通るだけの回帰テスト」を発見。対策として、入力が対象経路へ到達することを明示的に検査する、性能の代理指標ではなく守りたい不変条件を直接検査する、意図的に分岐を壊して赤になるか確認するミューテーションテストの手法を紹介し、レビュー時のチェックリストも提示している。

回帰テストが緑でも守りたい処理を実際には検証できていないケースを、Go製OSSのglob処理の実例から解説する記事。テスト入力が本来の分岐より手前のサイズ制限で拒否され、対象ゲートを削除してもテストが成功し続ける「通るだけの回帰テスト」を発見。対策として、入力が対象経路へ到達することを明示的に検査する、性能の代理指標ではなく守りたい不変条件を直接検査する、意図的に分岐を壊して赤になるか確認するミューテーションテストの手法を紹介し、レビュー時のチェックリストも提示している。
↗ 元記事を開く