JSTQB(ISTQB)が定める、ソフトウェアテストの7原則 というものがあります。
つまり、それってどういうこと?っていうのを3分で理解できるように。ざっくり説明したいと思います。
テストの 7 原則をザックリ説明する編スタート!
その1: テストは欠陥があることは示せるが、欠陥がないことは示せない
つまりどういうこと???
そもそも全てをテストする事は不可能で、そのテストが完了したとしても、「欠陥が残ってない」とは言い切れないよ!だって全部テストしたとは言い切れないし!!
その2 : 全数テストは不可能
つまりどういうこと???
よっぽど単純な機能をテストする場合以外(そんな事はほぼない)、現実問題、全部テストするというのは不可能。
だって、例えば、何百万パターンもあるようなテストをコスト・時間をかけて毎回やるのも無理でしょ?!
なので、大事なとこはどこなのかちゃんと分析して、そこを中心にやろうぜ!
その3:早期テストで時間とコストを節約
つまりどういうこと???
開発サイクルの早い段階、要は、コードレビューとか、単体テストとか、でばバグ見つけた方が、時間かけずにちゃっちゃと修正できて時間もかからないよ!
その4 : 欠陥の偏在
つまりどういうこと???
欠陥は大体、全体的に程よく散らばって存在するのではなく、特定の部分に集中することがほとんどだよ!
なので、それをちゃんと把握して、そこを集中的にテストしようぜ!
その5 : 殺虫剤のパラドックスにご用心
つまりどういうこと???
同じテストを繰り返し行っていると、バグが見つからなくなるので、たまにテスト内容とテストデータを見直そう!
その6 : テストは状況次第
つまりどういうこと???
例えば、バグがあったら人が死んでしまうようなシステムをテストする時と、WEBアプリケーションのテストをする時と、どれくらいテストしたらいいか?何が大事か?・・・など状況によって変わるよ!
なので、状況をちゃんと把握してテストしよう!
その7 : 「バグゼロ」の落とし穴
つまりどういうこと???
いくらいっぱいテストして、いっぱいバグ見つけて、全部修正しても、そのソフトウェア・システムがクソ(パフォーマンス悪い、使いにくい、、誰も求めてない、、etc) だったら意味ないよ・・・ということ
というわけで、ソフトウェアテストの7原則について、ザックリ説明してみました!
詳しくは、JSTQB FLシラバスをご参照ください。