SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Developers Summit 2024 Summer レポート(AD)

テスト自動化ツールの導入で発生する課題……事例と共に、業界20年のベテランが解消方法を解説!

【24-B-3】家政婦は見た!UIのテスト自動化の上手くいかない現場

  • X ポスト
  • このエントリーをはてなブックマークに追加

テスト実行と再実行に時間がかかる現場

 江村氏は「運用作業は多くの工数を必要とし、それが続くとテスト自動化自体が嫌になってしまうこともあるかと思います。そこで、これらの運用課題とその解決策を紹介します」と話し、テスト自動化における運用の課題を解決した3つの事例を紹介した。

 最初の事例は「テスト実行と再実行に時間がかかる現場」。顧客へのヒアリングで、「最近、テスト実行に時間がかかることがある」との声があった。具体的にどのような状況で時間がかかるのかを尋ねたところ、「テストが途中で失敗すると、非常に多くの時間を費やしてしまう」とのことだった。

 調査したところ、以下の問題が明らかになった。テストケースには、機能1:ユーザー作成、機能2:商品検索、機能3:お気に入り登録、機能4:商品購入という4種の機能テストが含まれており、これらがまとまったテストケースとして自動化スクリプトに組み込まれていた。しかし、開発中のプロジェクトで、機能3のお気に入り登録の部分に不具合が発生し、何度もテストが失敗するという状況が生じていた。

 このプロセスを時系列で見ると、1回目のテストでは、機能1・2は成功したものの機能3で失敗した。エンジニアが修正を試み、2回目のテストを実行したが、また失敗。これを繰り返し、4回目のテストでようやくすべてのテストが成功した。

4機能を一度にテストしようとして多くの工数がかかっていた
4機能を一度にテストしようとして多くの工数がかかっていた

 時間がかかる原因は、1つのテストケースに複数のテスト目的が含まれていたことにある。また、成功したテストが何度も繰り返し実行されていたことも時間のロスを招いていた。さらに、特定の機能だけをテストする「サブセットテスト」が実行できない状況にあり、機能4については最後のテストでしか実行されていなかった。

 これらの問題の解決策として、1つのテストケースには最低限のテスト目的だけを設定すること、各テストケースが他のテストケースに依存せず、単独で実行できるようにすることを提案した。テストケースを機能ごとに4分割し、順番に実行するようにした。そうすると、機能1・2が成功し、機能3が失敗、機能4が成功となった場合、機能3だけを改修・再テストすれば良いため、全体の実行ボリュームが少なくなる。

テストケースを分割して負荷を軽減
テストケースを分割して負荷を軽減

 江村氏は「ただし、機能3がバスしたあとも、フルリグレッション(すべてのテストを最初からやり通す)を行うことをお勧めします。この事例のまとめとしては、テストケースを小さくし、テストが失敗した場合の運用を考慮することが重要であることが言えます。ただし、テストケースを小さくしすぎると、テストケースの数が膨大になり、管理が難しくなるというデメリットもあるため、バランスを考慮する必要があります」と加えた。

次のページ
2か月かかったテストスクリプトを実行したら修正が大量発生!

関連リンク

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Developers Summit 2024 Summer レポート連載記事一覧

もっと読む

この記事の著者

丸毛 透(マルモ トオル)

インタビュー(人物)、ポートレート、商品撮影、料理写真をWeb雑誌中心に活動。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

CodeZine編集部(コードジンヘンシュウブ)

CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

森 英信(モリ ヒデノブ)

就職情報誌やMac雑誌の編集業務、モバイルコンテンツ制作会社勤務を経て、2005年に編集プロダクション業務やWebシステム開発事業を展開する会社・アンジーを創業。編集プロダクション業務においては、IT・HR関連の事例取材に加え、英語での海外スタートアップ取材などを手がける。独自開発のAI文字起こし・...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

提供:バルテス株式会社

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/20056 2024/10/22 12:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング