非エンジニアがAutifyでテストを自動化してみた
TL;DR
- 非エンジニアがシステムリプレイスのプロジェクトでAutifyを使ってみました
- 入力内容と結果のセットを検証するシナリオテストと相性がよいと感じました
- 受入テスト負担を減らせましたが、検証の内容によってはテストしづらかったりエンジニアと協力する必要もありそうです
はじめに
レバテックでPM・ディレクターをやっている綾塚です!
普段は以下のような業務を担当しており、特に実装要件を詰める時やテスト後の修正依頼をする時には、エンジニアの皆さんと連携しながら進めることも多いです。
- システム改修要望のヒアリングや実装要件の策定
- 改修機能のテストや修正依頼
- 他、進捗管理や関係各所との調整など...
そんな私ですが、このたび自動テストツール Autify を担当プロジェクトに導入しました。
今回は非エンジニア目線で、自動テストツール導入の感想を紹介していきます。
Autifyとは
テストは手動でもできますが、スケジュール登録して実行することもできます。
また、ノーコードツールなのでエンジニアじゃない人でも専門知識が不要で、直感的にテストシナリオを作ることができます。
たとえば「このページに遷移して、○○というテキストが含まれているかチェックして」というテストシナリオを登録しておけば、あとはAutifyが自動で実行してくれます。
導入したプロジェクト
レバテックキャリアの面談予約システムをリプレイスするプロジェクトで導入しました!
このフォームはユーザーが入力した職種や勤務地次第で出し分けを行っていまして、以前テストしたときは全パターンを手動入力で検証したためかなり大変でした。。
今回、受入テスト作成は私のほうで担当しましたが、そのうち入力内容に対応したフォームが正しく表示されるかを検証するシナリオテストをAutifyで実施しています。
いつシナリオを作ったか
テストを開始する1~2週間前くらいからシナリオの準備を始めたのですが、十分間に合いました!
初Autifyだったので時間がかかると思いきや。。予想以上に簡単に操作できたためか、想定より時間もかかりませんでした。
どのタイミングでテストを実行したか
登録したシナリオテストは以下のタイミングで実行しました!
- エンジニアが検証環境にコードを反映したとき
- エンジニアが修正依頼に対応して再度検証環境にコードを反映したとき
- 本番リリースしたとき
特に3の検証は、Autifyを使うと思った以上にストレスフリーでした!
テスト対象のURLを検証環境→本番に切り替えるだけで済み、公開のタイミングに合わせてテスト実行を予約しておけば人間が待機する必要もありません。
また、リグレッションの確認にも役立ちました!
検証環境とまったく同じ条件・手順で本番環境の検証も再現してくれるため、たとえば本番環境だけで発生している不具合がないか等もチェックしやすかったです。
使ってみた感じたこと
詳細は後述しますが、とにかく一度テストシナリオさえ作ってしまえばあとは本当に楽でした!
特に今回は入力内容と表示されるフォームのパターンの組み合わせが多く、シナリオテストの量も多かったのですが、これらを自動化できたのは助かりました。
非エンジニア目線で良かった点
誤操作の心配がない
入力ミスなどによるテストのやり直しを心配しなくて済むほか、不具合の原因を調査する際の負担も減りました!
これまでは、不具合が発生すると常に人間側の誤操作も疑いながら調べていました。
Autifyなら指定した値が確実に入力されるため、はじめからその可能性を考えなくて済みます。
テスト内容が可視化される
実行したテストの手順や結果はすべて管理画面から確認できるため、証跡としても活用できます!
過去、テストの結果を厳密に管理するプロジェクトに参加したときは、キャプチャを保存したり、テストの様子を動画で撮影したこともありました。
また、登録したテストは他のPMやエンジニアにもレビューしてもらえるため、手順や観点の抜け漏れにも気づきやすかったです。
関係者のテスト負担を減らせる
ビジネス側の関係者が実施する受入テストの負担を減らせました!
特に受入テストははじめての方にお願いすることも多く、そのたびにテストの方法をご説明したり、時間を確保していただくのが大変でした。
Autifyならテストの操作や結果を記録した動画も残るため説明がしやすく、また説明を受ける側も直感的にイメージしやすそうでした。
ほかにも、基本的にビジネス側の受入テストは内容が限定的で簡単なことから、Autifyで代替できるものも多くありました。
今後は一部の受け入れテストをAutifyで代替し、関係者にはテストの内容と結果を承認していただくのみにする、といったコミュニケーションもとれるかもしれません。
逆にちょっと辛かった点
正確なテストケースの作成は必要
当然、Autifyが実行するテストのシナリオ自体は作る必要があります。
プロジェクトや実装した機能ごとに何をテストすべきか考えたり、ケースの洗い出しや手順を整理したり、他のPMやエンジニアにレビューしてもらったり...これらは引き続き人間が行う必要があります。
また、人間相手特有の「よろしくやって」感は通じない(笑)ため、シナリオは漏れなく正確に作って正しくAutifyに登録する必要があります。
特に普段テストケースを作らない非エンジニアの方にとって、このあたりは意外としんどい点になるかもしれません。
画面上のテキストから確認できないことは検証しづらい
受入テストはシナリオテスト以外も実施しましたが、たとえばデザイン検証や表示速度の検証、また画面上に反映されない登録データの検証などはAutifyでは難しいです。
このあたりのテストをAutifyに期待していると、ギャップを感じることがあるかもしれません。
反対に、今回のフォームのように画面数が多かったり、入力内容と結果のセットが決まっていたり、期待する結果が画面に表れるようなシステムとは相性が良さそうでした。
複雑な検証はエンジニアの協力が必要
AutifyではたとえばJavaScriptを組み込んだ検証なども行えますが、複雑な検証を行う場合はエンジニアと連携する必要があります。
そういう場合は完全ノーコードというわけにもいかず、非エンジニアだけでは完結しないケースもありそうでした。
まとめ
今回は、非エンジニアの視点からAutifyについて紹介させていただきました!
特に非エンジニアでも簡単にテストシナリオを作成・実行できる点や、ビジネス側の関係者の受入テスト負担を減らせる点は大きなメリットでした。
一方で、複雑な検証にはエンジニアの協力が必要だったり、画面上のテキストから確認できないことはテストしづらいことも分かりました。
Autifyは、今回のフォームのように入力と出力の組み合わせがパターン化されているシステムのテストには非常に適しているように思います!
今後も同じようなプロジェクトやシステムに導入することで、テストの効率および精度を上げていけそうです。
Discussion