|
Part V 【テスト管理の2つの側面】
最終回となる今回は「テストを管理する」という観点でお話しをしたいと思います。皆さんは「テスト管理」というと何を想像されるでしょうか。テストケースの実行状況を管理する「進捗管理」を考えますか? それともバグの発生状況や収束状況を把握するための「問題管理」や「品質状況管理」を想起されるでしょうか? これらは、どちらもテスト管理の一部ですが、テスト管理全体を捉える概念ではありません。テスト管理を理解するには、テストを大きく2つの側面から見る必要があるのです。
ひとつの側面は、テストは「テストケースを消化する消化作業」であるという方向性です。この側面におけるテスト管理の命題は「より早く効率的にテストケースを消化する」ということになり、主な管理ポイントは先に述べた「進捗管理」に含まれます。しかし、より早く効率的にテストを進めるためには、テスト実施に必要なリソースやテスト実施を阻害する色々な要因を十分に把握しておかなければなりません。特にバグは、テスト実施を阻害する大きな要素になりますので「どのバグを優先して修正してもらうか」といったことがテスト実施の効率に大きな影響を及ぼします。このような要素まで含めて考えれば、この側面のテスト管理では「進捗管理」だけではなく「問題管理」も重要な管理ポイントになってきます。
もうひとつの側面は、テストを「バグを生産する作業」と位置づける方向性です。この側面のテスト管理の命題は「より早く多くのバグを生産(発見)する」ということになり、主な管理ポイントは「問題管理」に含まれます。この側面での管理の一例としては、バグの発生箇所の偏りから「ソフトウェアの弱点」を見つけ、そこを集中的にテストするといった戦術がよく利用されます。しかし、この戦術をとる場合はテスト進捗を併せて検討する必要があります。皆さんもご経験があると思いますが、バグが多く発生するとテストケースの消化スピードは低下します。進捗が遅れたところで弱点集中の戦術をとれば進捗が更に遅れてしまうことになりかねません。つまり、この側面のテスト管理には「問題管理」だけではなく「進捗管理」の要素も含まれているのです。
このように、2つの方向性でテストを客観的に捉えて「進捗管理」や「問題管理」を行い、それに基づいて品質状況の可視化をすること、これがテストを成功に導くテスト管理であることを是非知っておいて下さい。
|