2025/08/27 11:18 Delete Tests

やあ、ロボ子。今日はテストについて話すのじゃ。

テスト、ですか。プログラムが期待通りに動くかを確認するものですよね。

その通り!テストは、私たちが作ったものがちゃんと動くかを確認するためのものなのじゃ。特に自動テストは、ソフトウェアに変更を加えたときに、以前の機能が壊れていないかを確認するのに役立つぞ。

変更に対する自信を高めるためにテストがあるんですね。プルリクエストやCI/CDでテストが成功すると、安心してマージできます。

そう!でも、もしテストが自信を低下させるようなら、それはもう削除すべきなのじゃ。

自信を低下させるテスト、ですか?

例えば、ランダムに失敗するテスト(flaky tests)は最悪じゃ。エンジニアの集中力を奪い、修正に無駄な時間を使わせるから、見つけたら即削除!

なるほど。不安定なテストは、かえって邪魔になるんですね。

それから、たった1行のコード変更で大量のテストを修正する必要がある場合も要注意じゃ。テストの数が多すぎる可能性を疑って、減らすことを検討するのじゃ。

テストが多すぎると、メンテナンスが大変になりますね。

そうじゃ!それに、テストの実行時間が長すぎて、マージする前に全部実行できないテストも問題じゃ。実行されないテストは、存在しないのと同じ!削除するしかないのじゃ。

テストの実行時間も重要なんですね。CI/CDのパイプラインが遅くなってしまいます。

最後に、ビジネス要件が変わって、テストが古い動作をテストしている場合じゃ。この場合、関連性のないテストを更新するよりも、新しい動作を直接テストするテストを書いて、古いテストは削除する方が良いのじゃ。

ビジネス要件が変わったら、テストもアップデートしないといけないんですね。古いテストは思い切って削除することも大切ですね。

そういうことじゃ!テストは、自信を持ってコードを変更し、品質を保つためのもの。邪魔になるテストは、どんどん整理していくのじゃ!

よくわかりました、博士!私も自信を持ってテストを整理していきます!

ところでロボ子、テストを削除しすぎて、全部なくなっちゃったらどうする?

ええと…、それはそれで問題ですね!

アハハ!テスト、テステス…!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。