テストを自動化する2つのメリットと導入時の判断基準を解説

こんにちは!CODE CLUB965のKです!

今回は、テストの自動化について書こうと思います。

テストするのって大変ですよね…。
ついサボりたくなることがありますが、サボった箇所に限ってバグが出て問題になったりします。笑

できることなら、テストは誰か別の人にやってもらいたいものですよね。

テストは自動化できる

面倒臭いテストですが、実は自動化することができます。
Web画面を操作していくような、いわゆるUIテストも自動化することができます。

自分でやる代わりに、システムにテストをやらせることができるのです。

テストを自動化するメリットは以下の2つです。

1. バグを早期発見することができる
2. バグ発生条件の特定がしやすい

では上記のメリットを1つずつ見ていきましょう。

1. バグを早期発見することができる

テストを自動化することができれば、例えば普通人が寝ている時間である深夜に最新のソースコードに対してテストを動かしておくことができます。

なので、何かバグが埋め込まれてしまっても、次の日の朝には発見された状態にすることができます。

バグは、早く対応すればするほど、修正コストが安くなります。

バグを早期発見することができるというのは、テスト自動化の大きなメリットの1つです。

2. バグ発生条件が特定しやすい

テストをしていてバグが発生したけれど、「正確な手順を覚えていなくて、バグの再現ができなくなってしまった」という経験はないでしょうか?

手動でテストをしていれば仕方がないことだと思います。

テストが自動化されていれば、毎回確実に定められた手順でテストを実施するので、再現手順がわからなくなるということもありません。

バグが見つかった時に、確実に再現手順がわかっているというのも、テスト自動化のメリットです。

テスト自動化の判断基準

非常に魅力的なテスト自動化ですが、自動化を実現するのは非常に大変でかなりの工数がかかります。

自動化する範囲にもよりますが、機能開発と同等か、下手したら機能開発以上の工数がかかりることが多いです。

従って、テストの自動化をやるかどうかは慎重に判断する必要があります。

1つの判断基準がリリースの頻度です。

リリースの前には、デグレ確認を含めてテストが必ず必要になるからです。

リリースの頻度が高ければ、テストは自動化するべきです。
目安として、1ヶ月に1回はリリースをするシステムであれば、できるだけテストは自動化しておいた方が良いと思います。

逆にリリース頻度が少なかれば、テストは自動化しなくても良いと思います。

極端な話し、1度だけのリリースで、それ以降バージョンアップリリースを予定していないのであれば、テスト自動化は不要です。
リリース直前に手動でテストして、バグを潰したうえでリリースができたらそれで完了になるので問題ありません。

最後に

今回は、テスト自動化のメリットと導入の判断基準について書きました。
具体的な自動化の実現方法についてはまた別の記事に書こうと思います。

それでは、また!

Follow me!

テストを自動化する2つのメリットと導入時の判断基準を解説” に対して1件のコメントがあります。

コメントは受け付けていません。