ソフトウェア製品のブラックボックステストにおいて、どのような条件・状況でも、他のテスターよりも多くの不具合を見つける凄いテスターがいます。その違いがどこから生じるのかについて、思考術をご紹介します。
使用しているテスト技法という点では、JSTQBのシラバスにも書かれている「エラー推測」や「探索的テスト」が近いと思います。(※詳細を知りたい方はシラバスをご確認ください)そして、それらを有効に活用するために、対象製品やテストに関する知識や経験と、これまでに発生した不具合情報を使用します。
これらはもちろん重要な要素です。しかし、不具合をより多く見つけるテスターはそれらだけではなく、テストに対する構え方にも違いがあります。
一例としてのご紹介になりますが、よく不具合を見つけるテスターは以下のような着眼点(チャーター)を使います。
- 開発者が想定しきれないことを考えてみる
- 利用者の観点で、使いやすいかどうかを考える
- 違和感があれば、深堀してみる
- 変更された機能により悪影響が出そうな箇所を確認する
このうち、「違和感があれば、深堀してみる」以外は、テスターがActiveに動くことで不具合を見つける着眼点です。さきほどのエラー推測や探索的テストも含めて、着眼点の多くがActiveなものになります。
テスターは目の前で起きている不具合を不具合として正しく検知し、見逃さないようにしています。多くの不具合を見つけるテスターは、操作中・動作中の振る舞いを様々な角度でウォッチし、その中で違和感を覚えたら、その違和感の正体が何かを探り、それが本当の不具合かどうかを確認する、というPassiveな着眼点(と調査分析)も使っています。
つまり、「違和感があれば、深堀してみる」は間違い探しというよりも、間違いに気付くための心構え+不具合かどうかの調査分析、と捉えた方が正しい解釈になります。この違和感の覚え方は、テスターにより工夫しています。例えばあるテストでは、全体を見渡しながら「いつもより動きがもたついた」や「見慣れないログが出た」などの事象から違和感を覚え、そこから不具合があるかどうかを切り分けます。
このようなActiveとPassiveの両方の思考を使って、不具合を見つけています。
なお、仕様を理解したうえで、その知識を使って不具合を検出するという思考が一般的です。しかし、仕様すら信じない状態で、動作確認結果により頭の中に「仕様」を組み上げていき、そこから問題点を検出するという、一歩進んだ概念で不具合を見つけるテスターもいます。