継続的なビルドと継続的な統合がソフトウェア製品の品質にとって有益であることは誰もが同意していると思います。欠陥は早期に発見されるため、できるだけ早く修正できます。数分かかる継続的なビルドの場合、通常、欠陥の原因を特定するのは簡単です。ただし、実行に時間がかかる夜間の統合テストの場合、これは困難な場合があります。最適な解決策を探している状況の詳細は次のとおりです。
- 統合テストの実行には 1 時間以上かかります。したがって、それらは夜間に実行されます。毎日複数のチェックインが行われるため (約 15 人の開発者のチーム)、「犯人」 (存在する場合) を見つけるのが難しい場合があります。
- 統合テスト環境は、他の環境 (Web サービスおよびデータベース) に依存しており、時々失敗する可能性があります。これにより、統合テストが失敗します。
では、これらの障害が早期に修正されるようにチームを編成するにはどうすればよいでしょうか? 私の意見では、欠陥を診断するために任命された人がいるはずです. これは、朝一番のタスクです。他の人の専門知識が必要な場合は、すぐに利用できるはずです。障害の原因 (コンポーネント、データベース、Web サービス) が特定されたら、所有者はその修正を開始する必要があります (または別のチームに通知する必要があります)。
欠陥を診断する人を任命する方法は?理想的には、誰かがボランティアをしてくれます(笑)。これはあまり頻繁には起こらないと思います。別の選択肢も聞いたことがあります。最初にオフィスに来た人は誰でも、毎晩のビルドの結果を確認する必要があります。チーム全体が同意すれば、これで問題ありません。しかし、これは遅れてきた人に報います。この役割はチーム内でローテーションするべきだと思います。「ビルドについてよく知らない」という言い訳は受け入れられません。障害の原因の診断はかなり簡単です。そうでない場合は、コードに診断ログをさらに追加すると、統合テストの失敗に対する可視性が向上します。
この分野での経験や上記のアプローチの改善のための提案はありますか?