テストの自動化とは、テスト支援ツールを使うことにより、ソフトウェアテストを行うための作業(テストケースの設計、テストの実行と結果の確認、テストの進捗管理、レポートの作成)またはその一部を自動化することを言います。
「システム開発の遅れ=ビジネスチャンスの喪失」
システム開発のプロジェクトは3-6ヶ月など、短納期型が増えてきており、少しの遅れが大きなダメージにつながります。
新しい機種が出る度に機能は追加され、テスト項目も増えていきますが、それに対する予算はなかなか追加されません。新しい機能だけでなく、デグレ確認のため、結局全ての機能をテストしなくてはならず、相対的に使用できる原資は減っていきます。
システムを取り巻くビジネス環境が激しく変化してる今、それに伴い仕様が中々決まらないという現状もあります。開発手法もそれに対応するため、従来のウォーターフォールモデルからスパイラルモデルのものも増えてきています。
システムの障害など、ソフトウェアの品質に関わるニュースの報道は後を絶ちません。品質に対する意識は高まってきています。
このように、大型かつ複雑なシステムを短期間で、かつ低コストで品質良く開発することが求められています。このような要求を解決する手段の一つとして注目されているのが自動化ツールです。
自動化した途端、今やっているテストの工数が削減されて毎日の残業から解放され、品質が非常に良くなるというのは残念ながら誤った認識です。品質を向上していくには、自動化で削減した効果工数で未開分野の自動テスト項目の拡大を推進する必要があります。自動化ツールは自動化を実現するための道具でしかなく、期待する効果を得るためにはどのような道具をどのように使うかを事前に検討し、ルール化しておく必要があります。
テストの自動化といえば省力化に結び付けられがちですが、メリットはそれだけではありません。
自動化の効果としては、工数の削減よりも品質の向上にもたらす効果が大きいと言えます。