テスト自動化ツールの導入で発生する課題……事例と共に、業界20年のベテランが解消方法を解説!
【24-B-3】家政婦は見た!UIのテスト自動化の上手くいかない現場
テスト実行と再実行に時間がかかる現場
江村氏は「運用作業は多くの工数を必要とし、それが続くとテスト自動化自体が嫌になってしまうこともあるかと思います。そこで、これらの運用課題とその解決策を紹介します」と話し、テスト自動化における運用の課題を解決した3つの事例を紹介した。
最初の事例は「テスト実行と再実行に時間がかかる現場」。顧客へのヒアリングで、「最近、テスト実行に時間がかかることがある」との声があった。具体的にどのような状況で時間がかかるのかを尋ねたところ、「テストが途中で失敗すると、非常に多くの時間を費やしてしまう」とのことだった。
調査したところ、以下の問題が明らかになった。テストケースには、機能1:ユーザー作成、機能2:商品検索、機能3:お気に入り登録、機能4:商品購入という4種の機能テストが含まれており、これらがまとまったテストケースとして自動化スクリプトに組み込まれていた。しかし、開発中のプロジェクトで、機能3のお気に入り登録の部分に不具合が発生し、何度もテストが失敗するという状況が生じていた。
このプロセスを時系列で見ると、1回目のテストでは、機能1・2は成功したものの機能3で失敗した。エンジニアが修正を試み、2回目のテストを実行したが、また失敗。これを繰り返し、4回目のテストでようやくすべてのテストが成功した。
時間がかかる原因は、1つのテストケースに複数のテスト目的が含まれていたことにある。また、成功したテストが何度も繰り返し実行されていたことも時間のロスを招いていた。さらに、特定の機能だけをテストする「サブセットテスト」が実行できない状況にあり、機能4については最後のテストでしか実行されていなかった。
これらの問題の解決策として、1つのテストケースには最低限のテスト目的だけを設定すること、各テストケースが他のテストケースに依存せず、単独で実行できるようにすることを提案した。テストケースを機能ごとに4分割し、順番に実行するようにした。そうすると、機能1・2が成功し、機能3が失敗、機能4が成功となった場合、機能3だけを改修・再テストすれば良いため、全体の実行ボリュームが少なくなる。
江村氏は「ただし、機能3がバスしたあとも、フルリグレッション(すべてのテストを最初からやり通す)を行うことをお勧めします。この事例のまとめとしては、テストケースを小さくし、テストが失敗した場合の運用を考慮することが重要であることが言えます。ただし、テストケースを小さくしすぎると、テストケースの数が膨大になり、管理が難しくなるというデメリットもあるため、バランスを考慮する必要があります」と加えた。
- 関連リンク
この記事は参考になりましたか?
- Developers Summit 2024 Summer レポート連載記事一覧
- この記事の著者
-
丸毛 透(マルモ トオル)
インタビュー(人物)、ポートレート、商品撮影、料理写真をWeb雑誌中心に活動。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営する開発者のための情報メディアです。日々の開発に取り組むエンジニアやテクノロジーを学びたい方に向けて、プログラミングやAI活用、開発ツール、エンジニアの学びとキャリアに関する記事をお届けしています。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
森 英信(モリ ヒデノブ)
就職情報誌やMac雑誌の編集業務、モバイルコンテンツ制作会社勤務を経て、2005年に編集プロダクション業務やWebシステム開発事業を展開する会社・アンジーを創業。編集プロダクション業務においては、IT・HR関連の事例取材に加え、英語での海外スタートアップ取材などを手がける。独自開発のAI文字起こし・...
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
提供:バルテス株式会社
【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社
この記事は参考になりましたか?
この記事をシェア
