テストの止め時を知るための6つの質問
近年、継続的テストの人気が高まっています。開発チームは、リスクを評価して即座にフィードバックを得るために、ソフトウェア開発ライフサイクルのすべての段階で自動テストを実施するよう努めています。しかし、継続的にテストすることが目的の場合、チームが答えるのに苦労することが多い1つの質問があります。それは、いつテストを停止するかということです。
1.どのようなリスクが軽減されたか?
開発する機能には必ずリスクが伴います。テストをいつ止めるかを決める良い方法は、開発チームが特定したリスクがすべて軽減されたかを分析することです。
これは、プロジェクトのコンテキストに基づいて、次のように異なる意味を持つ可能性があります。
- 特定されたリスクに関連するテストは実施されましたか?その結果はどうでしたか?
- 製品を顧客にリリースする前に対処する必要のあるリスクは不足していませんか?
- 修正した不具合を再テストするために、もう一度、テストケースを実行する必要がありますか?
- 現状、製品をリリースすることに、どの程度の自信がありますか?
リスクベースのテストは、お客様の視点で製品を評価するのに役立ち、特定されたすべてのリスクを軽減することで、テストがいつ完了するかが最終的に定義されます。
2.未解決の重要な欠陥はないか?
現実的には、製品をリリースした後でも、必ず不具合が発生します。私たちにできることは、お客様に大きな影響を与えるような不具合を特定し、修正することだけです。その一つの方法は、特定された重要な欠陥や高度の欠陥をすべて修正し、再テストされていることを確認することです。
3.プロジェクトの納期を守っているか?
機能を期限内にリリースするために、厳しいリリーススケジュールが設定されることがあります。これは、契約の締結、市場での競争力の獲得、価値の提供による顧客の囲い込みなど、さまざまな理由によるものです。
その結果、開発チームは期限までに機能を提供する必要に迫られることになります。数週間の計画会議、複数のリリーススケジュール、一定期間の成果物に対する明確な基準を設ける必要があります。そうすることで、ステークホルダーの目標や期待をより明確にすることができます。
4.要件は十分にテストされているか?
機能開発を開始する前に、開発チームが取り組むべき、ユーザーストーリーで文書化された要求事項のリストがあります。テストが完了したかどうかを知る一つの方法は、あるリリースサイクルで特定されたすべての要件がテストされたことを確認することです。通常、リリースサイクルは、この作業をより管理しやすく、測定しやすくするために、さまざまなスプリントに分割されます。
バックログに移動したユーザーストーリーがある場合、ステークホルダーは、それらのユーザーストーリーが現在のリリースにとって重要であるか、または予定した時期にリリースできるように、十分な情報に基づいて判断する必要があります。
5.製品はリリースしても問題ないか?
プロジェクトの納期が近づくと、ステークホルダーは、製品を顧客にリリースしてもよいレベルかどうかを一括して判断する必要があります。この判断に役立つ要素は、プロジェクトの状況、リリース予定の機能、締結された契約などによって異なる場合があります。
6.品質が一定のレベルに達しているか?
製品があるレベルの安定性や成熟度に達していることが、目に見えてわかることがあります。その目安になるのは、次のような場合です。
- 一定期間内に発見される不具合の数が減り、深刻度も下がる
- テストよりも議論に多くの時間を費やしている
- 同じテスト手順を何度も繰り返すようになり、最終的に期待通りの同じ結果が得られるようになった
- 複数のスタンドアップミーティングで、同じ状況のアップデートが共有される
このような場合、テストを中止し、よりリスクの高い他のモジュールにフォーカスを移すのが常識です
開発チームは、テストを中止して他の分野に移行する時期かどうかを測定するためのさまざまな指標を持つべきです。すべては、チームの優先順位と、顧客を幸せにする方法に帰結されます。
作者について:
Raj Subrameyerは、国際的な基調講演者、ライター、およびキャリアコーチであり、技術的なバックグラウンドを豊富に持っています。 彼のBlog(rajsubra.com/blog/)では、読者の生活に役立ち、インスピレーションを与えるニュース、リソースを投稿しています。
(この記事は、開発元 Ranorex 社 Blog 「6 Questions to Help You Know When to Stop Testing」2020年11月11日の翻訳記事です。)