🐈

Autify 認定プログラム テスト自動化 を受講してみた

2023/05/02に公開

Autify 認定プログラム テスト自動化 とは

Autify 社が提供する Udemy 講座 です。テスト自動化に関する基礎知識と、Autify を使用した E2E テスト自動化のスキルを認定します。試験に合格すると、Udemy が発行する電子資格証明書が入手できます。

私は普段ユニットテストは書いていますが、E2E テストについてはあまり経験がなかったため、先着 100 名の無料クーポンに飛びついて受講してみることにしました。先着 100 名とはいえ太っ腹ですね。Autify さん、ありがとうございます。

やってみた

講座の目次は以下のとおり、2 つのセクション、11 のレッスン、2つの演習テストで構成されています。概要と実際に受講した感想を記載していきます。

セクション 1 ソフトウェアテストと Autify の基本

1. Autify 認定プログラムへようこそ!

講座の概要です。アジャイル開発の浸透により、ソフトウェアのリリースが頻繁になったことで、ソフトウェアテストの重要性が高まってきているとのことです。この講座を受講することで、一般的なテスト理論を理解できるそうです。

2. ソフトウェアテストの概要

一般的なテスト理論についておさらいし、E2E テストの重要性を理解するレッスンです。講座に添付されているコースノート(PDF 資料)を読む学習方法のようです。私は Udemy 自体を久しぶりに利用するため、動画と添付資料の組み合わせで進めるスタイルは新鮮でしたが、提供者側にとっても利用者側にとってもメリットがありそうですね。

3. Autify のはじめ方

Autify を使った簡単なテストシナリオの作成方法を学ぶレッスンです。前提として Autify アカウントと、Chrome 拡張機能 Autify Recorder の用意が必要です。私は Autify アカウントを持っていなかったため、14 日間のトライアルを申し込みました。

実際に、Autify のサイトにアクセスし、言語を日本語に切り替えると、画面表示が日本語となること を確認するシナリオを作成します。Autify では(Autify に限らない話ですが)テストの実行単位を シナリオ と呼んでいます。これは ユーザーストーリー と同義で、actor (誰が), action (何をしたら), assertion (このような結果になるべき) で構成されます。また、action は複数の ステップ で構成され、これはユーザーの操作を表します。

実際に手順に沿って Autify Recorder での操作記録、実行、結果の確認を試してみましたが非常に分かりやすく簡単に進めることができました。これなら非エンジニアでもテストを作れそうだなと感じました。また、テスト結果を動画やスクリーンショットで確認が可能で、あとから「このテスト、何を確認してるのだっけ...?」となった時も容易に思い出すことが出来そうです。テストコードだけだとそうもいかない(後から理解できるように書き方を工夫しておく必要がある)のでこれは大きな利点だと思いました。


シナリオの詳細画面


テスト結果の確認画面

4. シナリオを編集する

前のレッスンで作成したシナリオの編集方法を学ぶレッスンです。各ステップの名前、メモなどのメタデータを追加したり、ステップ自体の追加方法を学びます。長いシナリオの場合は、メタデータを丁寧に記載しておくことで、テストの意図を共有することができるため、できるだけ記載することを推奨されていました。


ステップにメタデータを追加


シナリオの失敗

5. ステップグループ

シナリオを増やす過程で、同じ手順が何度も出てくることがあります。これを共通化するための機能がステップグループです。ステップグループには シナリオ開始時に使用するステップグループ(ログイン処理など)シナリオ途中や終わりに使用するステップグループ(カートに商品を入れるなどの繰り返し処理) があります。

複数のログインユーザーを使い分けてテストしたい場合などに便利そうです。


ステップグループの利用例(1つ目のステップグループで 「Autify のサイトへアクセス -> 言語を日本語へ切り替え」を実現)

演習テスト1

セクション 1 の内容を理解できているかの確認テストです。問題は 29 問で正解率 90% 以上で合格です。私は 1回目のチャレンジで合格できました。

セクション 2 Autify を活用した応用的なソフトウェアテスト

6. メールテスト

メールを使ったシナリオのテストの方法を学ぶレッスンです。Web アプリケーションに特化したサービスだと思っていたので、このような機能があることに驚きました。考えてみると、Web アプリケーションの利用において、メールが必要なケースは多いので需要は多そうです。

メールアドレスは ランダムメールアドレス固定メールアドレスがあり、前者はシナリオ内でのみ利用できる一時的なもの、後者は複数のシナリオで使い回すことが出来ます。

使い方としては、テストのレコーディング中に発行したメールアドレスへメールを送る操作を行うと、ツールバーからメールの内容を確認できるというものです。もちろん、メール内容のアサーションも可能です。


メール内容のアサーション設定

7. テストプラン

テストプラン機能を学ぶレッスンです。テストプランは、複数シナリオのグルーピングや、各種ブラウザ、OSでの実行を管理します。また、並列実行、直列実行を行うことが出来ます。基本的には実行時間の短い並列実行を使用すべきですが、順序性を前提としたテストを行う場合などは直列実行を使うケースもあるようです。


テストプランの設定画面

8. 高度なアサーション

以下のような高度なアサーションについて学ぶレッスンです。

  • ページ URL のアサーション
  • ページタイトルのアサーション
  • テキストの部分一致、含まないこと、正規表現でのアサーション
  • チェックボックスのアサーション
  • JavaScript ステップ
  • 動的変数(日付など)

9. 高度なテストテクニック

データドリブンテスト

同じシナリオを複数の異なるデータパターンで実行する際に使用します。パラメタライズドテストのようなイメージでしょうか。CSV に格納されたテストデータ毎にシナリオを実行することが出来ます。

Slack 連携

ワークスペース単位、テストプラン単位で通知を設定できます。

CI/CD 連携

Autify のテストを既存のパイプラインの一部として実行することが出来ます。

演習テスト2

セクション 2 の内容を理解できているかの確認テストです。問題は 31 問で正解率 90% 以上で合格です。私は 3回目のチャレンジで合格できました。

10. 認定資格の活用方法

認定資格の活用方法の解説です。

11. 修了おめでとうございます!

以下のような認定が発行されます。

感想

半日程度で Autify の基本的な利用方法を学ぶことができ、また、E2E テストの重要性についても再認識できたので、非常に有意義な講座でした。CypressPlaywright あたりも学ばねばなあ。(逆行してる感じだけど

Discussion