問題の歴史:
手動テストは、もともとシステムの要求と期待される動作に一致するシナリオ(いわゆる「ポジティブシナリオ」)のみをテストする習慣に基づいていました。しかし、時が経つにつれて、ソフトウェアは予期しない条件や誤った条件でこそ故障することが多いことが明らかになりました。
問題:
ポジティブシナリオだけではアプリケーションの堅牢性や信頼性を保証できません。ネガティブシナリオ(例えば、無効な入力や不適切なアクション)をテストしなければ、実ユーザーに現れる重大な欠陥を見逃す可能性があります。
解決策:
両方のテストを行うこと:
重要なポイント:
製品がポジティブシナリオの完全なセットを通過する場合、ネガティブテストを無視できますか?
いいえ。ネガティブシナリオにおけるバグは、製品の安全性や信頼性に重大な影響を及ぼすことがよくあります。
ネガティブテストは必ずプログラムのエラーを引き起こす必要がありますか?
いいえ、ネガティブシナリオに対処する適切に実装されたプログラムは、誤ったデータを正しく処理し、「クラッシュ」せず、不正確な結果を出さないはずです。
システムのすべての部分に対してポジティブテストとネガティブテストを書くことは同じくらい重要ですか?
いいえ、時には重要でない部分や成熟した部分についてはネガティブシナリオの数を減らすことができますが、脆弱でクリティカルな場所ではこれは必要になります。
会社はウェブサイトの登録フォームのテストで、正しい値(有効なメールアドレス、パスワードなど)のみを確認し、誤ったバリエーションを考慮しませんでした。
長所:
短所:
テスターは、無効なメールアドレス、非常に短いまたは長いパスワード、すべてのフィールドへの特殊文字の入力に対するテストを追加しました。
長所:
短所: