🤖

ローコードテスト自動化ツールの mabl がすごい

2021/08/06に公開

というのを使っていて思ったのでレポを書いていきます。

mabl とは - 基本的な機能

ざっくり言うと E2E テストをお手軽にメンテできるツールです。

こんな感じでポチポチ画面を操作していくと、それで実行したアクション(ボタンやリンクをクリックするなど)を自動で記録してくれて、E2E のテストを作成することが出来ます。

コードを書かずに E2E テストをサクッと作れちゃうのが魅力な訳ですが、それだけではありません。そんなすごいところを紹介していこうと思います。

mabl のここがすごい

Auto Healing

何やら回復魔法みたいな感じでかっこいいですが、何かというと E2E テストがコケるようになった時に自動で修復してくれる機能です。

https://www.mabl.com/auto-healing

例えばボタンの位置が変わってしまっても、同じ文脈であろうボタンを自動で探して修復したりしてくれます。

E2E での辛さといえば、やはりテストのメンテナンス。ちょっと hook としている要素が変わるだけでコケるようになるのは中々のストレスです。それが放置されて次第に使われなくなってしまう...というのは E2E あるある話でしょう。そのコストを軽くして継続しやすくしてくれるのは非常に重要な機能だと思っています。

Visual Regression を勝手にやってくれる

テストを実行した時にアクション毎にスナップショットを撮ってくれていて、前回実行したものと比較をしてくれています。こちらは何も設定しなくともデフォで入ってきます。ビックリしました。

https://www.mabl.com/visual-change-detection

Performance Test もできる

E2E のついでにパフォーマンステストもできちゃいます。
lighthouse を使ったスコアリングを各ページに実行して下記のような図を作って、遅すぎるものがあったら発見できるようになっています。

https://www.mabl.com/performance-regression-testing

UI Smoke Test

全ページをクロールしながらリンク切れの検知、JSエラーのレポート、パフォーマンスのレポートなどをしてくれます。すごいですね。

https://www.mabl.com/automated-smoke-tests

CI の組み込み

もちろんですが CI との integration も充実しています。

https://help.mabl.com/docs/cicd-integrations

例えば、多分皆さんがやりたいであろう PR を作ったら GitHub Actions でどこかにデプロイして、それに対して E2E テストを行うということもできます。

https://help.mabl.com/docs/run-mabl-tests-github-action

ブランチングもできる

まだマージされていないブランチにテストを作りたくなった時も大丈夫です。mabl でもブランチを生やすことができます。地味に便利。

https://help.mabl.com/docs/branches-and-version-control

API を叩いて Assert できる

API にリクエストを送って、そのレスポンスを validate できたりもします。あまり出番が多くなってほしくはないですが、E2E が難しい機能もあるので、そんな時に裏道的に API を飛ばせるようにしておく際に便利です。

https://help.mabl.com/docs/api-response-validation

Email のテストもできる

新規登録時のメール認証を突破したり、メールが届いているかを Assert したいということはあるあるだと思います。

https://www.mabl.com/mabl-mailbox

まずテストを作成する時に mabl のメールアドレスを発行して、

後のステップでそのメールアドレスに届いたメールの中身をアサートしたり、中身の値を使うことができます。便利。

気になるお値段は?

知らない & 言っていいのか分からないのでご自分で問い合わせてみてください✨
大きく3つのプランがあるみたいです。おそらく実行回数や機能などで差分が出るものだと思います。

https://www.mabl.com/pricing

最初の2週間はフリートライアルで試せるみたいなので、とりあえず触ってみるのもいいと思います。

https://www.mabl.com/trial-registration

雑感

E2E をお手軽に作れること自体も魅力ですが、それ以外にも Visual Regression や パフォーマンステストが "ついでに" できてしまうのは非常に強力だなと感じています。
実際仕事をしていて「これ mabl でついでにできるんじゃね?」→ 調べたらできた、というケースがよく発生しました。
mabl がおいくらなのかは存じ上げないのですが、これらのテストのメンテにかかる人の工数を考えると多少お金を積んでもお釣りが来るのではないかなと思いました。

Discussion