失敗から学ぶテスト自動化——5つの課題を乗り越えた成功への道のり
【14-A-6】テスト自動化、苦しかったときの話をしようか―これからの開発現場を効率化するためのベストプラクティス
UIのテスト自動化は、開発の効率を向上させるうえで非常に有用である。しかし、その導入方法を誤ると、さまざまな課題に直面し、最終的に断念してしまうケースが後を絶たないという。バルテス・ホールディングス株式会社の江村禎昭氏は、自身の経験をもとに、テスト自動化のベストプラクティスについて講演した。
テスト自動化は"目的"ではない
ソフトウェアテストの専門会社として20年以上の歴史を持つバルテス・ホールディングス。月額4,840円(税込)〜利用できるテスト自動化ツール「T-DASH」の提供をはじめ、要件定義〜テスト実行までの全行程において、ソフトウェアの品質管理を支援している。
「テスト自動化、苦しかったときの話をしようか」と題した本セッションでは、江村氏が過去にテスト自動化で苦労した3つのシーンをもとに話が進められた。
まずは「テスト自動化が目的だったときの話」である。
これは、江村氏がテスト自動化に出会った10年以上前のこと。当時、あるサービスのエンジニアリーダーを務めていた江村氏は、上長からテスト自動化の指示を受け、あるスーパーRubyエンジニアに託したという。
そのエンジニアは、Ruby・Selenium・Cucumber・Capybaraを用いて、キーワード駆動のテスト自動化を構築した。それは、テストデータさえ準備すれば完璧に動くものだった。しかし、最終的にはエンジニアの異動により、封印される運命を辿った。
このとき、何が課題だったのか。江村氏は次の2つを挙げた。
課題1:いつでも繰り返し実行できない
テストに必要な事前のテストデータを手で作る必要があり、これがとても大変だった。また、テストが失敗したときのリカバリーも大変だった。たとえば、お気に入り登録後にテストが失敗したら、登録を解除するというリカバリー作業が発生していた。要するに、テスト自動化のために大きな工数がかかってしまい、テスト実行をいつでも繰り返すことが困難だったのだ。
課題2:テスト自動化の運用ができなかった
テスト自動化には、「テストが失敗したときの原因調査」や「仕様変更に伴うスクリプトの修正」「テスト環境のデータやスクリプトの保守」といった運用が発生する。手動テストの場合、途中で動かなくなったら気づくが、自動化すると結果しかわからない。なぜ失敗したのか、その原因調査は手動テストよりも工数がかかってしまっていた。また、当時Rubyエンジニアが少なく、当該エンジニアしかライブラリのスクリプト修正ができなかった。
さらに、スクリプトを修正した後にテスト環境にデプロイするといった仕組みがなく、テスト環境を維持するための運用工数が余計にかかってしまった。そもそも運用工数が発生すること自体、想定していなかったのである。
これらの課題を解消すべく、江村氏は自動化の目的を「毎日リグレッションテストする」と定め、その目的を達成するためのツールを選定・実装した。加えて、運用に必要な作業内容を洗い出し、工数の確保に努めたという。
この記事は参考になりましたか?
- Developers Summit 2025 セッションレポート連載記事一覧
- この記事の著者
-
野本 纏花(ノモト マドカ)
フリーライター。IT系企業のマーケティング担当を経て2010年8月からMarkeZine(翔泳社)にてライター業を開始。2011年1月からWriting&Marketing Company 518Lab(コトバラボ)として独立。共著に『ひとつ上のFacebookマネジメント術~情報収集・人脈づくり...
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
篠部 雅貴(シノベ マサタカ)
フリーカメラマン 1975年生まれ。 学生時代、大学を休学しオーストラリアをバイクで放浪。旅の途中で撮影の面白さに惹かれ写真の道へ。 卒業後、都内の商業スタジオにカメラマンとして14年間勤務。2014年に独立し、シノベ写真事務所を設立。雑誌・広告・WEBなど、ポートレートをメインに、料理や商品まで幅広く撮影。旅を愛する出張カメラマンとして奮闘中。 Corporate website Portfolio website
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営する開発者のための情報メディアです。日々の開発に取り組むエンジニアやテクノロジーを学びたい方に向けて、プログラミングやAI活用、開発ツール、エンジニアの学びとキャリアに関する記事をお届けしています。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
提供:バルテス株式会社
【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社
この記事は参考になりましたか?
この記事をシェア
