探し始める 3 つの理由
利用実態に対する価格
エンタープライズ向けの価格は、エンタープライズ規模のテスト組織があることを前提にしています。
その組織が縮小すれば、価値のある実行 1 回あたりのコストは静かに上がっていきます。
専任 QA がいない
ローコードのプラットフォームは、テスターがフローを作成することを前提に設計されています。
テスターがいなければ作成する人もおらず、プラットフォームは遊休状態になります。
増え続けるメンテナンス
自己修復機能は助けにはなりますが、テストスイートを意味のある状態に保つ作業までなくしてくれるわけではありません。
何をカバーすべきかは、依然として誰かが判断しています。
本当に Mabl の問題と言えるのは 1 つ目だけです。残りの 2 つは、作成者ありきのプラットフォームが、その作成者を失ったチームに合うのかという問題です。
Mabl の代替ツールは何で比較すべきか
| 観点 | 作成者ありきのプラットフォーム | TestSprite |
|---|---|---|
| テストを作るのは誰か | 人がエディタで 1 つずつフローを組み立てる | 手元のソースから生成し、自然言語で調整する |
| テストを実行するのは誰か | スケジュール実行、または人による起動 | 変更そのものが起動する。コーディングエージェントからの変更も含む |
| 失敗したときに返ってくるもの | 人が読むためのレポート | コーディングエージェントがそのまま対処できるバンドル |
| AI が書いたコードとの相性 | カバレッジがコード量に追いつかない | 検証が変更と同じループの中にある |
| 前提としている人員 | テスト組織 | 開発者とそのエージェント |
最も重要なのは 3 行目です。テスト失敗の出力が、誰かの解釈を必要とするレポートであるなら、テスターのいないチームは誰も読まないレポートを買ったことになります。
どの候補にも聞いておきたい質問
200 個目のテストは誰が書くのか 最初の 10 個は、意欲のある誰かがトライアル期間中に書きます。残りをどうするのかを確認してください。
実行がアサーションまで到達しなかったときはどうなるのか それが合格として報告されるなら、仕組み全体が飾りにすぎません。ここは意図的に試してみる価値があります。
修正する側は、失敗の出力からそのまま着手できるのか 修正する側は次第にエージェントになりつつあり、エージェントはスクリーンショットを解釈できません。
移行に着手する前に
移行にはコストがかかり、そもそも不要なことも少なくありません。まずは最も重要なフローについて、候補ツールを数週間並行して動かしてみてください。新しいカバレッジが実際に問題を見つけているなら、判断はおのずと決まります。見つけていないなら、失ったのは四半期ではなく数週間で済みます。
どの候補にも使える評価方法
意図的に壊してみてください。保存しても値が残らなくなるといった実際のリグレッションを仕込み、それぞれの候補が何を報告するかを見ます。きちんと失敗するか、その失敗は実際のずれを名指しできているか、修正する人が経緯をたどり直さずにその出力から着手できるか。アサーションに到達しなかった実行を合格と報告するツールは、唯一意味のあるテストに落ちたということです。
四半期を守る問い
評価を始める前に、問題がプラットフォームにあるのか人員体制にあるのかを見極めてください。この 2 つは内側から見ると同じに見えますが、導かれる判断はまったく違います。
有効な確認方法があります。カバレッジが伸びなくなった時期を特定し、その月に他に何が起きていたかを調べるのです。誰かの退職、役割の変更、別プロジェクトへの異動と重なっているなら、原因は初めからプラットフォームではありません。乗り換えても、ロゴが変わり移行コストが上乗せされるだけで、同じ結果が繰り返されます。
同じメンバーが同じように取り組み続けていたのにカバレッジが伸びなくなったのなら、それはツールの問題であり、手を打つ価値があります。この切り分けは半日もあればつきますし、実りある評価と高くつく評価を分けるのはこの差です。
使い始める
ターミナル
npm install -g @testsprite/testsprite-cli
testsprite setup
ローカルに何もインストールしたくない場合は、TestSprite のダッシュボードからも同じセットアップを行えます。CLI のその他の機能をすべて掲載しているのが CLI リポジトリ。
仕組みそのものよりも、何をきっかけに実行するかが重要です。デプロイのイベントに紐づけておけば、誰かが判断しなくてもすべての変更がチェックされます。ダッシュボードから設定するなら GitHub App が、ワークフローの内側から実行するなら GitHub Actions のステップが、その役割を果たします。
TestSprite が違う点
TestSprite は、テストフローを作るのが仕事の担当者がいることを前提にしていません。テストケースは製品から生成され、平易な言葉で調整できるため、作成者がいなくてもカバレッジは増えていきます。多くのチームが代替ツールを探し始める原因は、まさにこのミスマッチです。
実行のきっかけはスケジュールや人ではなく変更そのもので、エディタ上で作業するコーディングエージェントからの変更も含まれます。そして失敗は、修正する側がそのまま対処できるバンドルとして返ります。修正する側がレポートを読む人間ではなくエージェントである場面が増えている今、この点の重要性は四半期ごとに高まっています。
得られるのは、専任の QA 組織を持たずに速く出荷するチームのペースに追いつくカバレッジです。しかも、誰も開かないエディタに費用を払う必要はありません。
Mabl は良くないツールなのでしょうか?
いいえ。テスト組織を前提に作られた成熟したプラットフォームです。ぶつかるミスマッチは、技術的なものではなく組織的なものです。
既存のテストは移行できますか?
移植する成果物としてではなく、何が重要かを示す仕様として扱ってください。価値があるのはフローの一覧のほうです。
すでに蓄積した実行履歴はどうなりますか?
過去の結果が、プラットフォームの移行を経て使える形で残ることはまずありません。きれいにエクスポートできると期待するのではなく、旧システムをしばらく参照できる状態で残しておく前提で計画してください。
トライアルはどのくらいの期間が必要ですか?
実際のリリースを 1 回含められる長さが必要です。リグレッションに一度も遭遇しないトライアルでは、購入しようとしているものを試せていません。
1 つに絞る必要はありますか?
すぐに絞る必要はありません。重なり合うフローで 2 つを並行して動かすのが、どちらが何を検出するかを知る最も安上がりな方法です。