🦔
ソフトウェアテストは QA を代替できないが、有益である
『テストの信頼性がQAを上回るにはどうしたらいいんだろうか』という記事を2ヶ月前に公開しました。その後、議論を重ねて一定の結論が出たのでアンサー記事を書きます。
前回のおさらい
まず、前回の結論のおさらいです。
- テストの信頼度を上げないと、テストは QA の代替にはなり得ない
- だが、テストの信頼度を定量的、定性的に測る方法は今のところ存在しない
今回は、「ソフトウェアテストで QA を代替するのは難しい」を前提に、どうやってテストを活用していけばいいかについて話します。
ソフトウェアテストを書くとバグる確率が下がる
全てのテストケースを網羅するのは不可能なので、「テストをパスしたので完璧に動作します!」と言い切ることはできません。
しかし、 しっかりテストが書かれていれば、 少なくとも書かれたテストケースの範囲は正常な動作が保証されます。 そして、正常に動いていると保証された範囲が増えるほど、当然バグる確率はどんどん減ります。
バグる確率が下がれば手戻りが減って QA 時間が減ります。つまり ソフトウェアテストは QA 時間を間接的に削減できます。書くだけでテストは QA の役に立っているのです。
ソフトウェアテストの活用方法
さらに、テストをたくさん書いておけば、全体リグレッションテストのような大きい案件を QA してもらいやすくなります。
例えば、ライブラリアップデートで全体リグレッションテストをするケースを考えます。もしテストがなにもない場合、「致命的なバグでサービスに影響が出るかも…」とビビりながらリリースしなければなりません。しかし、ソフトウェアテストがあればバグる確率が下がっているため、リリースの敷居が下がります。
リリースに積極的になれることこそがソフトウェアテストの最大のメリットだと思います。
まとめ
- 「バグる確率が下がる」のがソフトウェアテストの効能
- 「バグる確率が低い」と思えば大胆なリリースもしやすくなる
- ソフトウェアテストは QA の代替ではなく、QA のサポートだと考えよう
Discussion