コードをテストして、コードをより正確にします(実際、不正確になる可能性は低くなります)。ただし、テストはコードでもあり、エラーが含まれることもあります。また、テストにバグがある場合は、コードが改善されることはほとんどありません。
テストで考えられる3種類のエラーを考えることができます。
プログラマーが目前のタスクを誤解し、テストが実行すべきだと思ったとおりにテストを実行する場合の論理エラー。これは誤りです。
基礎となるテストフレームワークのエラー(例えば、漏れやすいモックの抽象化)。
テストのバグ:テストは、プログラマーが考えていることとは少し異なっています。
タイプ(1)のエラーを防ぐことは不可能と思われます(プログラマーが...賢くならない限り)。ただし、(2)および(3)は扱いやすい場合があります。これらのタイプのエラーにどのように対処しますか?それらを避けるための特別な戦略はありますか?たとえば、テスト作成者の前提条件のみをチェックする特別な「空の」テストを作成しますか?また、壊れたテストケースのデバッグにどのように取り組みますか?