
あらゆる場合に於いて、データが正確に処理され正常に終了しなければなりません。本番運用前のテストは、百年に一度起こるかもしれないケースにも対応できるシステムであるか?というところまで鑑みて網羅したテストケースを準備しなければなりません。しかし、あらゆる場合を考えると言っても非効率なテストケースを繰返していては、膨大な時間と予算がかかるばかりです。
効率よく、全てのケースを網羅するテストを行わなければいけません。テストケースに漏れがあり、本番運用中にその不足したケースの処理が行われた場合、結果は想像できません。小さな障害で済めばよいですが、容易に回復できない大きな障害を引き起こすかもしれません。例えば、ハードディスク上のファイルを破損する可能性もあります。
テストの種類は次のようなものがあります。機能テストと言って、入力データに対して正しい出力結果を得られるかを検査します。性能テストは処理時間やレスポンスタイムにストレスがないかを検査します。。
負荷テストは容量や回線速度など処理能力が十分かを検査します。ユーザビリティはユーザにとって使いやすいかの検査で、使いやすさの度合いとミスの頻度は反比例します。アクセシビリティは高齢者や障害者に配慮されているかを検査します。セキュリティは機密情報が漏洩しないシステムであるかを検査します
機能テストや負荷テストが十分でなかったために、大きな障害に発展したケースは銀行や鉄道にもありました。ハードディスク上のファイルを破壊してしまう可能性もありますので、しっかりしたテストを済ませておく必要があります。