テスト自動化とは?

テストの自動化とは、テスト支援ツールを使うことにより、ソフトウェアテストを行うための作業(テストケースの設計、テストの実行と結果の確認、テストの進捗管理、レポートの作成)またはその一部を自動化することを言います。

自動化が進む背景

1. 短納期プロジェクトの増加

「システム開発の遅れ=ビジネスチャンスの喪失」
システム開発のプロジェクトは3-6ヶ月など、短納期型が増えてきており、少しの遅れが大きなダメージにつながります。

2. 少ない予算

新しい機種が出る度に機能は追加され、テスト項目も増えていきますが、それに対する予算はなかなか追加されません。新しい機能だけでなく、デグレ確認のため、結局全ての機能をテストしなくてはならず、相対的に使用できる原資は減っていきます。

3. 開発手法の変化

システムを取り巻くビジネス環境が激しく変化してる今、それに伴い仕様が中々決まらないという現状もあります。開発手法もそれに対応するため、従来のウォーターフォールモデルからスパイラルモデルのものも増えてきています。

4. 高い品質が要求される

システムの障害など、ソフトウェアの品質に関わるニュースの報道は後を絶ちません。品質に対する意識は高まってきています。

このように、大型かつ複雑なシステムを短期間で、かつ低コストで品質良く開発することが求められています。このような要求を解決する手段の一つとして注目されているのが自動化ツールです。

自動化に対する誤った認識

自動化した途端、今やっているテストの工数が削減されて毎日の残業から解放され、品質が非常に良くなるというのは残念ながら誤った認識です。品質を向上していくには、自動化で削減した効果工数で未開分野の自動テスト項目の拡大を推進する必要があります。自動化ツールは自動化を実現するための道具でしかなく、期待する効果を得るためにはどのような道具をどのように使うかを事前に検討し、ルール化しておく必要があります。

自動化ツール導入のコツはこちら

自動化の本当の効果

テストの自動化といえば省力化に結び付けられがちですが、メリットはそれだけではありません。

  • 自動化により空いた工数で、それまでやりきれていなかった他のテストを行うことで、総合的な品質向上が見込める。
  • アップデートの度に行ったテストの結果を記録しておくことで、品質を数値化することができ、改善の変化を定量的に捉えることができる。
  • 過去に見つかった不具合を自動テストの項目に追加していくことで、バグが起きやすい部分に絞り込んでテスト項目を蓄積していくことができる。
  • テストを行うだけでなく、テスト自体の効率化を考えるプロセスが加わることで、テストメンバーのモチベーション向上につながる。

自動化の効果としては、工数の削減よりも品質の向上にもたらす効果が大きいと言えます。

参考:Quality Commander の導入効果