ここはこういう計画で・・・こっちはこうかな・・・
(お、システムテストの計画中かしら)
計画はいい感じ?
うん!計画をしっかり立てないと相手の陣地を取れないからね!
陣地?何の話をしてるの・・・?
え?ゲームの戦略を立ててたところなんだけど・・・
もー、ゲームの戦略じゃなくて、システムテストの計画を立てて!!
システムテストの全体像
システムテストは、大きく分けて計画、設計、実施、サマリの4つのステップに分けられます。システムテストをスムーズに運用するためには、これらの各ステップを丁寧に実施し、日々改善していくことが大切です。
①テスト計画
テスト計画は、システムテストをスムーズに運用するための重要な最初のステップです。テスト計画では、テストを一つのプロジェクトとしてとらえ、必要な品質、コスト、納期(QCD)を整理し、テストの計画と設計アプローチの概要を企画します。
テスト計画時に確認しておかなければならない項目には以下があります。
- 背景、目的
- テスト対象
- インプット資料
- アプローチ
- プロジェクトリスク
- テストケース、不具合管理
- 成果物、テスト総括の内容
- テスト環境
- スケジュール、体制
- 費用
背景、目的
まず最初に、プロジェクトの背景や関係者、課題、問題点などを明確化します。解決しなければならない問題や、長期的に蓄積された課題を特定し、プロジェクト遂行時の留意点を事前に共有します。
また、テストを通じて達成したい品質目標や、コスト面の目標なども明確にしておきましょう。目的をシンプルに設定することで、着実な品質確保を目指すことが大事です。
テスト対象
テスト対象のシステムや機能、非機能要件、周辺外部接続システムなどを明確にします。
インプット資料
要件定義書や基本設計書など、テストを組み立てるための資料や手がかりを確認します。
アプローチ
テストの目的を達成するための設計方法を明確化します。重要な機能やユースケースを明確にし、テスト設計手法と確認方法を記載します。
プロジェクトリスク
テスト遂行時のリスクや対象システムのリスク、法令規則への配慮などを明確化します。
テストケース、不具合管理
テストケースの作成管理方法や形式、OK/NGの判定方法、進捗管理方法を確認します。また、不具合の起票方法やランク付け、優先度、重要度などの管理方法を明確化します。
成果物、テスト総括
不具合の起票から管理方法、形式、判定方法、進捗管理方法などの成果物を事前に確認しておきます。また、テストサマリの際に総括としてどのような項目を含めるべきか、ある程度認識合わせをしておきます。
テスト環境
テスト対象のシステムやクライアントの端末、モバイル端末の環境などについて明確化します。
スケジュール、体制
マイルストーンやレビュー、不具合改修の確認日程、人員体制の予定などを明確化します。また、管理者、担当者、役割、人員教育についても明確化しておきます。
費用
予算について、人的予算、機材費用、アカウント費用などの内訳を算出します。
これらの項目を明確にし、事前に計画を立てることが、システムテストをスムーズに運用するための最初の一歩になります。
②テスト設計
テスト設計は、テストケースやテストシナリオを具体的に策定するプロセスです。テスト計画で設定された目標やアプローチに基づいて、テスト項目やテストケースを明確にし、テスト実行の準備を整えます。
具体的には、以下のようなステップを実施します。
テスト分析
テスト分析は、テスト対象となるシステムや機能の仕様を分析するプロセスです。この段階では、システムの要件仕様書や設計書を詳細に検討し、テストすべき機能や要件を整理します。また、仕様の抜け漏れや矛盾点を特定し、不明確な部分を明らかにします。
テスト設計
テスト設計は、テストケースやテストシナリオを策定するプロセスです。この段階では、テスト対象を基にテストケースを設計し、テストの範囲や深さを決定します。テスト設計では、テストケースの作成や優先順位の付け方、テストデータの準備などが行われます。
テスト実装
テスト実装は、テストケースやテストスクリプトを実際に作成するプロセスです。テスト実装では、テスト設計で決定されたテストケースを具体的な形に落とし込みます。
③テスト実施
テスト実施は、テスト計画やテスト設計で策定されたテストケースやシナリオを実際に実行するプロセスです。以下に、テスト実施の主なステップを示します。
テストケースの実行
テストケースには、テスト項目、テスト条件、テスト手順、期待される結果などが含まれており、テスト実行時は都度その結果を記録します。あとから実際の動作や出力と、期待される動作や出力を比較し、テスト結果を判定できるようにしておきます。
結果と不具合管理の連携
テスト実施は、システムが要求仕様書通りに動作しているかを確認する重要なステップです。正確で効率的なテスト実施を行うことで、システムの品質を向上させることができます。
この時、特に重要なのはテストケースの結果と不具合管理の連携です。
GENZでは、テスト設計した内容をもとにテストを実施し、不具合が見つかった場合は不具合票を起票し、お客様ご指定の方法にてご報告させていただきます。テスト実施と不具合管理の連携を大切にし、日々のテスト実施状況を管理しています。
以下のようにテストケースの結果と不具合(管理ツール)との連携を行っています。
【テストケース】
【管理ツール】
※Backlog,Redmine,JIRAなど
④テストサマリ
テストを終えた後は、対象システムの品質評価結果やプロジェクトの振り返り結果を含むテストサマリレポートを作成します。
このレポートでは、テスト設計のアプローチ、テストケース管理、不具合管理の方法などについて詳細に記載し、テスト遂行を経て得られた集計や総括内容を明確に示します。これにより、今後のプロジェクト改善に向けた手がかりを得ることができます。
具体的には、テストの目的やスケジュールなどの要約、不具合件数、テスト項目の消化状況や残件数、検出したバグのリストなどの情報をもとに、テスト実施結果を振り返ります。
また、テスト期間中に発生したインシデントの分析も行い、不具合の特徴や今後の改善に向けた推奨事項をまとめます。
GENZのテストサマリには以下の内容が含まれます。
総評
テスト全体の評価や改善点などを総括します。
テストへの受入状況
テストが予定通りに進行したか、問題点や課題があったかを報告します。
テスト計画に対する振り返り
テスト計画が適切かどうか、実際のテストとの適合性などを振り返ります。
テスト設計に対する振り返り
テスト設計の適切性やカバレッジの網羅性などを評価します。
テスト実施結果に対する振り返り
テスト実施時の問題点や良かった点などを振り返ります。
提案推奨とその他
テストプロセスやテストツールの改善提案、今後のテスト戦略などについて提案や意見をまとめます。
まとめ
本記事では、システムテストをスムーズに運用するための計画から設計、実施、そしてサマリまでのステップを紹介しました。
GENZでは、効果的なテスト計画を立てることから始め、適切なテスト設計を行い、実施を進め、最終的にはテストサマリを通じて得られた知見を次のプロジェクトに活かすことを重視しています。
テストを終えたあと、対象システムの品質評価結果や、プロジェクトの振り返り結果について、明瞭なレポーティングをさせていただくことも可能です。
不具合がどのように発見され解決されていったのか、今後のプロジェクトの参考としていただけます。
もし実際のテストサマリレポートがどのようなものか知りたい方は以下よりダウンロードください。