そもそも最近は、旧来の「テスト」という言葉からあいまいさを取り除き、より効率的に、より管理しやすくするために、言葉を再定義する流れがある。漫然と「テスト」とだけ言ってしまうと、以下のような意味のどれだかわからないわけである。
- テストケース
- テスト実施
- テストケースを実際に実行して結果を得ること。いくつかのテストケースをまとめて一度に実行することも多い。
- テストを実施したときの日時や、対象のバージョン・ビルド番号、実施した人・環境、などの情報を持つ。
- テスト結果を産み出す。
- VSTSでは、テストの実行が相当する。手作業のものも自動実行のものもまとめて。
- テスト結果
これらの言葉を使ってテストプロセスを考えると、ざっと以下のようになる。ウォーターフォール的な書き方になっているが、このプロセスをミクロに回せばTDDっぽくなるかもしれない。
- テスト全体の計画を立てる。
- テストケースを設計・作成する。
- テストを実施する。
- テスト結果をもとに、計画にフィードバックする。
いま回帰テストはあたりまえになっているので、テストケースとテスト実施を分離して作業・管理できないような計画なり手法なりは、致命的に時代遅れであり、プロジェクトの成功という目的に対して無責任である。