はじめに
READYFOR株式会社へ業務委託で参画させていただいている @terraphic です。
この記事は READYFOR Advent Calendar 2024 の17日目の記事になります。
優秀な仲間たちの記事もぜひぜひご覧あれ
ちなみに、本日わたくしの誕生日です(目出鯛)
こんな方へ最適な記事です
- Autify NoCodeを利用してテストケースを作成し始めたばかりの方
- Autify NoCodeを導入検討している方
ちなみに、"案件"ではありません(FREE)
Autify NoCodeでの困りごと
作成したテストシナリオがFlaky(不安定)
ノーコードでテストシナリオが作れるAutify NoCode。
「簡単にE2Eテスト作れるんやろ?サクっと作って、サクッと運用始めよ。」
と思っていざ作り始めてみると...意外とね。大変よね。
何が大変て、作ったテストシナリオが不安定でコケちゃうこと。
あまりにコケすぎるとオオカミ少年🐺になってテストが形骸化してしまうっ!
原因は様々...だけど、こんな作り方するとコケにくいよ!なTIPSを集めてみました。
- 使用するユーザーを使いまわさない
- 同じような要素が多い画面はAIに頼らず"ロケータ"を使う
- 複雑な画面操作には"JSステップ"を使う
- どのステップでコケても再実行できるよう"クリーンアップステップ"を活用する
深堀りしてみましょう
使用するユーザーを使いまわさない
複数のテストシナリオで同じユーザーを使いまわしていると、
テストを同時実行した際にユーザーの状態が変わって想定した結果と異なってしまい、コケることがよくあります。
「え~?じゃあたくさんテストユーザーを作っておかなくちゃいけないの??」
答えはNO。
Autify NoCodeにはランダムなメールアドレスを発行してくれるメールテスト機能があります。
メールアドレスでユーザー登録をするステップを追加してテストを実行すれば、どんなタイミングであっても想定した結果となることでしょう。
2024年12月現在、どの契約プランでもメールテスト機能は使えるので大活用していきたいですね。
注1: テスト環境から@testmail.autify.com
ドメインへメール送信ができるよう設定変更しておきましょう
同じような要素が多い画面はAIに頼らず"ロケータ"を使う
AIを用いたノーコードテスト自動化ツール
であるAutify NoCode。
「え?AIがシナリオのメンテナンスを自動でしてくれるんじゃないの??」
それが"ウリ"な訳ですが...何事にも限界ってものがありまして。
多くのテストシナリオを作成した経験上、同じような要素(プルダウンやテキストフィールド)が多い画面だとAIの要素特定に時間がかかったり、要素特定できずにコケる場合が多い印象です。
Autify社のカスタマーサポートへ問い合わせ相談もしましたが、2024年12月現在の対応策としてはロケータを追加して要素を指定するのが最善策だそうです。
この機能を利用すると、そのステップはAIによるメンテナンスが効かなくなります。
つまり、ロケータの設定如何ではさらにコケやすくなる可能性もあるということです。
ロケータ設定のコツ
複雑な画面操作には"JSステップ"を使う
AIを用いたノーコードテスト自動化ツール
である(略
「え?JavaScript書くなんて聞いてないよ!!」
前項と同じ理由ですが、何事にも限界ってものがありまして。
ロケータ設定でも埒が明かない場合は、JSステップ機能を利用し、自らJavaScriptを書いて画面操作をすることになります。
Autify社からはAutify JavaScript Snippetsとして、よく使われるコードテンプレートが公開されていますのでこちらを利活用してみてください。
「それじゃあテストにならんやろ!」
というシチュエーションもそこそこあるかと思います。
READYFORではあくまでも最終手段として、またはテストの補助的操作で使用しています。
AIがより賢くなることをサンタさんにお願いしておきましょう
どのステップでコケても再実行できるよう"クリーンアップステップ"を活用する
例えば"アイテムを編集する"というテストシナリオを作成した場合、次回テスト実行用にアイテムのデータを元に戻しておきたいですよね。
データを元に戻すステップをテストシナリオの最後に追加して
「よーし!これで大丈夫!!」
ちょっと待って。テストの途中でコケてしまったら...?
そんな時は2023年9月にリリースされたクリーンアップステップ機能を活用しましょう。
テストが途中でコケても、最後に必ず実行されるステップが書けます。
最近リリースされた機能の中でも個人的に激アツで大活用中◎
将来的にクリーンアップステップの途中でexit 0
できたり実行タイミングを選べたら嬉しいなと期待しています!
注2: 2024年12月現在、こちらの機能はAdvancedおよびEnterpriseプラン、および同等のプランのみ利用可能だそう
まとめ
いかがだったでしょうか?
たかが、テスト。されど、テスト。
システムの安心・安全と、より良い機能の早期提供を実現すべく、こういった素晴らしいツールをどんどん利活用していけたらと思います
明日12月18日は @shmokmt さんの担当です。お楽しみに!