Loading article…
ソフトウェアエンジニアリングにおいて、テスター主導開発、あるいはバグ主導開発とは、例えば機能の価値やコストではなく、バグ報告やテスト結果に基づいて要件が決定されるアンチパターンである。この概念は一般的に皮肉を込めて用いられ、プログラマーが単体テストをほとんど考慮せずに大量のコンピュータコードを記述しているという含みがある。
この用語自体は、アジャイルソフトウェア開発で広く使われている手法であるテスト駆動開発を皮肉ったものです。テスト駆動開発では、テストを使用して実装を要件を満たす方向に進めます。一方、テスター駆動開発では、要件の決定を省き、テスター(またはQAチーム)がテスト(またはQA)プロセスを通じてソフトウェアのあるべき姿を決定できるようにすることで、プロセスを短縮します。[ 1 ]
このアンチパターンを用いて開発されたプロジェクトは、しばしば極端に納期が遅れるという問題に悩まされる。また、コードの品質が低いこともよくある問題である。
プロジェクトがこのような形で運営されることになる一般的な原因は、多くの場合以下のとおりです。
テスターが要件を把握しておらず、したがって特定のコード変更をどのようにテストすればよいのかも分からないことに気づくと、事態はさらに悪化します。そうなると、個々の変更を担当する開発者が自らテストケースを作成する責任を負いますが、開発者自身はテストが通常パスし、パフォーマンス測定値が向上するため、喜んでそうします。プロジェクトリーダーも、未解決の変更要求の数が急速に減少することに喜びを感じています。