ソフトウェアテストといえば?
戦略とシステム化プロセスというページをつくりました。「なるほどテストとは奥が深いものだなぁ」などとと思いつつ備忘録的に整理したものです。
上のページを作成するにあたり参考とさせていただいた書籍には、工程毎に実施すべきテスト、テストの種類、利用できるテスト技法について解説がなされています。
で、その中に「その他のテスト」という分類がありまして、具体的には「アドホックテスト」「探索型テスト」が分類されています。
「アドホックテスト」とは、ランダムテスト、モンキーテストといわれるもので、要するに出鱈目に、場当たり的に(アドホックに)操作して問題がないかを確認するテストです。
「探索型テスト」とは、テスターの経験や知見や、事前のテスト結果に応じて、探りを入れながら(探索的に)進めていくテストです。
そこで、ふと「多くの人は、テストといえばこの『アドホックテスト』『探索型テスト』を指しているのではないか」ということを思ったのでした。
ソフトウェアテストは簡単ではない
SIerの世界はその多重下請構造ゆえか、要件定義などの上流工程にスポットライトが当たります。反対に”テスト”にフォーカスが当たることはあまりありません。
そのせいか、マネージャーの中には、テストのエンジニアリングについてほとんど理解していない人が多い気がします。
下手すると、無計画にテスト工程に突入してしまい、テスト環境やテストデータを整えるだけでテスト期間を終えてしまうという笑えないことになりかねません。
ソフトウェアテストエンジニアリングを強化する
「品質は上流で作りこむ」という言葉があります。異論はありません。上流工程での設計がデタラメだとどうにもなりません。
しかしだからといって、(当たり前なのですが)「テストに価値がない」あるいは「テストは誰にでもできる」ということになりません。
テストに関するエンジニアリング知識がないと、よくても「アドホックテストや探索型テストを非効率に行う」くらいしかできません。
品質を作りこむのは上流かもしれませんが、品質を担保するのはテストです。テストは最後の砦であり、顧客との約束(の1つ)です。
参考文献
テストなんて誰でもできると思っている方は、この本を読むといいと思います。