書籍
第2章 ソフトウェアテストのプロセス
2-1. プロセスという考え方
用語集
- プロセス
- 過程、工程
- ソフトウェアプロセス
- プロセスフレームワーク + プロセスフロー
- プロセスフレームワーク
- 目的を叶えるためのフローを簡略化したもの?
- いくつかのアクティビティからなるもの
- プロセスフロー
- アクティビティが「どのような順序、時系列で発生するかの体系を示す」もの
- アクティビティ
- いくつかの実行可能なアクションからなるもの
- アクション
- 完遂されるべきタスク、成果物、求められる品質評価ポイント、進捗を示すマイルストーンで定義されるもの
気付き / 学び
なぜプロセスを知る必要があるか?
ソフトウェアテストのプロセスを知る前提として、ソフトウェア開発のプロセスを知る必要があるため。
最適なプロセスフローは?
対象物の技術的特性等によって変わる。
初めから作るべきソフトウェアが明確な場合は、ウォーターフォールモデル。
しかし、作るべきものが明確ではなかったり、変化のスピードが早い場合は、アジャイルやプロトタイピング、スパイラル等の反復を含んだフローが適している。
2-2. ソフトウェア開発プロセスとソフトウェアテスト
用語集
- 段階的詳細化
- ステークホルダーの期待から要件 →(分割・詳細化) 仕様 → 開発仕様 → 実装 →(構築・テスト) コンポーネント → 部品 → 機能 → リリース と、段階的に仕様を詳細化し実装するやり方のこと
- V字プロセス
- 段階的詳細化の考え方に元付いたプロセスフロー
- W字プロセス
- 「テストプロセスの一部の多数は仕様策定時点で実施できる」という考え方に基づいて、それぞれのV字の左側で実施するようにしたやり方
- V字の左側の実施直後に、テストのタスクの一部であるテスト計画やテスト設計を行う工程を設けている
V字プロセスのメリット・デメリットは?
- メリット
- 記載なし
- 段階的なテストが可能であり、品質が担保されやすい?
- デメリット
- V字の右側に時間がかかる(これを克服したものがW字モデル)
W字プロセスのメリット・デメリットは?
- メリット
- V字の右側では、テストによって見つかった欠陥の特定や修正を行う
- ソフトウェアの設計をより良くすることができる
- 機能を設計するとき「何ができるようになるか」を中心に考える
- テストを設計するとき「それができなくなってしまうケースはないか」を考える
- → 見過ごされがちなケースを見つけて、設計に反映することができる
- デメリット
- 記載なし
- 機能がリリースされるまで、時間がかかりそう。