ソフトウェアテストにおいて、適切な工数見積もりをしなければ余分に労力やコストがかかる場合があります。そのため、適切な工数見積もりをするために手法やステップなどを把握することが重要です。
この記事では、ソフトウェアテストにおいて適切な工数見積もりをするために必要な手法やステップなどを詳しく説明していきます。
ソフトウェアテストの工数見積もりはなぜ重要?

ソフトウェアテストの工数見積もりはタスクの割り出しや、テストにおいて必要事項の管理に欠かせません。工数見積もりには、タスクやテストをする目的、納品までの日程、必要な人数、費用などが含まれていることが一般的です。
テストを進めるにあたって、ある程度の工程を明確にしておかなければ予定通りのテストができない、日程や費用がかかり過ぎたなどの問題点が発生しやすくなります。
テスト工数を見積もる3つの手法

ソフトウェアテストの見積もり方法は複数あり、それぞれ特徴が異なります。また、活用するべきフェーズや精度などが異なるため状況に合わせて使い分けることが重要です。
テスト工数を見積もる上で次の3つの手法が挙げられます。
- 類推見積もり
- 係数見積もり
- 不確実性のコーン
それぞれの見積もり方法をよく理解して、タイミングや状況、目的などに応じて適切な方法を選ぶようにしましょう。
1.類推見積もり
類推見積もりとは、これまでにあった類似しているプロジェクトを参考にして開発の初期段階において見積もりを算出していく方法です。
見積もりを準備するための期間はほかの見積もりよりも短くなりますが、予想工数や費用において大きくずれない特徴があります。しかし、担当者の勘や経験に頼ることが多いので担当者次第で質が変わります。
2.係数見積もり
係数見積りとはパラメトリック見積もりともよばれており、過去のプロジェクトを基準としてパラメーターを設定することで、プロジェクトにおける費用やコストを見積もる方法です。
類推見積もりと同じように過去のプロジェクトを参考にしますが、類推見積もりはそのままのデータを使うのに対して、係数見積もりは過去のデータから推計式を作る点が異なります。
3.不確実性のコーン
不確実性のコーンとは、システム開発を進めるうえで初期段階のフェーズの方が期間や費用などのばらつきが大きく、だんだんとフェーズが進むにあたってばらつきが小さくなることをいいます。従来はプロジェクトが始まった時点で計画をする方法でした。
しかし、ウォーターフォール型からアジャイル型にプロジェクトマネジメントの主流がかわりつつあることから、定期的に見積もりを見直すことが必要になっているのです。
正確なテスト工数を見積もりする3つのステップ

正確なテスト工数を見積もるためには、十分な準備が必要です。テスト工数の見積もりをすることでタスクの洗い出しや費用の明確化などにつながることから、ソフトウェアテストにおいて重要な工程となります。
正確なテスト工数を見積もりするために次のようなステップで進めることが一般的です。
- タスクの洗い出し
- 人員を割り当てて係数と工数を計算する
- 納期から逆算する
ステップ1.タスクの洗い出し
ソフトウェアテストにはさまざまなテストがあります。テストの仕様書のほかに、更新用APIや参照用API、画面A、バッチなどの作成があります。
さらに、テストにも単体テストや総合テスト、性能テストなど複数のテストがあることが一般的です。それぞれの工程において作業内容を細分化してタスクを明確に洗い出すようにしましょう。
ステップ2.人員を割り当てて係数と工数を計算する
それぞれのタスクに対して、人数の割り当てや係数と工数を計算していきます。
例えば仕様書更新の作業をおこなうために対応する人数や担当者、工数などを明確に設定しましょう。すべてのタスクにておこなうことで、プロジェクト全体的に必要なヒューマンリソースと日数が明確になります。
タスクごとに明確におこなうことで、プロジェクトが始まってから人材不足や時間不足で悩むことがなくなるでしょう。
ステップ3.納期から逆算する
プロジェクトは必ず納期を守る必要があります。そのため、納期から逆算していつから開発着手するべきか、どのような工程で進めるか明確にしていきましょう。
このとき担当者の休暇も考慮することが重要です。無理のない状態で納期に間に合うようにスケジュールを作成するようにしましょう。スケジュール通りにいかない時は、定期的に見直しが必要になる場合があります。
テスト工数を見積もりするときの注意点は?

テスト工数を見積もりするとき、バッファとよばれる予備の工数を設定するようにしましょう。どれほど細かく予定を設定しても、予定通りに進まない可能性があります。
予期しないことが発生した場合においても、納期内に対応できるようなスケジューリングが求められます。例えば、全体の工数を1.5倍で計算するなど工夫が必要です。
テスト工数のスケジュール作成で知っておきたいポイント

見積もり方法においてタスクを見つけた後は、スケジュールを作成していくことが必要です。
一般的にはWBS(Work Breakdown Structure、作業分解構成図)方式とよばれる、タスクを細分化していく方法で構造的に示します。この時点でほかのメンバーと同じタスクをしないようにしましょう。
また、次のタスクが特に抜けがちなので注意をしましょう。
- 自動テストの動作確認
- テストデータを準備
- テスト環境を準備
テスト工数の見積もりでよくある3つの質問

テスト工数の見積もりは、ソフトウェアテストにおいて重要な要素です。見積もりにはテストに関わる人数やテスト内容、納品内容などが含まれています。
さらに、必要な費用を記載することが一般的です。しかし、テスト工数の見積もりにおいて不明な点がある場合もあるでしょう。そこで、テスト工数の見積もりをする上で 次のように よくある質問をまとめました。
- テスト工数を見積もる理由は何ですか?
- テスト工数の見積もりを評価するときのポイントは?
- システム開発の見積もりにはどのようなことが書かれていますか?
質問1.テスト工数を見積もる理由は何ですか?
テスト工程の見積もりは見積もり金額やタスクの割り出しに欠かせません。見積もりの根拠を示すためには、どのようなテストをおこなうか、必要な技術、人数、納品物などを明確にすることが重要です。
これらの項目をすべてテスト計画書に含めることが一般的であり、テスト計画書に金額を加えたものがテスト工数の見積書となると考えて良いでしょう。
質問2.テスト工数の見積もりを評価するときのポイントは?
テスト工数の見積もりを評価するにあたり、次の点に注意をするようにしましょう。
- 作業をする内容が明確であるか
- 根拠のある数字であるか
- リスク対策が含まれているか
- 管理プロセスが含まれているか
- 機材をはじめとした費用がふくまれているか
- 調査分析項目が含まれているか
数字や作業内容、管理プロセスなどそれぞれの項目において明確になっていることが重要です。
質問3.システム開発の見積もりにはどのようなことが書かれていますか?
システム開発の見積もりには、次のような項目が含まれていることが一般的です。
- 対象範囲
- 活用する技術
- 開発方法
- 納期までの期間
- 要件
- 開発環境
- テスト
- 納品物
見積もりには、対象範囲と範囲外の工程を必ず明記することが必要です。システムの規模によっては考慮するべきことやかかる費用が大幅に変わってきます。
そのほか、開発方法や技術、要件、開発環境などシステム開発に必要な項目を記載するようにしましょう。
まとめ

テスト工数の見積もりをすることで、タスクの把握やテスト工程の管理ができます。タスクは細分化して、必要な日数や人数を設定するようにしましょう。
また、バッファを持たせることによって、無理のないテストを進められ結果的にソフトウェアの品質向上につながります。テスト工程見積もりに費用を加えることによって、テストの全体像を把握できるようになります。