総ステップ数600以上のリグレッションテストをPRマージ時にAutifyに自動実行させたら開発体験が改善された話
OLTA株式会社 / SDTakeuchi
メンバー / バックエンドエンジニア / 従業員規模: 101名〜300名 / エンジニア組織: 11名〜50名
利用プラン | ツールの利用規模 | ツールの利用開始時期 | 事業形態 |
---|---|---|---|
Autify for Web Advancedプラン | 11名〜50名 | 2021年7月 | B to B |
利用プラン | Autify for Web Advancedプラン |
---|---|
ツールの利用規模 | 11名〜50名 |
ツールの利用開始時期 | 2021年7月 |
事業形態 | B to B |
導入の背景・解決したかった問題
導入背景
ツール導入前の課題
Autify導入前は、E2Eテストをコード上で作成していました。しかし、実装とメンテナンスの両面でコストが高く課題となっていました。 従来のE2Eテストはエンジニアしかメンテナンスできず、そのメンテナンス性も担当者のスキルに大きく左右される状況でした。結果としてリリースのたびに、本来実施すべき全ブラウザでの動作確認やモバイル端末でのテストは手が回っていない状態でした。
また、弊社のプロダクトであるINVOYの請求書関連機能においては、当時行ったリアーキテクチャを原因として既存のE2Eテストが使えなくなってしまうという事象も発生していました。 コード化されていないテストはエンジニアが意図的に追加しない限り増えず、それ以外のテストは全て手動で実施されていたため、開発のボトルネックとなる可能性がありました。
どのような状態を目指していたか
私たちは、E2Eテストの効率化と品質向上を目指し、Autifyの導入によって以下の状態を実現したいと考えていました。
1.専門知識がない担当者でも容易にE2Eテストを作成・メンテナンスできる環境の構築 エンジニア以外もテストに参画できるようになり、テスト業務の属人化を解消し、より安定した運用を目指す。
2.これまで手動で行っていたリリース後の動作確認を自動化し、日々の継続的な品質監視体制を確立 テスト工数を削減することで、開発速度を向上させ、プロダクト全体の品質向上を図る。
選定理由
弊社がAutifyの導入を決定するに至った主な理由は、以下の点に集約されます。
まず、E2Eテストの作成・メンテナンスがノーコードで容易に行える点が大きな魅力でした。 ブラウザ操作を記録するだけでテストシナリオを作成でき、メール連携やCSVアップロードといった複雑な操作も簡単に設定可能でした。これにより、エンジニア以外のメンバーでもテストの作成・保守が可能となり、テスト作成の属人化解消と体制強化が期待されました。
さらに、これまでテストが手薄だった領域のカバレッジを拡大できることも重要なポイントでした。従来はエンジニアのリソースに依存していたため、テスト拡充が進んでいませんでしたが、Autify導入によりこのボトルネックを解消できると考えました。
加えて、手動で行っていたデプロイ後やリリース後の動作確認を自動化し、日次実行できるようになることで、品質担保のレベル向上と工数削減が見込める点も決め手となりました。
導入の成果
定量的な計測は行なっていませんが、以下のような効果が見られています。
- 手動テスト時に発生していたリグレッションテストの抜け漏れが消滅。
- PRマージをトリガーにGithub ActionsからAutifyのテストが自動実行されるように設定したことで、リリース前にリグレッションテストが行われていることが保証されるようになった。
- リグレッションテストの手動対応工数の大幅な圧縮。
- 例として法人カードのプロダクト(INVOYカード)においては、PRマージ後にシナリオ数にして9つ、トータルのステップ数においては639に及ぶ数のリグレッションテストを実行してくれています。
- テスト工数が削減されたことでエンジニアが開発作業によりコミットできる環境が整備された。
導入時の苦労・悩み
当たり前ですが、Autifyが実行してくれるテストケースについては導入時に誰かが人力で追加する必要があります。
全画面をカバーしようとすると膨大な時間がかかりますし、ツールの課題点のセクションでも言及していますが、値のコピペやリトライにあたるブラウザの挙動の再現をするにはJSのスニペットを自ら書いて読み込ませる必要があるので、シナリオを作るのにもそれなりの工数がかかりました。
導入に向けた社内への説明
上長・チームへの説明
以下の点をまとめて、当時のEMやテックリードから経営陣に対して導入の提案を行いました。
- これまでのE2Eテストにおける課題の提示
- Autify導入後の目指す状態の説明(エンジニア以外でもテスト作成・メンテ可能、Autifyによるメンテナンス性担保)
- 導入によるテスト工数削減や開発速度および品質向上などの期待効果
- 利用金額に関する説明
- 導入する場合としない場合のトレードオフの比較。
開発チームのメンバーには無料トライアル期間中に実際にAutifyを触ってもらい、一定の効果が得られそうなことを体感してもらったので、追加の説明は特に行いませんでした。
活用方法
よく使う機能
1.リグレッションテストの自動実行 定期実行させたり、CI/CDパイプラインから自動実行させたりしています。
2.JSステップ テストシナリオにおいてコピペやリトライに当たる操作は現在サポートされていないため、そのような場合にはJSのスニペットを自ら書くことで動作確認ができます。
3.メールテスト機能 テストで使用するメールアドレスの作成ができます。
4.Slack通知 テスト結果をSlack通知させています。
ツールの良い点
- UIがシンプルで使いやすい
- Slack連携が便利
- 強力なチャットサポート機能
- チャットbotがソースを示しつつ疑問にかなり的確に答えてくれます。
- 契約プランによるものの、チャットbotが対応しきれない場合には有人サポートに繋げてもらうことが可能です。
- JSのスニペットが使える
- ブラウザ上でのリトライやコピペにあたる操作をJSのスニペットを作成することで再現できるようになっています。
ツールの課題点
- コピペがデフォルトでサポートされていない
- Autifyではクリップボードにコピーした値を検証したり、入力欄に貼り付けるような操作提供されていないため、動的な値の検証を行う際にはJSのスニペットを用意する必要があります。
- シナリオの入れ子実行ができない
- ステップグループというシナリオのまとまりを別のシナリオに組み込む機能はあるものの、それらをさらに別のシナリオに組み込ませるなどの複雑な入れ子構造を構築するのが現時点では不可能となっています。
- 結果的に同じ操作を複数のシナリオで自ら作成する必要が出てくるケースがあります。
- シナリオ編集中のUndoができない
- リトライ処理がない
ツールを検討されている方へ
Autifyは「AIを用いたノーコードテスト自動化ツール」とされていますが、現状の私たちのユースケースを鑑みるとJSを書かなければならない場面が少なからずあり、エンジニア以外が触るにはややハードルが高い印象です。 ただし、柔軟性が高く、リグレッションテストの自動化による工数削減という目的には十分応えるツールだと感じました。
OLTA株式会社 / SDTakeuchi
メンバー / バックエンドエンジニア / 従業員規模: 101名〜300名 / エンジニア組織: 11名〜50名
2023年8月にOLTA株式会社に入社。法人カードのプロダクト開発にバックエンドエンジニアとして従事。
よく見られているレビュー
OLTA株式会社 / SDTakeuchi
メンバー / バックエンドエンジニア / 従業員規模: 101名〜300名 / エンジニア組織: 11名〜50名
2023年8月にOLTA株式会社に入社。...
レビューしているツール
目次
- 導入の背景・解決したかった問題
- 活用方法