WRブログ

テストの管理Vol.2 〜テストの見積もり〜

テストの見積もり

テスト計画を実効化するためには、テストに必要な工数を把握し、最適なプロジェクトの規模を設定した上で、テストにかかるコストとリソースをコントロールすることが求められます。ここでは、テスト実施前の不確定要素を軽減する適正な見積もりのポイントについて学んでいきます。

テストの見積もり方法

テストにかかる予算設定は、テストが必要なアイテムや適正なアプローチの手法などの不確定要素が多く、また大量のバグの発生による工数の手戻りなども想定されるため、事前に行うことが非常に困難な作業とされています。このギャップを解消するため、JSTQBでは2つの手法を推奨しています。

■類似プロジェクトのメトリクスからの見積もり

メトリクスは、さまざまな情報を計算や分析を加えて数値化し、「定量化されたデータ」として用いる指標です。過去に類似したプロジェクトがあれば、そのデータを基準にコストを見積もることは可能です。しかし、プロジェクトの規模やドメインによりメトリクスの類似性は低くなりますので、注意が必要な手法です。

■ヒューマンスキルからの見積もり

テスト作業の担当者や見積もりのエキスパートなど、適性な力量を持つ人間が見積もりを行う手法です。実際に、見積もりの経験が不足する場合は上司や同僚に意見を求める場合が多いようです。ただし、属人的なスキルに依存するため、意見を求める人の立場によって見積もりにバイアスがかかります。たとえばテスト担当者ならば必要な工数を余裕を持たせて申告しますし、統括的な立場の者はトータルコストや納期を基準に算出します。このため、複数の人間が見積もりを行い、適正値を判断することが賢明です。

このようにいずれの手法においてもデメリットがあるため、テストチームを管理するリーダーには、テスト計画のPDCAサイクルを見定め、適正な見積もりに必要とされる要素を事前に掌握しておくことが求められます。

見積もりに必要とされる3つの要素

適正な見積もりを行うためには、「テスト計画の要件」、「見積もりの誤差を生むリスクと対策」、「テストを運用する間接的なリソース」の3つの視点から必要な要素を検証し、実際のテスト運営との誤差を縮めることが賢明です。

■テスト計画の要件

見積もりを行う際には、テスト計画をしっかりと把握しておくことが求められます。たとえばテスト対象となるプロダクトの特性は、テストのアプローチを左右し、全体的な予算に大きく影響を及ぼします。以下のテスト要件が見積もりの基本要素です。

  • テスト対象となるプロダクトのサイズ、形状、品質
  • テストケースの仕様(テストモデル、テストベース)
  • テストレベル(受け入れ、機能、システム、信頼性、セキュリティ など)への要求事項
  • テスト成果物として作成するドキュメンテーションへの要求事項
■見積もりの誤差を生むリスクと対策

大量のバグが見つかれば、テストの工数が増え、計画との誤差が生じます。テストの出力結果によっては、ソフトウェアの修正を行う必要もでてきます。想定されるリスクや対策に必要となる作業も考慮して見積もりを行うことが求められます。

  • 現在認識されているテストアイテムの欠陥数
  • テストアイテムに想定されるリスク
  • 問題あるドメインの存在
  • テストの中止・再開基準
  • インシデント発生時に修正に要する工数
■テストを運用する間接的なリソース

テストの仕様に直接関与しなくとも、テストを行う環境や組織体制など、見積もりに影響を与える間接的なリソースも事前に検討しておく必要があります。

  • テスト環境(ハードウェア、ソフトウェア)
  • テストに使用するツールの信頼性(仕様に対応した改修・機器の購入 など)
  • テスト担当者のスキルと付随事項(要員計画とトレーニング計画)
  • 間接的なコスト(出張費や資料文献費 など)

テストの見積もりにおさえておきたいポイント

最後に、テストの見積もり時にチームリーダーが認識すべきポイントをご紹介します。

■テスト品質の維持が最優先事項

テスト計画策定時と実際に発生するコストにギャップが生じるのは珍しいことではありません。むしろ、テストの品質を担保できずに、テストの意義を損なうことを恐れるべきです。テストチームを管理するリーダーには、提示した予算の中でやりくりする以上に、リスクヘッジが可能な人員をあらかじめ確保するなどの柔軟な対応でテスト品質を維持することが求められます。

■まずはスモールスタートを目指す

そのためには、テスト計画時点では正確な見積もりを求めず、過去のメトリクスなどを参考にした大まかな予算からテストを開始し、進捗とともに適正値を目指すことを推奨します。

■不確定要素を解消する仕組みの構築

テスト計画において「想定されるリスクとその対策」を明確にしておくことが、見積もりの不確定要素を減らします。このために、テストの関係者に事前にしっかりとリスクを提示し、誤差の発生する要因を事前に報告を行うなど、リスクヘッジとなる組織体制を固めておくことが大切です。

適正なテストの見積もりは、テスト計画の要件を正確に把握し、不確定要素を解消する円滑なテストチームの運営により実現します。プロジェクト内でテストの意義を共有し、高品質なテストの運用を目指してください。

■テストの管理に関するその他の解説記事
テストの管理Vol.1 〜テスト計画のレベルと内容を知る〜
テストの管理Vol.2 〜テストの見積もり〜【本記事】
テストの管理Vol.3 〜テストの進捗管理〜
テストの管理Vol.4 〜テストの構成管理〜
テストの管理Vol.5 〜テストで考慮すべき2つのリスク〜
テストの管理Vol.6 〜インシデント管理〜


【参考文献】:
『ソフトウェアテスト教科書 JSTQB Foundation 第3版』

【参考URL】:
https://webrage.jp/techblog/testteam_04/ ,(参照 2017年7月28日) http://www.metrics.jp/abstract.html ,(参照 2017年7月28日)