Flaky test
信頼不能テスト
https://levtech.jp/media/article/column/detail_496/
信頼不能テストとは、コード(プロダクトコード/テストコード問わず)に一切手を触れなくても、結果が成功だったり失敗だったりと不安定なものを指します。
偽陰性 の一種(偽陰性 と 偽陽性#66dec61d75d04f000027a95b)radish-miyazaki.icon
この信頼不能テストはどれくらいまで減らすべきか。
書籍『Googleのソフトウェアエンジニアリング』では「テストスイート全体の1%が信頼不能テストになると、エンジニアはテストの結果を信じなくなり始める」とされています。
https://levtech.jp/media/wp-content/uploads/2024/08/image23.png
追跡と集計
複数回のテストスイートの実行結果の保存、集計、比較が必要
BuildPulse などの SaaS
+ cargo-nextest(Rust)など SaaS と結合できるライブラリ
https://www.docswell.com/s/magurotuna/5MXXY2-2024-09-11-struggling-with-flaky-tests#p34
https://scrapbox.io/files/66e1130cc261b7001dd01e40.png
抜本対応
テストを出来るだけ小さくする
https://www.docswell.com/s/magurotuna/5MXXY2-2024-09-11-struggling-with-flaky-tests#p37
https://scrapbox.io/files/66e11332a847d5001c02c5f4.png
https://levtech.jp/media/wp-content/uploads/2024/08/image41.png