5.2.0 テスト計画作業と見積もり
5.2.1 テスト計画作業
5.2.2 テスト計画策定
システム全体に対するテスト計画とシステム一部に対するテスト計画がある
共通の活動として以下のようなものがある
テストのスコープとリスクを特定し、テストの目的を識別する
包括的なアプローチの定義
テストレベルの定義や開始・終了基準の定義も含む
ソフトウェアライフサイクルでの活動にテスト活動を統合し協調させる
ソフトウェアライフサイクル = 取得、供給、開発、運用、保守
次の活動をスケジューリングする
テスト分析、テスト設計、テスト実装、テスト実行、テスト結果の評価
リソースの割り当て
テストドキュメントの内容の決定
量、詳細度、構成、使用するテンプレート
モニタリングやコントロールのために以下の内容のメトリクス決定
テスト準備、テスト実行、欠陥の解決、リスク問題
テスト手順の詳細度を決定する
テスト準備や実行の再現性を確保するため
5.2.3 開始基準
テストレベルをどのタイミングで開始するか
代表的な例
テスト環境がテストに利用できるように準備してある
テストツールがテストに利用できるように準備してある
テスト可能なコードが利用できる
テストデーターが利用できる
5.2.4 終了基準
いつ終わらせるか、ステークホルダと共有しておく必要がある
代表的な例
カバレッジで測定できるもの
コードカバレッジ、要件や仕様、リスクに対するテストカバレッジでどこまでテストしたかがわかる
欠陥密度や信頼性の見積値
信頼度成長モデル
コスト
テストにかけるコストがなくなったら
コストと品質のバランスを考慮 or コスト優先
残存リスク
未修正欠陥やカバレッジの不足がどの程度あるかを基準にする
出荷時期などのスケジュール
時期が来てしまったらそれでテストを終わらせる
納期と品質のバランスを考慮 or 納期優先
5.2.5 テスト見積り
2つのアプローチ
メトリクスベースのアプローチ
過去のプロジェクト、類似プロジェクトのメトリクス
規模やドメインの違いで信頼できなくなったりもする
業界、組織でもっている代表的な値を基に
経験ベースのアプローチ
作業の実行者がエキスパートの経験による見積もり
納期や費用で帳尻を合わせてしまうことも
妥当な数字か確認しないといけない
考慮すべき要素
プロダクトの特性
テストケースを作成する際の基礎とする仕様やその他情報の品質
テストモデル、テストベース
プロダクトのサイズ
問題ドメインの複雑性
信頼性、セキュリティに対する要求
ドキュメンテーションの要求
開発プロセスの特性
組織の安定度
使用ツール
テストプロセス
関係者のスキル
時間のプレッシャー
テストの出力結果
欠陥数
修正に要する工数
5.2.6 テスト戦略、テストアプローチ
テストアプローチ
テスト計画やテスト設計において定義する
考慮すべき要素
プロジェクトの状況、プロジェクトのリスク、危険性、安全性、使用可能な資源、スキル、テクノロジー、システムの性質、テスト目的、法規制
代表的なもの
分析的アプローチ
リスクベーステスト:優先度が高いところの重点的に行う
モデルベースアプローチ
故障率(信頼度成長モデル)、使用法(運用プロファイル)に関する統計情報を使う確率的テスト
方法論的アプローチ
フォールトをベースにしたテスト(エラー推測、フォールト攻撃)
チェックリストをベースにしたテスト
品質特性をベースにしたテスト
プロセス準拠/標準準拠アプローチ
ある業界固有の標準、アジャイルなどのプロセスに基づいたテスト
動的で経験則に基づいたアプローチ
探索的テスト:発生した事象に対応して実行と評価をする
コンサルテーションベースのアプローチ
テストチーム外のエキスパートからの助言や指導を受けたところからテストをする
回帰的アプローチ
既存テストの再利用、回帰テストの自動化、標準化されたテストスイートを使う
組み合わせもできるよ!