ビジネスにおいて戦略は重要ですが、ソフトウェアテストも例外ではありません。テスト戦略にはさまざまなアプローチがあります。テストを成功につなげるためには、テスト戦略を適切に策定することが重要です。
今回は、ソフトウェア開発におけるテスト戦略とは何か、概要からわかりやすくお伝えします。テスト計画との違いや主なアプローチ、策定の流れも紹介するため、ぜひ参考にしてください。
- もくじ
1.テスト戦略とは?テスト計画との違い
テスト戦略は「テスト計画」と混同されることが少なくありません。まずはテスト戦略の概要や、テスト計画との違いを整理しておきましょう。
1-1 テスト戦略とは
テスト戦略とは、テストの初期段階で「テストをどのように進めていくか」を方向付けるアプローチのことです。テストマネージャーのように、テスト全体に責任を持つ人物が主に策定します。以降のテストプロセスは、テスト戦略に沿って進めていきます。
効果的なテストの成果を得るためには、適切なテスト戦略を策定することが大切です。策定されたテスト戦略が変われば、具体的なテストのやり方や最終的なテスト成果も変わってきます。
1-2 テスト計画との違い
テスト戦略とテスト計画は密接に関わっていますが、厳密には異なる要素です。両者の違いを押さえておきましょう。
テスト計画は、テストを進めるにあたっての計画を立てるプロセスのことです。具体的にはテストの対象範囲や要員、採用するテスト技法などを決めます。また、ITリソースや納期といったチーム内の制約も考慮し、全体のテスト日程を明確にします。
テスト計画の初期段階(前段階)で必要となるのが、テスト戦略です。旅行に例えると、テスト戦略は「旅行先を決めるプロセス」に近いといえます。旅行先を決めたうえで、「具体的な日程や交通手段、旅行用品などを決めるプロセス」がテスト計画です。
旅行先を決めるプロセスも広義的には旅行計画に含まれるため、「テスト戦略はテスト計画の一部」という捉え方もできます。旅行先の選択を誤れば最終的な満足度が下がるように、テスト戦略の選択を誤ればテスト成果も下がります。テスト品質の向上には、適切なテスト戦略の策定が欠かせません。
2.テスト戦略の主なアプローチや手法
テスト戦略にはさまざまなアプローチが存在し、適切なものを選ぶことが大切です。複数のアプローチを組み合わせることも多いため、幅広い手法を知っておきましょう。ここでは、テスト戦略の主なアプローチを、代表的な手法も交えて紹介します。
2-1 分析的テスト戦略
分析的テスト戦略は、「分析」を軸にしてテストを進めていくアプローチです。要件やリスクといった要素を分析し、分析結果にもとづきテスト範囲や優先順位などを決定します。
代表的な手法として、プロダクトのリスクに沿ってテスト設計を進めていく「リスクベースドテスト」が挙げられます。リスクベースドテストについては、次の記事をご覧ください。
2-2 系統的テスト戦略
系統的テスト戦略は、事前に定義・体系化されたテストケースやテスト条件に沿ってテストを進めていくアプローチです。故障に関するチェックリストや、ソフトウェアの見た目・操作性に関するポリシーなど、既に社内で定義・体系化された要素をベースにします。
テストの初期段階で不確定要素を減らせるだけでなく、管理者やテスト担当者の負担軽減にもつながります。ただし、保守的なテスト戦略であり、市場ニーズの変化といった外部要因には対応できません。
2-3 対処的テスト戦略
対処的テスト戦略は、テストを進めていく過程で発生したイベントに随時対処していくアプローチです。つまり、あえて明確なテスト戦略を策定しません。そのため、テスト設計やテスト実施においても対処的なテスト技法が採用されます。
具体的には、実施中のテスト結果を考慮しながら次に実施するテストケースを設計する「探索的テスト」と相性が良いといえます。探索的テストとは何かについて詳しくは、次の記事をご覧ください。
2-4 モデルベースドテスト戦略
モデルベースドテスト戦略は、プロダクトに関する特性を図式化した「モデル」を軸にしてテストを進めていくアプローチです。モデルには、ソフトウェアの状態遷移を可視化する「状態遷移モデル」、時間やバグ件数の関係性をグラフ化する「信頼度成長モデル」などがあります。
図やグラフなどによって要素間の関係性を可視化することで、テスト設計やテスト実施の効率化・自動化が可能です。このテスト戦略において、ソフトウェアから導出したモデルにもとづきテストケースを作成する手法を特に「モデルベースドテスト」と呼びます。
2-5 リグレッション回避テスト戦略
リグレッション回避テスト戦略は、「リグレッション」の回避を目的としてテストを進めていくアプローチです。リグレッションとは、ソフトウェアの不適切な更新によって、既存の機能や性能が損なわれることを指します。
このテスト戦略において、ソフトウェアの更新時に既存機能や性能を再確認する手法を、特に「リグレッションテスト」と呼びます。リグレッションテストについて詳しくは、次の記事をご一読ください。
2-6 プロセス準拠/指導ベースのテスト戦略
プロセス準拠/指導ベースのテスト戦略は、社外で定義・体系化された要素をお手本としてテストを進めていくアプローチです。プロセス準拠テスト戦略では外部組織による規格や標準を取り入れ、指導ベーステスト戦略では外部の指導者や組織などの助言を取り入れます。
定義・体系化された要素を用いる点は、系統的テスト戦略と同様です。管理者やテスト担当者の負担軽減にはつながりますが、テスト戦略の実行にあたってコストが発生する場合があります。
3.テスト戦略を策定する際の大まかな流れ
テスト戦略を策定する際の大まかな流れは、次の3ステップです。ここでは、テスト戦略の例を交えながら、大まかな流れを紹介します。
3-1 目的や方向性の明確化
まずはチームやプロジェクトの現状から、目的や方向性を明確にします。テストの目的が定まっていないと、テスト戦略のアプローチを正しく選択できません。
たとえば、顧客から短納期でのリリースを要求されている場合、限られた期間のなかでテストケースの取捨選択が必要です。この場合、テストの目的として「重大なリスクを最小化しつつ、最小限の工数でプロダクトの品質を保証すること」が考えられます。
3-2 基本戦略の策定
次に、目的や方向性に沿って、テストの基本戦略を策定します。基本戦略とは、テスト全体に適用される基本事項を含むテスト戦略のことです。どのアプローチを採用するか、テスト範囲や使用するITリソースなども決めます。
テストの目的や方向性が明確になると、選択すべきアプローチは絞られます。たとえば前述の目的の場合、重大なリスクを最小化するうえでリスクの分析が可能な「分析的テスト戦略」が有力です。必要に応じて複数のアプローチを採用することも考えましょう。
3-3 個別戦略の策定
最後に、テストの基本戦略を踏まえて、個別戦略を策定します。個別戦略とは、採用したアプローチやテスト対象の領域(機能や画面、バージョン)など、個々の要素に対するテスト戦略のことです。
個別戦略の策定では、個々の要素ごとに採用するアプローチやテスト技法、ITリソースの配分など、具体的な実施方法を掘り下げます。たとえば、ある機能にリスクベースドテストを採用する場合、リスクの洗い出しに用いるフォーマットや、テストケースの設計に用いるテスト技法などを明確することが必要です。
4.プロジェクトを成功させるテスト戦略の3つのポイント
適切なテスト戦略は、テストだけでなくプロジェクトの成功にもつながります。テスト戦略をプロジェクトの成功につなげる具体的なポイントは、主に次の3つです。
4-1 実現性のある戦略を考える
テスト戦略の策定では、実現性のある戦略を考えることが重要となります。ひたすら理想だけを追い求めてテスト戦略を策定しても、実現できないのでは意味がありません。たとえば、指導ベースのテスト戦略を採用するつもりだったものの、日程やコストの関係上難しくなるケースも考えられます。テスト戦略が頓挫することのないよう、チームやプロジェクトの現状を把握し、実現性のあるテスト戦略を考えましょう。
4-2 テストから得た成果を蓄積する
テストから得た成果を蓄積していくことが大切です。テスト戦略の策定にあたっては、過去のテスト成果からのナレッジが大いに役立ちます。たとえば分析的テスト戦略では、過去プロジェクトのバグ情報やテスト結果が分析の助けとなります。将来のテスト戦略にフィードバックすることも考えて、テスト成果を活用しやすい形に整理すると良いでしょう。
4-3 テスト教育を推進する
テスト教育を推進することも、テスト戦略をプロジェクトの成功につなげるうえで重要です。テスト戦略は全テストプロセスに影響します。テスト戦略が高品質だとしても、以降のプロセスを適切に進められなければ、高いテスト成果は得られません。そのため、テスト戦略の策定者だけでなく、戦略に従ってテストを進める人員のテスト教育も必要です。
バルテスでは、ソフトウェアテストや品質保証に関するeラーニングを提供しています。動画とテキストにより、Web上で効率的な学習が可能です。チームやプロジェクトのテスト教育を推進する際には、eラーニングを活用してみてはいかがでしょうか。
まとめ:高品質なテスト戦略でプロジェクトに成功を
テスト戦略とは、テストの初期段階で「テストをどのように進めていくか」を方向付けるアプローチのことです。
主な手法・アプローチは以下の通りです。
- 分析的テスト戦略
- 系統的テスト戦略
- 対処的テスト戦略
- モデルベースドテスト戦略
- リグレッション回避テスト戦略
- プロセス準拠/指導ベースのテスト戦略
さまざまなテスト戦略から目的や方向性にならって適切なものを選ぶことが求められます。
テスト戦略の策定はテストの成功、ひいてはプロジェクトの成功につながる大切な要素です。今回の内容を参考にして、高品質なテスト戦略を策定しましょう。