Introduction
本コラムでは、テストプロセスの全工程にて共通して行われるテスト管理について、その概要と実施方法、進め方について解説を行っていきます。
目次
テスト管理のプロセス
テスト管理とは、テスト計画からテスト報告までのテストプロセスが計画どおりに行われているかを確認し、うまくいっていない場合に対策を実行することです。作業の進捗状況や品質状況の分析を実施し、プロジェクトマネージャーおよび必要なステークホルダーに報告し、対策を講じます。テスト管理では、テストプロセスだけでなく、テストの組織やテストのリスク、テストウェア、不具合等の管理も行います。
テスト管理のプロセスは以下のようになります。
本章では、テスト管理の中でも問題が起きがちなテスト実行時のモニタリング・コントロールについて説明します。テスト実行中においては、1件の不具合がテスト実行の進捗に大きな影響を与えることがあります。また、不具合の発生状況によってはプロジェクトの計画を見直す必要もでてきます。そのため、SHIFTでは定量的で客観的な材料をリアルタイムに集め、迅速に正しい判断ができるよう心がけています。
▼あわせて読みたい▼
システムテスト(総合テスト)とは?その目的・観点・種類、実務で使える手順について解説のページへ
テスト計画とは?目的や種類・作り方・注意点をわかりやすく解説のページへ
SHIFTが考える理想的なテストリソース量とは?2つの観点とフェーズにおける算出方法について解説のページへ
モニタリングを通してやるべきこと
テスト実行の進捗や不具合の規模や傾向といった情報を、テスト管理者が収集して管理します。テスト管理者は把握した情報を基に、プロジェクトの方向性を判断する情報をプロジェクトマネージャーに提供します。
テスト管理者はテスト実行中の様々な事実、結果を誰にでも分かる状態に可視化し、プロジェクトマネージャーに適宜提供する必要があります。可視化すべき項目は大きく分けて、下記になります。
(1)テスト実行の進捗状況
(2)不具合情報
(1)テスト実行の進捗状況では、テストケースの消化状況、作業工数等を確認します。(2)不具合情報では、不具合の規模や傾向、クローズ状況等を確認します。(1),(2)の情報をもとに、プロジェクトマネージャーはテストの追加やリリース時期の変更、テスト範囲の変更といったテスト計画への変更が必要かを判断します。
テスト実行の進捗状況の確認方法
テスト実行の進捗をできるだけ正確に把握する必要があります。実際の現場では、テストケースの消化率(件数ベース)でテスト実行の進捗状況を管理していることが多いです。テストケースに実行結果欄を設けて、「合格」「不合格」「未実行」「対象外」「保留」といった結果を記入し、総ケース数における消化ケース数の割合からテストケースの消化率を管理しています。
しかし、テストケースによって1ケースあたりの予定工数が、5分のケース、10分のケース、30分のケースというように異なる場合があります。その場合、件数ベースの消化率だけでは正しい進捗状況を把握できない場合があるため、工数ベースでの消化率もあわせて確認する必要があります。工数ベースの消化率は、総ケース数の予定総工数における消化ケース数の予定総工数の割合で算出します。
消化率(ケース数ベース) = 消化ケース数 ÷ 総ケース数
消化率(工数ベース) = 消化ケースの予定総工数 ÷ 総ケースの予定総工数
SHIFTでは、テスト実行の進捗状況を正しく把握するために、ケース数ベースでの消化率とあわせて工数ベースでの消化率を確認しています。
また、テストケースの消化率に加えて、テスト実行結果欄が「NG」や「保留」となっているテストケースが「OK」になるまでの時間を把握する必要があります。
テストケースが「OK」になるまでの時間は、テスト実行結果が「NG」の場合は、不具合が開発者によって改修されるまでの日数にテストの再実行時間を合計します。「保留」の場合は、保留となった原因が解消する日数にテストの実行時間を合計します。このようにして、計画したテスト実行スケジュールとの差異を把握して、テスト実行の進捗状況を把握します。
1. テスト実行結果「NG」の場合
不具合が改修されるまでにかかる日数+再テスト実行時間
2. テスト実行結果「保留」の場合
保留となった原因が解消する日数+テスト実行時間
不具合情報の確認方法
不具合情報は、件数、重要度、優先度、傾向、クローズ状況等を確認します。
不具合の重要度とは、システムの利用者に与える影響度合いのことであり、システムのリリースに影響を与える度合いでもあります。不具合の優先度とは、欠陥の対応を優先的に行う度合いのことです。テスト実行の進捗に影響を与える度合いからも優先度を検討します。プロジェクトマネージャーは不具合の重要度と優先度に基づいて、不具合改修を判断します。これらの情報は、テスト実行管理のスケジュールだけではなく、システムが予定通りリリースできるかどうかの判断材料にもなります。
SHIFTでは、不具合の傾向の把握のために機能別、テスト観点別、テスト環境別等に不具合の発生状況を整理します。例として、機能別に分析をする場合は、まず、不具合の情報に基づいて機能ごとに不具合の件数を集計します。次に機能ごとに計画していた不具合数と比較します。これにより、不具合の発生割合が大きい機能を特定することができます。不具合の原因についても不具合の情報を整理して分析します。不具合の原因には「仕様の認識違い」「プログラムの記述間違い」「テストケースの記載間違い」などがあります。不具合の原因を分析することにより、ある機能で特定の原因に起因する不具合が多いと分かったり、重要度の高い不具合が多発している機能が見つかったりします。
不具合のクローズ状況の把握では、不具合チケットが対応完了しているのかを確認します。特に、重要度、優先度の高い不具合がクローズできていない場合は、リリースの判断に大きな影響を与えます。
(1)テスト実行の進捗状況、(2)不具合情報はプロジェクトの進行に伴い、急速に変化していきます。そのため、モニタリングを実施する際には、テスト管理ツールなどを用いて効率的かつリアルタイムに状況を確認できるようにしておく必要があります。SHIFTでは、統合型ソフトウェアテスト管理ツール“CAT”を用いて、入力されたテスト実行結果と不具合情報をリアルタイムで集計、分析できるようにしています。
テスト実行に関してはこちらもご覧ください。
>>テスト実施(実行)ですべきこと~必要な準備と実施手順について紹介~のページへ
テスト管理者とプロジェクトマネージャーがすべき役割と判断
テスト管理者はテストの進捗状況と不具合情報といったテスト実行管理の情報をプロジェクトマネージャーに報告します。テスト実行管理の情報を基にテスト管理者とプロジェクトマネージャーは「現状維持」「スケジュールの変更」「テストケースの追加・見直しをする」といった判断をし、具体的な対策を講じます。
スケジュールの変更が必要になるのは、テスト実行におけるケース消化に予定していた以上に時間がかかった場合、不具合を大量に検知した場合等です。テスト実行のスケジュールが遅延するので、テスト期間の延長やリリースの延期などを検討するよう進言します。
テストケースを追加・見直しして実行したほうがよい場合とは、実施中のテストレベルで見つけるべき不具合が、テストケースの項目以外から多く見つかった場合等です。作成されたテストケースのテストタイプ、テスト範囲、テスト観点、テスト条件が不足していることが考えられます。そこで、テスト管理者はプロジェクトマネージャーや開発者とともに影響範囲の確認を行います。その結果から、テスト計画、テスト設計方針の見直しを行い、プロジェクトマネージャーに、追加テストや既存のケース内容の見直しを実施するように進言します。
プロジェクトマネージャーの立場では、プロジェクトの計画変更はできれば避けたいと考えがちになります。そのため、テスト管理者がテストやプロジェクトの方向性について進言する場合は、プロジェクトマネージャーが正しい判断をできるように、定量的で客観的な材料を集める必要があります。
テスト管理についてはこちらもご覧ください。
>>テスト管理とは?その概要と実施方法、進め方について解説のページへ
まとめ
以上のように、テスト管理は、テスト管理者がテストの進捗状況と不具合情報を定量的に可視化し、その情報を基にプロジェクトマネージャーがプロジェクトの方向性を決める意思決定をしていくことを目的に進行します。そのためには、テストの進捗状況や不具合情報の確認の仕方や管理方法を理解することが大切です。また、特に大型案件やマルチベンダー体制でのプロジェクトでは、プロジェクトが進むにつれて管理すべき情報が膨大になるため、テスト管理に特化したツールの導入をおすすめします。ぜひ活用をご検討ください。
株式会社SHIFTでは、開発の上流工程からテストまでの一気通貫でのシステム開発を請け負っています。多数の導入実績を誇っており、あらゆる分野の開発に携わってきました。
また、一部分だけのご依頼も可能です。本記事で紹介したソフトウェアテストだけの実施でもご相談ください。特にソフトウェアテストは弊社が力を入れてお客様のサポートをさせていただいている分野です。安心・安全にソフトウェアを使うためにも、ソフトウェアテストでお困りであればぜひSHIFTまでお問い合わせください。
>>ソフトウェアテスト・第三者検証のページへ
>>導入事例ページへ
>>料金についてページへ
>>お問い合わせページへ
ソフトウェアテストの悩みはSHIFTが解決できます!
「自社で効率よくソフトウェアテストを実施できない…。」
「どうしてもテスト工数が膨らんでしまう…。」
「期日に間に合わない…。」
「リリース後に不具合が発生してしまっている…。」
といった悩みを抱えている企業は多いでしょう。
質の高いソフトウェアテストを効率よく行うためには、多くの知識や経験が必要です。社内に経験豊富なIT人材が不足していると、質の高いテストを実施するのがむずかしく、かといって一からIT人材を集めるためには膨大な時間とコストがかかってしまいます。
そのような悩みは、SHIFTのソフトウェアテスト・第三者検証のサービスを利用いただくことで解決できます。
\おすすめの資料/ ※すべて無料でダウンロードいただけます。
・3分で知るSHIFTのテストサービス
・テスト効率が大幅アップ、人手不足解消の切り札に <理由&メリット>
・ソフトウェアテストを外注すべき5つの理由とは!?
・サービス導入事例集
これまで導入いただいた企業様は3,000社以上。その豊富な専門知識と経験を活かして、高品質のソフトウェアテストを効率よく行い、開発のサポートをいたします。
ぜひSHIFTのソフトウェアテスト・第三者検証をご利用ください。