【テスターとしての心得】5つの考え方
テストには、予想される結果の比較だけでなく推論が必要
テスターはテストケースを実行し、予想される結果と比較するだけである、という一般的な見解があります。この考え方は、テストを単純な比較作業のように思わせ、賢い人がテストを設計し、期待値を決定しなければならないという事実を無視する。
テスト設計者は、何をテストすべきなのか、ましてや何を期待すべきなのかについて、権威あるガイドにアクセスすることはほとんどありません。また、利用可能なガイドは、解釈の対象となります。実生活では、ほとんどのテスト設計は、テスト担当者が関連性があると推測した経験からの推測に基づくものです。しかも、これらの推測は時間とともに変化します。テスターのように考えることは、探索的推論の技術に精通することです。
技術的、創造的、実践的に考える
技術的思考
技術をモデル化し、その原因や結果を理解する能力。ツールを使いこなし、システムの挙動を予測する能力、必要な技術的事実についての考えを持つことなどが含まれます。
創造的思考
可能性を見いだし、アイデアを生み出す能力。一見必要に感じないかもしれませんが、テスターは自分の経験から得るテストの仕方でしかテストができません。創造的思考を養うことによって存在するかもしれない問題点を探すことができるとより良いテストをすることができます。
批判的思考
アイデアを評価し、推論を行う能力です。これには、思考からバグを検出して排除する能力、製品の外観とその品質を関連付ける能力、特定の信念や行動に対する説得力のある基準を構築する能力が含まれます。
実践的思考
アイデアを実践する能力。テスト技法を作る、テストツールや労力を適用する、プロジェクトの範囲内に収める、といったスキルが含まれます。こちらも訓練次第でいくらでも実践的な思考を深めることができます。
全体として、テスターのように考えれば、物事は必ずしも見かけ通りにはいかないと信じるようになるはずです。
時にはヒューリスティック(経験則)を活用
ヒューリスティックとは、経験則のことで、効果的な推測をするための方法です。テストケースの数は無限であるため、時間や予算の制約がある中で、どのような小さなテストケースの集団が効果的なのか、経験から推測することはとても大事な要素になります。経験豊富なテスターは、テストのヒューリスティクスを収集し、共有することで、推測の改善につなげます。優れたヒューリスティック・セットは、迅速なテスト生成に役立ちます。
明示的な仕様だけでなく、暗黙的な仕様も考える
テストの根拠となる重要な情報が含まれている文献が、すべて明示的に提示されるわけではありません。製品が明示的な仕様に違反している場合、「仕様に違反しているので、その製品はおそらく間違っている」という比較的簡単な報告タスクがあります。暗黙の仕様に違反している場合は多くのケースを作成する必要があります。
明示的な仕様書は、顧客から権威あるものとして認められている有用な要件情報源ですが、暗黙的な仕様書は、顧客から権威あるものとして認められていない有用な要件情報源となります。
反論的思考と推理的思考を併せ持ち駆使して製品を評価する
この方法は、科学者が自然に関する特定の要因の理論について絶対的に確信することはできないという前提に基づき理論だでする思考になります。推測を立て、それに反論しようとする方法は、2つの重要な点でテストに適用されます:
製品が機能することを示すよりも、製品が動作しない等の不具合が生じることがあることを示す目的でテストする方がより強力です。
ソフトウェアに関するきちんとした信念(どのように動作するか、どのように優れているか、など)は、反証可能性があり、自分の信念に反するような新しい情報を想像することができるはずなのです。
PractiTest(プラクティテスト)に関する
お問い合わせ
PractiTest(プラクティテスト)のトライアルアカウントお申し込みや、製品デモの依頼、
機能についての問い合わせなどお気軽にお問い合わせください。