Oct
31
ほんの5~6年前(2000年頃)は、テストと言えば手動で行うのが当たり前でした。
「テスト項目表」なるExcelの表が存在し、テスターはそれを実施して
○とか×とか付けていくのです。
このテストのメリットは、簡単なことです。
おそらく、テスト項目表を見れば昨日今日現場に入った人でもテストを実施できます。
しかしこの方法には致命的な欠点があります。
それは「テストは一度やったら終わり」だということです。
プログラムを作って、テストして、バグを修正して、リリース。
これだけならば、確かにテストは一回でOKです。
しかし、実際にはそうではありません。
テストして、バグを修正して、テストして、仕様修正が入り…と
テストを一度やった後にプログラムの改修が入らない事などまずあり得ないのです。
本来なら、プログラムを修正したのならば
その部分のテストをやり直さなければなりません。
これはいわゆる「デグレード」を防ぐために必要で
プログラムの一箇所を修正したときに、それによる影響がどの程度あるかという事は
誰にも予測できないのです。
「修正による影響範囲を調べろ」とか言うナメた指示を受けることはありませんか?
あんなもの、全くの無意味なのです。
どんなに影響範囲を調査したところで、
実際にシステムを動かしてみないと影響範囲は絶対にわからない のです。
あなたに限らず人間の能力は、それを適切に検知できるほど優れてはいません。
ですから厳密に考えれば、プログラムの1箇所でも修正したら
システム全体のテストをやり直さなければならないのです。
これはあまりに無謀な挑戦であり、そんな事を実践している現場はどこにも無いでしょう。