Page 1
テスト技術者資格制度 Advanced Level テストアナリスト
第1章 テストプロセス
藤沢 耕助
Page 2
アジェンダ
1. イントロダクション
2. ソフトウェア開発ライフサイクルにおけるテスト
3. テストプロセス
2
Page 3
イントロダクション
1. イントロダクション
2. ソフトウェア開発ライフサイクルにおけるテスト
3. テストプロセス
3
Page 4
イントロダクション• テストアナリストの主要な作業
• 分析、設計、実装、実行
• ソフトウェア開発ライフサイクルおよびテスト対象システムの種類は、テストのアプローチに影響を及ぼす
4
Page 5
ソフトウェア開発ライフサイクルにおけるテスト
1. イントロダクション
2. ソフトウェア開発ライフサイクルにおけるテスト
3. テストプロセス
5
Page 6
ソフトウェア開発ライフサイクルにおけるテスト
• テストに対する長期のライフサイクルアプローチを、テスト戦略の一環として考慮する
• シーケンシャルなV字モデル
• イテレーティブモデルおよびインクリメンタルモデル
• アジャイルプロジェクト
• テストアナリストはモデルの定義に依存することなく、最も有効な役割を決定してその役割のために作業する必要がある
6
Page 7
テストプロセス
1. イントロダクション
2. ソフトウェア開発ライフサイクルにおけるテスト
3. テストプロセス
7
Page 8
テストプロセス
8
1. 計画、モニタリング、コントロール
2. テスト分析
3. テスト設計
4. テスト実装
5. テスト実行
6. 終了基準の評価とレポート
7. テスト終了作業
Page 9
テストプロセス
9
1. 計画、モニタリング、コントロール
2. テスト分析
3. テスト設計
4. テスト実装
5. テスト実行
6. 終了基準の評価とレポート
7. テスト終了作業
Page 10
テストプロセス 1. 計画、モニタリング、コントロール
10
• テスト計画 - テストの種類(× 機能テストだけ)
- テスト見積もりのレビュー
- 構成テスト(OS、ブラウザ…)
- …
• テストのモニタリングとコントロール - 定量的データ収集
Page 11
テストプロセス
11
1. 計画、モニタリング、コントロール
2. テスト分析
3. テスト設計
4. テスト実装
5. テスト実行
6. 終了基準の評価とレポート
7. テスト終了作業
Page 12
テストプロセス 2. テスト分析
12
• テストベース分析 • ドキュメントが存在すること
• レビューが実施されていること
• テスト条件識別 - テストベース、テスト目的の分析 - 階層アプローチを使用する - リスク対処に必要なテスト条件
…
Page 13
テストプロセス
13
1. 計画、モニタリング、コントロール
2. テスト分析
3. テスト設計
4. テスト実装
5. テスト実行
6. 終了基準の評価とレポート
7. テスト終了作業
Page 14
テストプロセス 3. テスト設計
14
• テストケース種類の決定 - 具体的テストケース(手続き化されている) - 論理的テストケース(手続き化されていない)
• テストケース作成 - 多くの場合課題となるのは、期待結果を定義すること • テスト分析・設計の際は対象のテスト目的、
テストレベルに留意する
Page 15
テストプロセス
15
1. 計画、モニタリング、コントロール
2. テスト分析
3. テスト設計
4. テスト実装
5. テスト実行
6. 終了基準の評価とレポート
7. テスト終了作業
Page 16
テストプロセス 4. テスト実装
16
• テスト実行順序の決定 - テストスイート編成、リスクベースド戦略、 - 依存関係、テスト可否を考慮
• テスト環境設定 - 適切に動作し、必要に応じて複製可能であること
• 手続き化されていないテスト戦略 - 分析的なリスクベースドテスト戦略と組み合わせる - スケジュールを立て、明確な目的を持って使用する
• テスト実行準備 • テストウェア、テストサポートツール及び関連プロセスが
使用できることを確認する
Page 17
テストプロセス
17
1. 計画、モニタリング、コントロール
2. テスト分析
3. テスト設計
4. テスト実装
5. テスト実行
6. 終了基準の評価とレポート
7. テスト終了作業
Page 18
テストプロセス 5. テスト実行
18
• 計画に従ったテスト、手続き化されていないテストの統合 • 実行結果と期待結果の比較を行う • テストドキュメントが正しいことを確認する • 結果の記録 - バージョン - 環境構成 …
• 回帰テスト - 新しい欠陥の摘出には不向き
• テストケースを追加するために、欠陥追跡ツールを使用する
Page 19
テストプロセス
19
1. 計画、モニタリング、コントロール
2. テスト分析
3. テスト設計
4. テスト実装
5. テスト実行
6. 終了基準の評価とレポート
7. テスト終了作業
Page 20
テストプロセス 6. 終了基準の評価とレポート
20
• 終了基準の評価 - データの正確性を確認する - ステータスコードの意味を理解し、一貫性を保って
ステータスを適用する
• レポート作成 - メトリクス収集 - レポートツールを使用する
Page 21
テストプロセス
21
1. 計画、モニタリング、コントロール
2. テスト分析
3. テスト設計
4. テスト実装
5. テスト実行
6. 終了基準の評価とレポート
7. テスト終了作業
Page 22
テストプロセス 7. テスト終了作業
22
• 成果物の引渡し・保管 - 回帰テストセット - テストケース、テスト環境 - 欠陥情報 …
• 振り返りミーティング - テストプロジェクトの振り返り - 開発ライフサイクル全体の振り返り
• 構成管理 - テスト結果 - テストログ - 他ドキュメント
Page 23
まとめ
23
• テストアナリストの主要な作業
• 分析、設計、実装、実行
• ソフトウェア開発ライフサイクルおよびテスト対象システムの種類は、テストのアプローチに影響を及ぼす
Page 24
勉強していて感じたこと
24
• テストアナリストは、テスト分析・設計のスペシャリスト(※)
• テストマネージャとの住み分けがしっかり定義されている
• 住み分けは必要だが、連携も重要
• アジャイル系プロセスの基礎知識があると1.2章が読みやすいかも
※テスト技術者シラバスにおいては、テスト実装に「テスト実行順序」のプロセスを含む
Page 25
テストアナリストは、終了基準を満たすことに向けて進捗を評価するために、テストマネージャが使用する情報を提供し、データが正確であることを確認する責任がある。
The Test Analyst is responsible for supplying the information that is used by the Test Manager to evaluate progress toward meeting the exit criteria and for ensuring that the data is accurate.