1. Autify導入の背景
最近のプロジェクトで、試験的にAutifyを導入してみました。
これまでUIやユーザーシナリオに基づくシステムテストは主に手動で行っており、バックエンドのようにフロントエンドのテストも自動化できたらいいのにと常々感じていました。
もちろん、Reactベースのプロジェクトでテストコードを自分で書いて自動化に挑戦したこともありますが、テストコードの習得コストや保守の難しさから、実際の運用ではなかなか活用できませんでした。
そのような中、Autifyは「コード不要でテストシナリオが作れる」という点で非常に魅力的な選択肢に思えました。
2. Autifyとは?
Autifyは日本発のノーコード型UIテスト自動化プラットフォームで、開発者に限らず、QAやPM、デザイナーなど非エンジニアでも簡単にテストシナリオを作成できるよう設計されたツールです。
- 2019年にY Combinatorに採択され、現在はグローバルなSaaSとして展開されています。
Autifyの主な機能
- Web・モバイルアプリのUIテスト自動化(クロスブラウザ対応)
- テストシナリオの録画・編集(コーディング不要)
- CI/CD連携(CLI、Webhook、APIなど)
- テストのスケジューリングと結果レポート管理
- ビジュアルリグレッションテスト(画面比較)
3. Autifyの使い方
Autifyは、実際のユーザー操作を画面上で録画しながらテストシナリオを構成する仕組みです。以下のような流れでコードなしでもテストを作成できます:
-
テストシナリオの作成
- ブラウザ拡張またはWeb UIを使って、クリックや入力などの操作を録画します。
-
検証条件の設定
- 特定のテキストが表示されているか、ボタンが存在するかなど、要素を選択して検証条件を設定できます。
-
テストの実行
- 複数のブラウザ環境でテストを実行でき、失敗時にはスクリーンショットと詳細ログが提供されます。
-
テストの保守
- UI変更があっても、自動的に適切なセレクターを提案する機能があり、保守がしやすいです。
-
高度な操作対応(カスタムJavaScriptステップ)
- JavaScriptを挿入して、ag-gridのセル比較や日付計算、右クリック操作など、複雑なロジックにも対応可能です。
4. 実際に使ってみて感じたAutifyのメリット・デメリット
✅ メリット
-
繰り返しテストの効率化
テストシナリオを一度作成すれば、UI変更後もすばやく回帰テストを実行でき、QAの効率が大幅に向上しました。 -
テスト失敗の原因分析がしやすい
失敗したステップとその理由をスクリーンショット付きで詳細に確認できるため、問題の特定と共有が非常にスムーズです。 -
複雑な動作も柔軟に対応可能
JavaScriptステップを活用することで、単純なクリック以外の複雑な操作も実現でき、多様なテストシナリオに対応できました。 -
開発者リソースの節約
同じテストをコードで書くよりも迅速に構成でき、初期構築・保守の両面で工数を削減できました。 -
学習コストが低い
非エンジニアでも数回のクリック操作でテストを構築でき、チーム全体のテスト自動化への敷居を下げることができました。
❌ デメリット
-
ビジュアルリグレッションテストの感度調整に注意
UIのごくわずかな変化でもテストが失敗と判定されることがあるため、画像比較時のしきい値(threshold)は過度に低く設定しない方が良いです。
(例:0.5~1%程度が安定、プロジェクトの性質に応じて調整が必要) -
テストデータの整理が必要
テスト中にエラーで停止した場合、一部のデータが残って次回のテストに影響を与えることがあります。
例:ロール変更のテストが途中で失敗すると、変更後のロールが残って次のテストに影響 → teardown処理や初期化の仕組みが必要です。 -
シナリオ作成時の非効率な操作フロー
シナリオ作成中に結果を確認するために毎回ログインからやり直さなければならないケースがあり、やや不便です。
ただし、共通シナリオをモジュール化することで一部は改善可能です。
5. まとめ
Autifyは、非エンジニアでも簡単にUIテスト自動化を導入できるよう設計されたツールです。
従来のテストコードベースのアプローチと比べて学習コストが低く、保守性も高いため、回帰テストやリリース前の確認作業に特に有効でした。
すべての手動テストを置き換えるのは難しいとしても、シナリオが安定した後であれば、検証効率を大きく向上させることができるツールだと感じました。
コードを書かずに素早く自動化を始めたいチームにとって、Autifyは非常に有力な選択肢だと思います。