Loading...

最終更新日時:2023.12.25 (公開日:2023.06.13)

テスト自動化 うまくいく事例とうまくいかない事例をご紹介

『「テスト自動化」それは、朝起きればテストが終わっている、ただ一つの手順ミスも犯さない、もちろんエビデンスの取得もぬかりない。そんな夢と希望が詰まった話である。』とは、限らないのが現実のお話です。テスト自動化を実践するには導入までのコストや技術障壁など、導入~運用に至るまで様々な課題が存在します。では、どのように取り組めば適切な費用対効果、投資効果が得られるのでしょうか。

本記事では、弊社での実績・お客様実体験をもとに、テスト自動化の失敗例と成功例、からうまくいく事例とうまくいかない事例をご紹介させていただき、テスト自動化を成功に導くカギを探っていきます。

なぜテストを自動化するのか?

恐らくこのブログを読んでくださっている方々の多くは、テスト自動化の導入を一度は検討、もしくは導入しているが課題感がある、という背景をお持ちでしょう。では、皆様にご質問です。「なぜ自動化したいのでしょうか?(したのでしょうか)」人の手を使って作業をしていたところの工数を減らす、おおよそこのような理由でしょうか。ほかにも「人的ミスを減らす」「エビデンスを自動で取る」という目的もあるかもしれません。

では、なぜ工数を減らしたいのでしょうか。リソースを他にまわしたいからでしょうか。であれば、自動化導入後あるべき姿は明確です。今までテストに充てていた工数が他プロジェクト ないしは他作業に充てられる状態が理想の姿となります。浮いた工数を自動化の保守・メンテナンスに充てていては、本末転倒です。このような状況ではテストは自動化できても目的は達成できたと言い切れません。

テスト自動化を推進するにあたり、大切なのは導入目的をしっかりと定義することです。あるべき姿を明確にし、そこから逆算し戦略的に導入する必要があります。「テストを自動化すること」そのものが目的ではないはずです。その先にある、本質的な目的を整理することがプロジェクト 成功への第一歩となるはずです。そこで弊社でのお客様との実体験をもとに、テスト自動化のうまくいく事例とうまくいかない事例をご紹介させていただきます。テスト自動化を成功に導くために、どのような工夫をしているのでしょうか。

テスト実行をはじめて行うエンジニア向けのマニュアル型資料
テスト実施の基本とバク報告の書き方を解説
  テスト実行者向け はじめてのガイドブック  

ここが難しい!テスト自動化 うまくいかない事例2選

見切り発車で自動化を推進した場合、どのようなことが起きるのでしょうか。それではテスト自動化がうまくいかなかった失敗事例を2つご紹介します。

【テスト自動化がうまくいかなかった失敗事例】

1.既存テストケースの自動化

あるお客様では、定期的なリリースを計画しているプロジェクトにて既存テストケースの自動化に取り組みました。その際、「失敗」してしまったポイントは以下2点です。

・自動化対象の選定とKPIの設定を十分に行わなかった

 ⇒一度しか使わないケースまで自動化

 ⇒重要度の低いものまで自動化

・テストケースが属人的

 ⇒“暗黙の了解”から制約事項の記載漏れが発生

結果、このPJでは「テストの自動化」こそ実現したものの、想定以上の工数オーバーにより、期待以上の効果が得られない結果となりました。

2.大規模基幹システムのマイグレーション

前述したケースとは違い、こちらのお客様では大規模基幹システムのマイグレーションのプロジェクトでテスト自動化を試みました。先程の事例のようにテストを繰り返す場面ももちろんですが、膨大な数のテストケースを抱えるPJもまた、テスト自動化に取り組まれることが多いケースの1つです。

このプロジェクトでの「失敗理由」は以下2点です。

・膨大な量(20万ケース)のテストケースを人海戦術で自動化

⇒大人数で一斉に自動化を行ったため、大量のコピースクリプトが発生

・メンテナンス性が考慮されておらず、再利用できるスクリプトではなかった

