絞り込み検索
キーワードで探す
カテゴリで探す
サービスで探す
業種で探す
トレンドで探す
キーワードで探す
カテゴリで探す
サービスで探す
業種で探す
トレンドで探す
background-image-careers
2012.2.16技術ブログ

テスト自動化~テストツールの最前線~

NTTデータでは、設計書を基にテスト設計から実行、評価までを自動化することで、テスト工数削減、工期短縮の実現に取り組んでいます。

テストを取り巻く背景

テストの工数や工期は開発全体の約4割注1を占めるという調査結果があります参考1、2。実感としてはもっと多いと思われる方もいるでしょう。テスト作業を効率化し、作業時間を短縮するためには、繰り返し作業が多い特徴から、テストツールを使ったテスト自動化が最も有効な解決策と言えます。

テスト自動化の現在

有償・無償の様々なテストツールがありますが、実態として約7割のプロジェクトはテストツールを使っていません参考3。テストツールを導入してもすぐに効果が出ないのが大きな理由の一つです。しかし、機能の改善・拡張に伴い、テストツールは着実に効果を発揮するように進化を続けています(図1)。

【図】

図1:主なテストツールカテゴリと普及度

テスト自動化の今後

そこで、今後さらなる進化が期待できるテストツールを紹介しましょう(図1)。

より効果的なGUIテスト自動化

キャプチャ/プレイバックツールは、WebブラウザなどのGUIを使ったアプリケーションを自動テストします。従来はGUI操作を手動で記録しなければなりませんでしたが、テストデータやシナリオ(手順)を外部ファイルに定義するデータ駆動テストやキーワード駆動テスト(図2)によって、手動操作なしでの自動化が実現できるようになりました。

【図】

図2:キーワード駆動テスト

テスト管理からALM(Application Lifecycle Management)へ

テスト管理ツールは品質管理、進捗管理などを自動化するとともに、テストの計画、設計、実行、評価という一連の作業を連携できます。また、テストと要件を対応づける要件管理や、継続的インテグレーション(Continuous Integration)ツールとの連携により、開発・管理の一体化を実現できます。さらに最近では、保守・運用まで含めて統合的に管理するALMに発展させることを多くのツールベンダが提唱しています。

テスト設計も自動化

テスト条件抽出や組合せ作成を効率的かつ正確に行うためには、テスト設計技法適用の自動化が必要です。代表的なものにAll-pair法参考4や状態遷移テスト参考5の支援ツールがあります。海外ではモデルベースドテスト(MBT)の研究が進んでいますが参考6、国内でもテスト設計の構造化やモデル化の動きがあり参考7、今後MBTに発展すると考えられます。

現在、NPO法人ソフトウェアテスト技術振興協会(ASTER)では、テストツールのベンダ企業とユーザ企業が共同でテストツール普及のための活動を行っており参考8、NTTデータもユーザ企業として積極的に参画しています。そして、このようなトレンドを踏まえ、NTTデータでは、設計書を基にテスト設計から実行、評価までを自動化することで、テスト工数削減、工期短縮の実現に取り組んでいます参考9

  • 注1製造工程に含まれている単体テストの工数、工期も含め4割程度と見なしています。

お問い合わせ