読者の皆さんは、今の手作業のテストに問題がなければ、無理に自動化する必要はないと思うかもしれません。そのような方にもテスト自動化をお勧めする理由を、三つ挙げてみます(図1)。

(1)大規模・複雑化 vs 短納期・低コスト
最近のシステムがどんどん大規模化かつ複雑化しているのは、改めて言うまでもないことと思います。システムが大規模化、複雑化すれば、その分テストする量も増えるのが普通です。増えたテストをするには、より多くの時間をかける、あるいはテストする人を増やすなどの対応を取りたくなります。
ただし一方でシステム開発には、短納期、低コストという制約が立ちはだかります。限られた期間、予算の中で多くのテストをするためには、テストを自動化し、効率を上げることが解決策の一つとなります。
(2)多様なデバイスの登場
最近はスマートフォンやタブレット型端末などさまざまなデバイスが登場し、人々のライフスタイルを変えています。それらの上で動くシステムを開発する場合には、テストすべき環境も多種多様になってきます。
これを人海戦術でどうにかするという解決策もあるかもしれませんが、今後のデバイスの増加を予想すると、場当たり的な対応ではなく、何らかの計画的な対応が必要だと考えられます。
(3)業務効率化
昨今の経済状況の悪化もあって、どの企業もコスト削減を迫られています。そのために人件費を減らすという大ナタを振るう企業もありますが、まずは無駄な作業を減らしたり、作業を効率化したりすることが大事ではないでしょうか。そのためには、テストのようなルーチンワークに近い作業を自動化することは、最も効率の大きい対策の一つといえます。
テストを自動化したら人の力が必要なくなってしまい、自分の居場所がなくなってしまうのではないかと不安に思うエンジニアの方がいるかもしれませんが、そんなことはありません。人間のクリエイティブな能力を発揮する場はほかにいくらでもあります。人を大量投入して何とかしようという時代は終わりました。これからは、人もツールも適材適所で効率的に作業をすることが求められます。