自動E2Eテストツール Autifyのトライアルをしてみて

#**はじめに**
はじめまして、QAエンジニアの川満です。
以前[トライアルさせてもらったAutify](https://autify.com/ja/)を利用した際の感触や体験した内容を残したいな。と思ったので記事にしてみました。
※トライアルを実施した期間は2020年4月頃

##**Autifyとは**
自動E2Eテストツールです。
GUI操作によるテストシナリオ(スクリプト)作成が可能で、駆動(データドリブン)テストがCSVのアップロードと一部のシナリオ編集のみで実現可能です。

またこれまで多くの工数がかかっていたテストシナリオ修正が、AIによる代理要素の検索や位置特定を行う機能により緩和されます。
※ここが一番の目玉だと思っています。

[アカウント作成からテストの実行までのチュートリアル](https://autify.zendesk.com/hc/ja/categories/900000080866)

##**テスト機能について**
####**■利用可能なOS・ブラウザ**
以下OS・ブラウザにてクロスブラウザテストが可能です。
※当時利用した無料トライアルでは、Linux/Chrome環境を実行環境として利用することができました。(該当の環境にはMobile Emulator環境も含まれます。

| OS/browser         | Chrome | Firefox | Safari | IE | Edge | Edge Legacy |標準ブラウザ |
|--------------------|:------:|:-------:|:------:|:--:|:----:|:-----------:|:-----------:|
| Linux              |   〇   |         |        |    |      |             |             |
| Window Server 2019 |        |         |        | 〇 |  〇  |             |             |
| Windows 10         |   〇   |    〇   |        | 〇 |  〇  |      〇     |             |
| macOS Big Sur      |   〇   |    〇   |   〇   |    |  〇  |             |             |
| iOS                |        |    　   |   〇   |    |  　  |             |             |
| Android            |   　   |    　   |        |    |      |             |      〇     |
※詳細はこちら、[PC](https://autify.zendesk.com/hc/ja/articles/900001689943)・[SP](https://autify.zendesk.com/hc/ja/articles/900002236466-%E3%82%B5%E3%83%9D%E3%83%BC%E3%83%88%E3%81%99%E3%82%8BOS%E3%81%A8%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%E3%81%AE%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3-%E3%83%A2%E3%83%90%E3%82%A4%E3%83%AB-)

トライアルを受けた2020年中旬頃はモバイルAPPの検証は不可でしたが[β版の提供が4月から開始される様です](https://autify.com/ja/mobile):innocent:

####**■テスト種別**
要素存在確認、非表示確認、活性・非活性確認、文言整合性、画面遷移確認といった人の目・手で行っていたテストの自動化が可能です。
但し、ブラウザバックやブラウザを次画面へ進む等Autifyのレコーダーではテストシナリオの作成が出来ないテスト手順があります。その場合はJavaScriptをテストシナリオ内に埋め込んで回避したり、サポートセンターに問い合わせが必要です。（窓口対応めっちゃGood:relaxed:）

また他にもテストシナリオ作成に困った際は以下の情報を確認し、問題解決を行っていました。
[・リリース一覧](https://autify.zendesk.com/hc/ja/sections/900000190303-%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E3%83%8E%E3%83%BC%E3%83%88)
[・ロードマップ(利用可能になる予定の機能情報等が載っている)](https://autify.zendesk.com/hc/ja/sections/900000304143-%E3%83%AD%E3%83%BC%E3%83%89%E3%83%9E%E3%83%83%E3%83%97)
[・FAQ](https://autify.zendesk.com/hc/ja/categories/900000044323-FAQ)
####**■ログ**
管理コンソール上でテスト結果のログが確認できます。
テストシナリオを作成すると同時にテストケースが作成されるので各ステップで何のテストを実施しているかわかりやすくなっています。
![test.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/243487/beceb2dc-f2ef-373a-4a7c-afe7a5380d97.png)

####**■メンテナンスAI**
AutifyのメンテナンスAIが代理要素の検索を行います。
※ざっくりいうと、テストシナリオで指定した要素が特定の位置に無い場合、近しい要素を拾ってきてテストシナリオの修正を促してくれます。
・備考
classなどの属性で特定失敗やabsoluteXPathの変更等が発生した場合に代理となる要素をAIが検索。
※また代理で要素を検知したテスト結果については、その部分のテストケースの検証結果が要確認になり、
　最終的にテスト実行者がOK/NGを判定するのでテストの確度が守られます。
####**■駆動(データドリブン)テスト**
１つのテストで異なるデータを利用して繰り返し実行し、テストの網羅性を高める事が出来ます。
・備考
これまでスクリプトにループ処理等を入れて駆動テストを実現させていましたが
CSVのアップロードとシナリオの一部修正を行う事で実施が可能になります。
![1234.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/243487/a44a26e1-bb7f-1d29-8679-9a284666e75e.png)
####**■テスト補助機能**
指定した周期でテストシナリオの定期実行が可能です。テスト結果の通知もSlackに送ることが出来ます。
設定はマニュアルもあり、画面操作だけで行う事が出来るのでとても簡単です。
![定期実行.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/243487/3e91ae9e-4094-0dab-f165-961f4f804dbd.png)![slack通知.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/243487/a3cf0261-1d58-6c94-2b9b-33e4e105cf85.png)
##**最後に**
####**■感想**
簡単にテストシナリオの作成や定期実行、通知設定が可能なのですごく使い勝手が良かったです。
メンテナンスAIの部分についても魅力的でした。

但しテストシナリオ作成時にレコーディングが出来ない操作は工夫する必要がある事と
トライアル中にAutify側の改修影響でテストが実施できない場面もありました。

ですが、サポート窓口の方々が親身になって相談を聞いて頂けるので凄く好印象でした。
費用対効果を考えた上で再度導入検討したいなと思います。

ここまで読んでくれてありがとう御座いました。

以上、「Autifyのトライアルをしてみて」でした。