
QA自動化サービス「Autify」を試してみました。Aufityは日本発のテスティングプラットフォームサービス。手作業になりがちな「テスト」領域を、技術の力で解決していこうとしています。この記事では、Autifyを実際に使いながら、基本的な動作を説明していきます。
はじめに
手前味噌ですが、QA自動化プラットフォームについては、上記資料をご参考ください。ここ3〜4年は「テスト自動化」に関わることが多いですが、業界全体の方向性を見ていると、こういったツールの有益性が強まっているように思います。
ただ一方で、新しいツールやサービスに否定的な部分も存在します。こういったサービスを使おうとして、最終的に「手作業に戻した」企業もたくさん知っていますし、私自身、テストの「マンパワー解決&社員が派遣管理」という方向性を打ち出した会社を辞めたりもしています。
それらを否定するつもりはありませんが、こういった技術によるテストの躍進は、ソフトウェア開発全体のレベルを引き上げると考えています。新しい取り組みは、なかなかタフだと思いますが、次のスタンダードになっていくことを願っています。
Autifyのはじめかた

まずは、Autifyの登場人物を整理します。
- シナリオ: テストケースを指します。ブラウザを介してエンドツーエンドテスト(E2Eテスト)になるため、テストケースには必然的に複数のステップで構成され、一連の流れを表すシナリオ形式になります。
- ステップグループ:ステップをグルーピングしたもの。プログラミングの関数、メソッドのように、繰り返し処理を定義できます。
- テスト結果: テストの実行結果です。
- テストプラン:テストの実行タイミングを設定します。
シナリオ

シナリオ作成画面です。画面サイズを選択し、テスト開始するURLを入力してから、シナリオをChrome拡張を使ってレコーディングしていきます。レコーディングはChromeのシークレットモードのみに対応しています。

このブログのURLを指定すると、上記のようにウィンドウがシークレットモードで開き、右下に小さくAutify Recorder(Chrome拡張)が表示されます。この状態でブラウザを操作し、その操作を記録していきます。
まずは簡単ですが、検索ボックスにキーワード「子育て」を入力して検索した結果をチェック(バリデーション)するシナリオを作ってみます。Autify Recorderの赤マルがチカチカしている間は動作が記録されるため、とくに意識せず検索ボックスを表示し、「子育て」と入力して検索ボタンを押します。

検索結果を確認するためにはレコーダーのチェックボックスアイコンをクリックします。

すると上記のようなメッセージが表示されます。ためしに対象要素をクリックしてみると・・・

ちょっとわかりにくいですが、マウスを乗せた要素が反転します。今回のケースでは検索したワードが見出しとして表示されているのを確認したいため、見出しを選択しました。

すると要素をどのようにチェックするか選択できます。表示だけの確認。中身のテキストの確認。テキストを含む・含まないといった基本的なチェックができます。

要素ではなくページ情報をベースにバリデーションも可能です。たとえば、がイプパートナーのサイトに遷移する場合、コンテンツの内容は外部パートナーによって変更される可能性があるため、要素のチェックは失敗につながりやすいはずです。よって、こういうケースは「期待するURLが開いていること」までを確認すると良いでしょう。

保存すると上記のように画面キャプチャ付きでシナリオが表示されます。見るだけで何をしているかわかりやすいのはAutifyの優位点ですね。

また別の機会に紹介しようと思いますが、ステップとステップの間にある点線(矢印)にマウスを乗せると「+アイコン」が表示されるはずです。クリックすると上記のようなメニューが開き、Javascriptを利用したステップを挿入できます。
JSを利用できるということは、画面上の要素であれば、探す、操作する、値を取る、値を使って計算する、APIをCallする・・・など、大抵のことはできてしまいます。
ステップグループ

ステップグループは、プログラミングでいう関数・メソッドに近い存在です。特定の処理をたばねて再利用できるようになり生産性を高めます。まずは上記のように、検索して結果を表示するまでをステップグループにしてみました。

ステップグループは2020/04/21現在、シナリオ作成時にシナリオの先頭への挿入しかできません。将来的にはシナリオ内に導入できるようになるとのことです。
テスト結果

テスト結果からはテストの実行結果をグラフィカルに確認できます。みてのとおりAutifyはステータスが細かく分かれています。
クロスブラウザ実行はもちろんですが、AutifyはBrowserStackを利用しているようなので、リアルデバイスを使ったモバイルブラウザも選択可能です。
サービスによっては、スマホアプリよりスマホのブラウザからのアクセスが多いので、こういった選択肢があるのはいいですね。モバイル対応しているのはAutifyだけなのかなぁ(mablはモバイル対応ではなくレスポンシブウェブにだけ対応)。
テストプラン

テストプランでは実行タイミングを指定します。プランに設定したシナリオが指定した日付やタイミングで自動実行されます。
まとめ
簡単ですが、Autifyを使いはじめるうえで必要最低限の内容をまとめてみました。
今はちょうど在宅勤務応援キャンペーン中でトライアルできるため、実際に使ってみてその可能性を感じてもらえるとよいかと思います。