数多あるE2Eテスト自動化ツールからMagicPodを本気で選定した
※この記事は「COUNTERWORKS Advent Calendar」の20日目の記事です。
こんにちは!
株式会社COUNTERWORKSのくりまろ(@kuririmaro)です。
去年は開発エンジニアとして記事を出しましたが、今年はQAエンジニアとして記事を出します!
(去年のアドベントカレンダーはこちら)
はじめに
弊社では毎週のリリース前にリグレッションテストを実施しています。
QAチームだけでは手が回らないので、開発エンジニアの皆さんの工数も使ってテストを毎週実施しているのですが、めっちゃコストかかりますよね。
コストがかかるくせに、毎週絶対バグが見つかるわけでもないし、テストケース多いし、開発エンジニアから「これやる意味あるの?」と思われてしまっても不思議ではありません。
(弊社にはそんな不満をいうエンジニアはいませんでしたが、開発エンジニアとしての自分は思っていました。)
弊社はリグレッションテストを自動化するために、E2Eテスト自動化ツールの導入を決めました。
本記事では、どんなツールが選定対象になったのかとその比較や最終的にMagicPodに決めた要因を紹介します!
弊社の課題
- 毎週のリグレッションテストに開発エンジニアの工数を使っていること
→開発エンジニアにも品質について意識を向けてもらえるかもしれないという利点もあるが、テストの独立性を考えると、ここに工数をなるべく使って欲しくない。 - Playwrightを導入しているが、メンテナンスコストがかかり、結局使われなくなってしまった
→QAチームは2人しかおらず、Playwirghtを運用できるだけのリソースが足りなかった。
かつ、コードを書ける人しかメンテナンスできない。
と上記2つの課題があがりました。
そのため、今回のツール選定の絶対条件は
- リグレッションテストを自動化できること
- メンテナンスコストが比較的低いこと
の2点として、さまざまなE2Eツールを抽出しました!
候補にあがったツール一覧
Autify
E2E自動ツール使いたいよねという話になると社内で必ず出てくるであろう、E2E自動ツールの一つ。
メリット
・ノーコードでテスト作成~実施まで可能で、AIが自動でメンテナンスまでしてくれる優れもの
・Google Chromeの拡張機能をインストールするだけで、テストを作成〜実施できる
・テスト結果を動画で確認できる
デメリット
・料金が高い
MagicPod
どの企業でも話題に上がるであろうE2E自動ツールの一つ。
メリット
・ノーコードでテスト作成~実施まで可能で、AIが自動でメンテナンスまでしてくれる優れもの
・AIがメンテナンスしてくれる割には料金がお手頃
デメリット
・テストケース作成に若干の癖がある
・基本リモート環境でのテスト実行なので、動作がもっさりしている
mabl
私は初めて聞いたのですが、QAエンジニア界隈ではよく知られている
(autifyと同様でAIが組み込まれている??)
こちらはトライアルの申し込みなどをせず料金の問い合わせをしたのでメリットデメリットは分かりませんでした。
メリット
・ツールをただ提供するだけでなく、どれだけmablを理解しているかのテストが用意されている
デメリット
・??
BugBug
こちらの記事を拝見した時に初めて知ったツール
ポーランドに起点に置く、ヨーロッパの企業
メリット
・他のテストツールと比べても格段に安い
・UIがシンプルで使いやすい
・Google Chromeの拡張機能をインストールするだけで、テストを作成〜実施ができる
デメリット
・ドキュメントが全部英語
・サポートも全部英語で、時差があるためレスポンスが遅い
候補にはならなかったが検討したツール
BrowserStack
・さまざまな種類のテスト実行環境を用意してくれていて、開発PC以外のテスト実行用端末などが不要になる。手動テストで環境要因で不具合が出ることがないかなどを調べる時に便利そう。
Ranorex
・トレーニングやセミナーもサポート対象に入っている。ライセンスは「テスト作成~実行ができるもの」と「テスト実行だけでできる」2種類あり、Macでテスト作成するけど、Windowsでも実行だけはしたいみたいなニーズにも対応している。
UiPath
・E2Eテストに特化したツールではなく、さまざまなテスト工程に適したツールを用意している。
ATgo
T-DASH
Testablish
などなどさまざまなツールが候補に上がりました!
決戦投票
先の2つの条件や料金面を鑑みて、以下2つに絞られました。
MagicPod
操作に癖があるため慣れる必要があるが、AIを使える中でも安価であることがやはり魅力的。
様々な変数や関数を用意してくれているため、日付やユニークな値を簡単に生成することができるので、そういった意味では操作性が高いと言える。
BugBug
圧倒的な安さ。
UIもシンプルなので、初期コストがほぼかからない。
FREEプランがあり、トライアル期間が終了してしまう心配がなく、運用に乗せられるかなどをじっくり考えることができた。
判断基準
決戦では以下の観点から最終的な判断をしました!
選定結果
タイトルの通り今回はMagicPodを選定しました。
実は「品質向上が可能か」と「運用に問題がないか」の観点から見ると、決勝に残った2つの製品にサービス選定を決定づける差分はあまりありませんでした。
今回、MagicPodを選定した大きな理由は「ツールが実用可能か」の「現環境への順応性」にMagicPodを決定づけたものがあります。
現環境への順応性
Reactを使っているとReactのコンポーネントを使用することがあると思います。
例えば、入力フォームには必ずinputコンポーネントを使うと、<input id="react-select-9-input">
のような要素が出力されます。
ここでの問題はidはReactが自ら管理しているものであり、定期的にidが変わってしまうことです。
BugBugでは安定してReactのinputコンポーネントを要素取得できず、不定期でテストが失敗してしまいました。(Playwrightでも同様な問題がありましたが、強引に解消させました)。
一方、MagicPodではAIの自動修復によりReactが生成したinputでも安定して要素取得することができました。
それが発覚するまではBugBugが優勢だっただけに、AIの強さを実感しました。
最後に
E2Eテスト自動ツールを本気で選定してみました。
私も初めはAutifyとMagicPodぐらいしか認知していませんでしたが、調べていくと数多のE2Eテスト自動化ツールが存在しており、それぞれのサービスにはメリットデメリットが存在していたと思います。
「このツールを採用すれば、大体要求を満たせる!」と言ったツールはないと思います。
この記事が数ある中からみなさんのペインや要望に当てはまるツールを探す手助けになればと思います!
弊社の場合は一番マッチしたと感じたMagicPodを選定いたしました!
結局AI最高!!!!!!!!!
We are hiring!!
最後に株式会社カウンターワークスでは、品質向上に対して熱意のあるメンバーを募集しています!
興味のある方はぜひ以下のリンクからご応募ください!
ポップアップストアや催事イベント向けの商業スペースを簡単に予約できる「SHOPCOUNTER」と商業施設向けリーシングDXシステム「SHOPCOUNTER Enterprise」を運営しています。エンジニア採用強化中ですので、興味ある方はお気軽にご連絡ください! counterworks.co.jp/
Discussion