mablが勝手にスモークテストする機能がなにかと人気 #mabljapan

mablはテスト対象を登録すると、それを開こうとするだけのテストや、開いたページのリンクをクローリングしまくるテストを自動実行します。詳しくはmablが自動作成するなにかと便利なテスト「ログインテスト」と「リンク切れチェックテスト」を解説にまとめたので参考までにですが、このテストがなかなかおもしろい使われ方されるようになりました。

コーポレートページをクローリング

これは長年お付き合いのある支援先スタートアップの事例でもあるのですが(詳しくはイベントレポート: 人類よ!これがテスト自動化の実践だ!立ち上げのプロ&運用のプロから実践知を発見しよう!で動画も公開されています)、彼らは、テスト対象のアプリではなく、自分たちのコーポレートページや、静的サイト郡もクローリングしています。

たまたまテスト対象のアプリにコーポレートサイトへのリンクがあって、クローリングがコーポレートサイトに及んだときに、リンク切れ、JSエラーがでるわでるわ。

たしかに、コーポレートサイトだとニュースページへのリンクが多かったりして、遷移先(自社サイトじゃないページ)が見えなくなったりするのがざらにあります。

もしこれが採用ページで、応募フォームへのリンクだったら? ものすごい機会損失になるかもしれません。

よって、クローリングをコーポレートサイトに適用し、リンク切れエラーなどをコーポレートチームのSlackチャンネルに流していこう! といった取り組みがはじまったようです。

クローリングのユースケース

クローリングによって、

  • 簡単な死活監視ができる
  • 画面を開くだけのテストだが、JSエラー検知、リンク切れ、ネットワークエラーなどを拾える
  • たくさん画面があるときに、クローリングを実行して、「少なくとも画面を開いてエラー出てないこと」といったスモークテストにも使える
  • クローリングによって画面モデルを集めたり、カバレッジ計算のための画面数を数えたりしてくれるので、あとあと便利

などなど、さまざまな恩恵が得られます。

しかも、デフォルトで作成されるクローリングテストは実行無料です

ログイン後のクローリング

さらに、ログインしてからクローリングしたい場合もご安心あれ。ログイン処理をクローリングテストに追加できます。「COPY WITH CUSTOM LOGIN」からログインFLOW(FLOWはmablが提供する共通部品の概念で部品を使い回せる)を選ぶだけ。

自動的にログイン処理が埋め込まれたテストがコピー作成されます。

ただし、この場合は、デフォルト実行にならないので、実行回数1としてカウントされます。そのかわりに実行時間の調整、クロスブラウザやモバイルブラウザの選択など、Planを柔軟に設定できます。

1回で全画面網羅してくれるのであれば、毎日流しても月30回と安いコストではないかと思います。

特定のページだけを確認したい場合はVisualTest

mablにはVisualTestがあります。

mablのビジュアルテスティングで「見た目のテスト」も自動化してみよう

こちらもクローリングと同じようにJSエラーやリンク切れを検知してくれますが、特定のページだけを確認するならこちらのほうがシンプルです。VisualTestは実行回数にカウントされますが、柔軟にPlanを設定できます。

ただただクローリングするだけのテストですが、わざわざリンク切れ確認する必要もなく、非エンジニアを巻き込んでテストを民主化できるので、ぜひお試しあれ。

参考: リンククローラーの活用

広告