実装したスクリプトは正常に機能し、こちらも「テストの自動化」は成功しました。マイグレーション前後での現新比較を自動で行い、移行自体は成功したようです。一方で、前述したように保守性に欠ける仕組みとなってしまいました。中長期的な視点を欠き、コスト増につながってしまったプロジェクトでした。これらの事例を基にすると、「対象の選定・質」「メンテナンス・保守性」などが原因として浮上しそうです。では、これら解決するにはどのような取り組みが必要でしょうか。

それでは次章に、うまくいった事例を基に、成功させるポイントについて考察していきます。

プロジェクト・プロダクト全体の品質を向上させ、デジタル改革を加速させます
バルテスの品質向上サービスのご紹介

うまくいくテスト自動化のポイント

まず、テスト自動化がうまくいった成功事例を2つ紹介いたします。

【テスト自動化がうまくいった成功事例】

1.パッケージ製品のマスターテストケース自動化

このお客様は自社パッケージをユーザー向けにカスタマイズし、納品していました。そのため、既存機能の部分については納品前に、似たようなテストを繰り返し行っていました。(当社ではマスターテストケースと呼んでいます)

以下に挙げる3点をキーワードに本プロジェクト は進んでいきました。

・限られた期間での自動化実装

・テスト対象範囲の明確化

 ⇒全テストケースの内、2/3を自動化範囲に選定

・メンテナンス性を考慮し、キーワード駆動型を採用

結果、テスト実行にかかっていた工数を1/3に削減することに成功しました。

2.チャットボット用FAQの自動化

本事例の対象システムはチャットボットFAQです。お客様は金融系の業界で、質問と異なった回答(誤った商品・金額、申込できない商品など)を提示してしまうリスクを防ぐべく品質向上に注力していました。その中で、課題に挙がったのが「膨大なテストケース数」です。想定される質問と回答の組み合わせが膨大すぎ、スクリプトの作成にコストと工数がかかりすぎるのが目下のお悩みでした。

この自動化プロジェクト を成功に導いたポイントは以下3点です。

  • テスト自動化対象範囲と目的を明確化して最適なシナリオを作成
  • 目的に合わせ、ベストマッチするデータ駆動型テストを採用
  • データ駆動型テストの適用により、最小限のスクリプトで多くのテストケースを自動化

品質を高め、コストダウンができる効果を9つの事例でご紹介
テストアウトソーシングの効果とコストダウン実例ガイドブック

結果、テスト期間を1/10に短縮、コストを1/3に抑えることに成功しました。いかがでしょうか。全く異なる業界、システムでの自動化事例でしたが共通点は「準備」です。実装前に、対象範囲の選定、テストケースの自動化適合性、 プロジェクト特性に合わせたツール選定(もしくはツールの適合性)など様々な視点から調査を行うことが自動化を成功に導きます。他にも損益分岐点の算出も有効です。自動化は繰り返し使えば使うほどコストメリットが出ますので、何回繰り返せばイニシャルコストを回収できるのかを考えてみましょう。

当社ではこのような「準備」を「フィージビリティ・スタディ」と呼び下記のようなレポートを作成し、『自動化を戦略的に導入すること』を推奨・ご提案しております

testautomation_1

まとめ

「テスト自動化 うまくいく事例とうまくいかない事例をご紹介」と題しまして、ご紹介してきました。いかがでしたでしょうか。ここまで、失敗例・成功例を題材に、いかにしてテスト自動化を成功に導くかを探ってまいりました。昨今、システム規模の拡大や複雑化、複数プロジェクトの並行稼働等、IT業界はリソースが逼迫しております。自動化できる部分はどんどん自動化していくべきだと私は思います。そして、人の手によって価値が生み出せる(自動化できない)仕事に注力し、より良いIT社会が実現できればと願っています。テストの自動化に取り組む皆様にとって、このブログが少しでもヒントになれば幸いです。

当サイトでは、テスト技法を学びたい方、アジャイル開発やマイグレーションのテスト手法について知りたい方、テストアウトソーシングサービスに興味のある方へ、ダウンロード資料を多数ご用意しております。ぜひダウンロードいただき、資料をご活用ください。

CONTACT

お問い合わせ

バルテスでソフトウェアの品質向上と安全を手に入れよう