見出し画像

【TECH連載】E2EテストサービスAutifyの導入について

こんにちは、AICROSS開発チームの樋口です。

AI CROSSでは、2021年9月より各プロダクトのE2E(End to End)テストにAutifyを導入しています。
今回は、AICROSSの開発チームがAutifyを導入した経緯と導入後の効果について説明しようと思います。

Autifyとは

Autifyは以下の特徴を持ったテスト自動化のSaasサービスです。

・テスト作成から実行、運用までシームレスなプラットフォームを提供
・ノーコードで誰でも自動化できる
・独自開発のAIが変化を検知、メンテナンスコストを削減
・カスタマーサクセスがAutifyの構築時、運用時も伴走

数あるE2Eテストサービスと比較して「ノーコードでテストシナリオが作成できる」「AIがテスト結果の変化を判定してくれる」の2点で他のサービスよりも優位性のあるサービスとなっています。

導入の背景

AI CROSSでは「メッセージサービスの開発チーム」「AIサービス開発チーム」の大きく2つの開発チームがあります。
各開発チーム間の分断を生まないために、週に1回、技術交流会という形で「全体的な開発標準の方針」「技術的な課題の解決」「新規プロダクトの提案」など幅広いテーマでフリーな形でディスカッションをするための場を設けています。

ディスカッションのテーマとして各プロダクトの品質確保のための取り組みを取り上げた際に、共通的な課題として以下の課題を抱えていました。

1.E2Eテストはすべてのプロダクトで自動化されていない
2.自動化されているプロダクトでもテストシナリオのメンテナンス作業に工数がかかる、またその作業が属人化している
3.テスト結果の確認が目視のためチェックの精度が個人のスキルに依存してしている

手動テストの課題
通常、プロダクトの成長にあわせて機能数は増加していきます。
この時、E2Eテストが手動テストの場合、当然ですが、機能数の増加に合わせてリグレッションのテスト工数は増加していきます。

画像1

ただしエンジニアのリソースは有限です。
これを解決していくためには
人を増やす?(工数を犠牲にする)
・リリース時期を伸ばす?(提供価値を犠牲にする)
・テスト項目を減らす?(品質を犠牲にする)
などの選択肢はありますが、どれも避けたい選択肢になります。

上記課題の解決のため、導入を検討したE2EテストサービスがAutifyでした。

Autifyの採用理由

Autifyを採用した理由は以下の通りです。

・Saasサービスのため、Seleniumのような構築やメンテナンスが不要
・シナリオ作成は通常のブラウザ操作のみのため、誰でもシナリオ作成・メンテナンスができる
・テストURLの置換により検証と本番の同一シナリオが利用できる
・テスト結果をAIによりチェックして、前回テスト実施とのシナリオ差分を明らかにしてくれる

Autifyでやりたかったことは「テスト工数の削減」もありますが、「累積的に品質を確保していく仕組みづくり」にあります。

✅ シナリオ作成
Autifyでのシナリオ作成は通常のブラウザ操作のみのため、誰でも簡単にシナリオ作成・メンテナンスができる点がメリットとなります。
ただし留意点として、E2Eテストの自動化はテスト工数の削減にはなりますが、指示したテストしかしないのが前提になります。
熟練のテスターが出来る細かな気づきをカバーするため、自動化する場合は手動テストよりも明示的にテストバリエーションを増やしていく必要があります。(これはチーム全体のテストの属人化の解消にもつながります)

テスト実施
Autifyを利用したE2Eのテスト自動化のメリットは、テストが回帰的であることにあります。
一度作成したシナリオは繰り返し何度でも実施できるため、累積的にテストバリエーションを追加していくことにより品質は向上していく仕組みづくりが可能となります。

テスト結果の確認
AutifyではAIによるチェックで、前回テスト実施との差分を明らかにしてくれる機能があります。
これはテスト結果確認の工数を削減する効果のほかに、テストの属人化を無くす効果もあります。

導入してどうだったか

導入後の開発チーム全体としてのAutifyのテスト実施回数の推移になります。

画像2

Autifyについては、推進チームとして導入後に特別な啓蒙活動はしていませんでしたが、各チームで自然に利用数が増加していった状況でした。
これはAutifyのUIが元々優れていた点と、またサポートチームの方が積極的に支援してくださったことが理由と考えています。

品質面の変化についてですが、一番多くAutifyを利用しているプロダクト「SmartXChat」では、機能追加の都度、テストシナリオを累積的に追加していく運用を徹底していて、現状、テスト工数を抑制しながら継続的に品質の確保が出来ており、Autifyの効果で良い変化が起きていると感じています。

最後に

AICROSSの開発チームでは、Autifyの導入も含め「Smart Work, Smart Life」の実現に向けて、開発チーム自身の生産性も向上させるため改善に日々取り組んでいます。
AI CROSSの開発チームではSmart Work, Smart Life 〜』を実現する仲間を募集しています。


この記事が気に入ったらサポートをしてみませんか?