ソフトウェアテストの考え方(7つの原則)
ソフトウェアテストには考え方という点で原則が7つあります。
技術的な向上も必要ですが、これらの考え方を前提に置くべきです。
原則1:テストは「欠陥がある」ことしか示せない
「欠陥が見つからない」=「欠陥がない」ではありません。
見つからなかっただけなのです。
もしかしたら本当にないのかもしれませんが証明はできません。
そのため、欠陥があることしか示せないのです。
欠陥
欠陥とは原因(システム中の不備)であり、結果として発生する事象は故障と呼びます。
ただし、欠陥があれば必ず故障になるわけではなく、環境により発生する故障もあります。
エラー(人為的な誤り)→欠陥(フォールト)→故障
原則2:全数テストは不可能
不可能です。分かりますよね?パターンが多すぎます。
ソフトウェアの目的や品質目標、工数などを元に優先順位を決めてテスト項目を検討する必要があります。
原則3:初期テスト
人は欠陥を作り込みます。
後工程になる程、テストで欠陥部分を見つけることは困難になります。
早い段階でのテストが必要となります。
原則4:欠陥の偏在
欠陥がある部分は偏ります。
システムや開発グループによって違いがあるかもしれません。
過去の不具合を分析して、偏在箇所を予測することが重要になります。
原則5:殺虫剤のパラドックス
同じテスト方法はいずれ効果がなくなります。
いつもテストを行う部分については品質が向上していくものです。
開発者も気をつけるでしょう。そのため、同じ方法ではダメなのです。
視点を変える、少しパターンを変えてみるなど、工夫が必要となります。
原則6:テストは条件次第
使用目的にあったテストが必要です。
例えば、同じカメラでも、目的が水中で使う場合と砂漠などの乾燥地帯で使う場合では全く異なります。
ソフトウェアでも同じで、目的(お客様の要求)を満たす品質であるか確認するためのテストが必要となります。
原則7:「バグゼロ」の落とし穴
システム全体としての品質が重要なのです。
バグは直ったかもしれません。システムとしてはどうですか?
処理が遅くなったりしていませんか?
影響範囲を見極めた修正、影響が出ていないか確認するテストが必要となります。