1年くらい前までは、テスト自動化にはそれほど関心がありませんでした。
ただ、自チームの方針で「自動化をやっていくぞ!」というのが決まり、テストベンダーさんやツールベンダーさんが開催するウェビナーを聞いていくうちに、「こりゃ、やったほうが良いな」と思うようになりました。
この記事では、その理由を3つ書きたいと思います。
資産になる
一番影響を受けた言葉は「自動テストは資産になる」です。
自動テストは、一度、テストを作ってしまえば、いつでもローコストでテストを実行し、品質を担保することができます。自動テストのカバレッジを増やすほど、プロダクトの品質は高まり、人間はより難しい課題に注力することができます。つまり、増やすほどに豊かになっていきます。
まぁ、そのサイクルを回すためには、初期投資と継続的な投資が必要なのですが。正しい努力をしないと、資産どころか負債になってしまうかもしれません。
テストしたい項目は、すべてテストすることができる
マニュアルテストの場合、テスト項目のボリュームに対してリソース(人の数や期間など)が足りないときは、テスト項目を枝刈りします(余談ですが、この枝刈りのセンスがQAの良し悪しを分けると言ってもいいかもしれません)。しかし、自動テストの場合、枝刈りをしなくてよく、検証したい項目をすべて検証することができます。コンピュータは疲れませんし、増やすことも容易なためです。
退屈しない
回帰テストはバグもあまり出ないし、繰り返しのテストになるので、正直、私はやってると眠くなります。しかし、自動テストを書いてる間は、時間を忘れるほど夢中になれました。マニュアルで回帰テストやるよりは、自動テストで回帰テストを書いた方が楽しい!というのも、「自動化良いな」と思うことの一つです
おまけ:自動化の課題
ウェビナーでは、よく失敗談が語られてました。ここでは、自動化の課題やよくある誤解を書いておきます
・自動化はコストがかかる。コストカットのために自動化をやるのは、割と無理筋。あくまで開発速度の向上や、品質向上の一環としてやるべき
・バグを検出するのには向いてない。あくまで「ちゃんと動く」ことを確認するのに使うべき。品質が安定していない機能に自動化を導入するのは控えたほうが良い。
・二要素認証に弱い。
・ブラウザの自動化と比べると、アプリはまだ発展途上な印象。できないことが多い。