レバテック、Autify始めます!!〜 Autify大臣の事始め 〜
はじめに
レバテック開発部の江間です。
この度、私が所属しているレバテック開発部にE2Eテスト自動化SaaSのAutifyを導入しました。
4月中旬より利用を開始して『Autify大臣』なるものをやらせていただき、導入推進を始めて2ヶ月ほど経過しました。
先日、開発チーム向けにオンボーディングをして、ひとやま超えたタイミングで導入経緯・導入準備などについて振り返ってみたいと思います。
導入経緯
レバテックでは下記のような様々な課題がありました。
1. E2E自動テストコード管理コストの増加
OSSツールによるE2E自動テストを実施しているチームでは、メンテナンスにコストの増加が問題になってました。
ライブラリ更新の手間、コードメンテナンスの手間、複雑化するコード、そして実行されずに残骸になるコード、、、というあるあるの現象です。
2. 手動による受け入れテストの手間
レバテックでは、マーケ、ディレクターの方たちが受け入れテストを実施しています。
チェックリストを使って受け入れテストを実施していますが、時間が経つにつれて受け入れテストのチェック項目が増えて結果的に工数が増えていきました。
また、マーケ、ディレクター目線ではE2Eテストをソースコードで実装すると、何をしているか把握できず共通認識が取れない状況も発生していました。
3. 意図しないバグの発生
そして、度々ではあるのですがシステム変更に伴うバグが意図しない箇所で発生していました。
Aだけを変更したはずがBで問題が発生した。さらにそれがしばらくの間、発見されず機会損失に繋がっていた、、、という感じです。
つまり、テストに対して工数が膨らんでいて、かつちゃんと運用している(つもり)にも関わらず一定バグが発生している状態でした。
Autify選定理由
上述の課題を解決するべくいくつかのノーコードE2Eテストツールを比較検討し、Autifyを導入することに決定しました。比較検討時の詳細は省かせていただきます。
トライアルを申し込み、実際にAutifyに触れ、導入の決め手となった部分について記載していきます。
1. ノーコードで専門スキルがなくても誰でも簡単に自動テストを作成できる
使用前に専用のChromeアプリをインストールするだけで使えるようになります。
Autifyのシナリオ作成画面でテスト対象のURLを入力し、シナリオ作成ボタンをクリックすると、シナリオ記録用のブラウザとAutifyツールバーが立ち上がります。
この状態で画面を操作すると自動的に1アクションごとに画面操作がAutifyへ記録されます。
操作の途中で検証したい部分(任意の表示があるか、遷移先URLが正しいかなど)があれば、Autifyツールバーから簡単に設定ができます。
Autifyのシナリオ作成画面
慣れてくると、これまで手動で実施していたE2Eテスト+αでテストシナリオが作成出来そうだという感触が掴めました。ツールバー経由のアサーション設定も直感的で誰でも簡単に使える印象を持てました。
2. AIによるテストメンテナンス性
事前にシナリオを作成し、画面変更した際のAutifyの挙動を確認しました。
Autifyでは、AIが画面変更を察知してテストを実行してくれます。(当然ですが、ガラッと画面が変わると最後までテストしてくれません。)
ちょっとした変更は下記画像のように問題なくテストしてくれます。
こちらは検証時の画像で、意図的にボタン内のidやclassを変更して試しましたが正常に動作してくれました。
Autifyのテスト結果画面 - 前回結果との差分
さらに、大幅に画面を変更した際も"とりあえずいい感じに"最後まで実行してくれます。
前回との差分、つまり"とりあえずいい感じに"実行した部分を「要確認」として通知してくれます。「要確認」となったテストステップを確認し、問題がなければボタン一つで次回以降の正常系として扱ってくれます。
これはかなり感動しまして、これまでの「開発する→テストコードを改修する→テストする」という流れが、「開発する→とりあえずAutifyでテストする→Autifyの実行結果を確認する→場合によってはボタンをポチってメンテナンスする」に変わり、大幅にメンテナンスコストが削減できるのではという期待を持てました。
「要確認」に関しては公式ドキュメントに分かりやすくまとまっています。
3. 充実したドキュメント
導入検証時は公式ドキュメントを参考に理解を進めました。
非常に体系的に分かりやすくまとめられており、機能を把握するするうえで非常に助かりました。
ドキュメント分かりやすい点も社内に広めやすいと思わせてくれました。
導入推進活動
4月中旬にAutifyと正式に契約しました。
最初の2ヶ月間は準備期間と位置づけて導入準備を進めました。
- ツール導入に伴う目標設定
- 効果計測
- 運用ルール策定
- インフラ周りの整備
- 特定のチームで先行導入して詳細機能の検証
- 開発チームへのオンボーディング
- オンボーディング後アンケート
この中でいくつか抜粋して紹介したいと思います。
ツール導入に伴う目標設定
Autifyを導入してなんとなく、「開発者体験・システム品質がよくなったね〜♫ハッピー〜♫」みたいな感じにはしたくなかったので目標設定と効果測定の項目について検討しました。
ツールはあくまで手段なので、Autify活用を通じてどうなっていたいか、1年後のあるべき姿について検討しました。その結果、、、
1年後のあるべき姿について検討し、
「非エンジニアも含むレバテック開発チームにE2E自動テスト文化が根づき、システム品質が向上している状態」
を目指したいと考えました!
そして、次のようにより具体化した目標を定義しました。
- 日々、E2Eテスト自動テストが実行されている
- 自動テストによりシステム品質が向上している
- エンジニア、非エンジニア問わず活発にAutifyが利用されている
効果測定
次に、導入効果を把握するために定期的に確認すべき数値を決めました。
なお、必要になるまでは数値目標を置かず、傾向を確認できればと思っています。
1. Autify利用状況レポートの活用
Autifyには、利用状況を把握するためのダッシュボード機能があります。
シナリオ作成数、テスト実行数などを定期的に確認して活用状況を把握していきます。
余談ですが、チームごとの利用状況はこちらの機能では把握できないため、シナリオの命名ルールとAutifyのAPIを駆使しして分析出来る仕組みを構築する予定です。
2. インシデントレポート
レバテック開発部では、障害発生後にインシデントレポートを作成するルールがあります。
こちらの件数を集計して、導入前後で件数がどのように変化するか確認していきます。
また、レポートにはポストモーテムの内容も含まれています。
恒久対応にAutify活用の記載があれば履行及びその後の効果も追っていきたいと考えています。
3. 開発生産性
レバテック開発部には、Four Keysに基づく開発生産性を可視化するツールがあります。
こちらもAutifyの導入前後と比較しつつ、デプロイ頻度やリードタイムなどにどんな影響があるか確認していこうと考えています。
4. サーベイ
定性面の把握をするために社内のAutifyユーザー向けにアンケートとヒアリングをしていきます。
自動テストにおける、エンゲージメント把握、導入状況の活用、活用事例の把握などが主な目的になります。
定性とはいいつつ、こちらも一定の指標としてレバテック開発部でAutifyが活発的に使われるための土壌作りの元ネタにしたいと考えています。
開発チームへのオンボーディング
5月末に開発チーム向けにAutifyのオンボーディングを実施しました。
ツール導入しました、さぁ勝手に使ってね!!ではなかなか活用してもらえないと思い、積極的に使ってもらうために最初の印象が大事と考えて下記を意識して計画しました。
- Autifyが非常に簡単で使いやすいこと
- Autifyでなにができるか知ってもらう(目玉機能の解説)
- Autifyの基本機能が使えるようになる
オンボーディングのコンテンツは、前半は機能面の説明とデモンストレーションを中心とした座学、後半はチーム毎に担当プロダクトで実際にシナリオを作成から全体の基本設定を一通り経験してもらいました。
当日は約10チーム、40名の方に参加していただけました。
小学生並の感想ですがこれだけ多くの方に参加いただけて大変うれしかったとともに、E2E自動化ツールの興味・関心の高さが伺えました。
オンボーディング後のアンケート
オンボーディング後、アンケートを実施して約30名の方から下記の回答が得られました。
一部公開したいと思います。
Q1. オンボーディングを通じてざっくりとAutifyの機能を理解しましたか?
割合 | |
---|---|
理解できなかった | 3.33% |
部分的にざっくりと理解した | 10.00% |
ざっくりと理解した | 86.67% |
Q2. オンボーディングを通じてざっくりとAutifyの使い方を理解しましたか?
割合 | |
---|---|
理解できなかった | 6.67% |
部分的にざっくりと理解した | 13.33% |
ざっくりと理解した | 80.00% |
Q3. オンボーディング後のAutifyの印象について教えてください。
割合 | |
---|---|
非常に不満 | 0.00% |
まあまあ不満 | 0.00% |
普通 | 6.67% |
まあまあ満足 | 60.00% |
非常に満足 | 33.33% |
Q4. 今後、Autifyをチームで活用したいと思いますか?
割合 | |
---|---|
活用しない | 6.67% |
部分的に活用したい | 33.33% |
積極的に活用したい | 60.00% |
結果、多くの方に「ざっくりと理解」していただき「今後の活用意向」も高い結果を得ることができ、オンボーディングでAutifyの魅力はある程度伝えられたかなと考えています。
最後に
2ヶ月の準備期間を経てようやくスタートが切れました。
今後、Autifyの導入して、開発組織がどのように変化していくのか楽しみです。
今後の推進大臣活動は、先に記載した目標を達成すべく活発利用できる状況を作っていきたいと考えています。
- マーケ・ディレクターの方向けのオンボーディング
- 実績集計の仕組み作り
- 活用事例収集・社内広報
- 活用しきれていないチーム向けのフォロー
需要があるが不明ですが、活動の進行状況は今後もZennで発信したいです。
せっかく振り返るので、全て詳細に書こうと思ってましたが、、、長くなりすぎると思い結局抜粋しました。今回書きれなかった部分は別の機会に深堀りしてお伝えできればと思います。
レバテック開発部の公式テックブログです! レバテック開発部 Advent Calendar 2024 実施中: qiita.com/advent-calendar/2024/levtech
Discussion