AIツールで実際のユーザージャーニーをテストできるのか?

Zheshi Du
AIツールで実際のユーザージャーニーをテストできるのか? カバー

ユーザージャーニーをテストすることと、それを実装するコードをテストすることは同じではありません。

ユーザージャーニーとは、実際の人がプロダクトで何かを達成するために行う一連のアクションです。ランディングページに到達する。サインアップする。オンボーディングのステップを完了する。最初のプロジェクトを作成する。同僚を招待する。各ステップは前のステップに依存します。ステップを経て引き継がれる状態が、次に何が表示され、何ができるかを決定します。

このジャーニーをテストするAIツールは、実際にそれを実行しなければなりません。各ステップを踏み、結果を観察し、状態を次に引き継ぎ、目的地がユーザーが辿り着くはずだった場所と一致しない場合にそれを検知しなければなりません。

コードを読み込んでジャーニーを実装し、関連する関数に対してアサーションを生成するAIツールは、異なることを行っています。それは実装をテストしているのです。すべての関数がパスしても、ユーザーにとってジャーニーは依然として壊れている可能性があります。

ユーザージャーニーが関数では起きない形で壊れる理由

最も重要な障害は、完全なジャーニーが実行されたときにのみ現れるものです。

ユーザー登録を処理する関数は正常に動作します。確認メールを送信する関数も正常に動作します。リンクがクリックされたときにアカウントを確認済みとしてマークする関数も正常に動作します。しかし、この3つをつなぐユーザージャーニーは、確認リンクに誤ったトークンが含まれている場合、トークンの検証がメールで使用されたものと異なるフォーマットを使用している場合、またはアカウントの確認は行われてもセッションがそれを反映するように更新されない場合に、依然として壊れる可能性があります。

それぞれの関数はテストをパスしました。ジャーニーはそれらの接合部で壊れます。

これは、コード層のテストが構造的に見逃す障害のカテゴリです。個々の関数は正しく動作します。しかし、実際の条件下でのそれらの相互作用が誤った結果を生み出します。これを検出する唯一の方法は、実際のユーザーが行うようにシーケンスを実行し、最終的に何が起きるかを観察することです。

実際のユーザージャーニーをテストするために本当に必要なもの

実際のユーザージャーニーを実行するには、コード層のテストには存在しない5つのものが必要です。

ライブアプリケーション。モック環境ではありません。実際の製品が、どこかにデプロイされ、実際のリクエストに応答していること。

実際のナビゲーション。エージェントは、ユーザーが実際に辿るパスを通じて、ユーザーと同じように製品を操作しなければなりません。関数を直接呼び出すのではなく。

実際の状態。エージェントはステップをまたいで状態を引き継がなければなりません。ステップ2で作成されたユーザーIDは、ステップ4で使用されるものと同じでなければなりません。ログイン時に確立されたセッションは、チェックアウトを通じて持続しなければなりません。オンボーディングで設定された環境設定は、ダッシュボードに反映されなければなりません。

実際の観察。各ステップで、エージェントはコードが表示すべきとしているものではなく、製品が実際に表示したものを観察しなければなりません。確認の代わりに表示されたエラーメッセージ。誤ったページへのリダイレクト。更新されなかったデータ。

完全なジャーニーのカバレッジ。エージェントは最終目的地まで到達し、ユーザーの観点から結果を検証しなければなりません:目的を達成できたかどうか。

TestSpriteが実際のユーザージャーニーをテストする方法

TestSpriteはこれら5つすべてを実行するために構築されています。

他の検証ツールはコードを読んで推測します。TestSpriteはアプリを開いて実際に使用します。

TestSpriteの並列探索エージェントは、実行中のアプリケーションにアクセスし、実際のユーザーと同じように操作します。仕様を読むのではなく、製品を使用することで製品のユーザージャーニーを発見します。フローをクリックし、実際の入力でフォームに入力し、マルチステップのシーケンスを辿り、すべてのステップを通じてセッション状態を引き継ぎます。

Cursor、Claude Code、Windsurf、またはVS Code内のTestSprite MCPサーバーを通じて、1つの指示でジャーニーの発見とテストが開始されます:

"Help me test this project with TestSprite."

エージェントは探索によってジャーニーを発見します。ユーザーが辿る製品内のパスを見つけます。それらのパスを実行します。ジャーニーが最終的に誤った結果を生み出す場合、その障害は実行されたすべてのステップの説明と、期待される結果と実際の結果が乖離した正確な箇所とともに表示されます。

PRDが存在する場合、TestSpriteはジャーニーを製品の意図として記載されたものに基づいて確認します。PRDが存在しない場合、MCPサーバーはコードベースからジャーニーの意図を推測し、ルート定義、コンポーネント構造、およびAPIコントラクトを、製品がサポートするように設計されたユーザージャーニーの証拠として扱います。

フルスタック全体でのジャーニーテスト

ユーザージャーニーはフロントエンドで終わりません。ユーザージャーニーのすべてのアクションはAPIコールをトリガーし、各ステップでのバックエンドのレスポンスが次のステップでユーザーが見るものに影響します。

TestSpriteのBackend Testing 2.0は、同じ観察優先アプローチを使用してユーザージャーニーのAPI層をカバーします。何かをアサートする前に、エージェントはAPIを呼び出して実際のレスポンスを観察します。実際のレスポンスからの動的変数、ユーザーID、セッショントークン、リソース参照は、ジャーニーの下流のステップに自動的に引き継がれます。

サインアップから最初の機能使用までをカバーするユーザージャーニーテストは、各ステップでUIが正しくレンダリングされたことを確認するだけではありません。各ステップの基盤となるAPIコールが正しいレスポンスを生成したこと、あるAPIコールからの状態が次のAPIコールに正しく反映されたこと、そして完了したジャーニーが生み出すべきシステムの最終状態が一致していることを検証します。

シナリオ:マルチステップオンボーディングジャーニーの障害を発見する

あるスタートアップがCursorを使用してSaaS製品を構築しています。その製品にはマルチステップのオンボーディングジャーニーがあります:アカウント作成、メール確認、プロフィール設定、ワークスペース構成、そして最初の機能紹介。各ステップは重要です。オンボーディングを完了しないユーザーは高い割合でチャーンします。

TestSpriteのエージェントは、新しいユーザーが行うように完全なオンボーディングジャーニーをナビゲートします。

アカウントを作成します。確認メールを受信します。確認リンクを辿ります。プロフィール設定を完了します。ワークスペースを構成します。最初の機能紹介に到達します。

最初の機能紹介は正しく読み込まれるものの、ウェルカムメッセージにワークスペース名が空白で表示されることが判明します。ワークスペース名はステップ4で正しく入力されていました。ステップ5のウェルカムメッセージは、別のデータソース、つまりアカウント設定中に自動的に作成されるユーザーのデフォルトワークスペースから読み込んでいます。ステップ4で設定されたワークスペースからではありません。

オンボーディング中にワークスペースを丁寧に名前付けしたユーザーは、ウェルカム画面に空白の名前が表示されることになります。壊れたページではありません。ユーザーが行ったことと製品が表示するものとの間の微妙な不一致です。

どの関数テストもこれを検出できません。ワークスペース名は正しく保存されていました。ウェルカムメッセージは正しくレンダリングされていました。ステップ4のワークスペースとステップ5の表示の間の接続は、5つのステップ全体をカバーする単一のテストが存在しなかったため、テストされていませんでした。

障害の説明がCursorセッションに返されます:どのステップをナビゲートしたか、どのワークスペース名が入力されたか、ウェルカムメッセージに何が表示されたか。コーディングエージェントはデータソースの不一致を特定し、修正を適用します。エージェントは完全なジャーニーを再実行して確認します。

まとめ

実際のユーザージャーニーをテストできるAIツールとは、実際にそれを実行するものです:ライブアプリケーションをナビゲートし、ステップをまたいで状態を引き継ぎ、ユーザーの観点から結果を観察するツールです。

ジャーニーを実装するコードをテストすることは同じことではありません。関数がパスしてもジャーニーは失敗することがあります。個々に正しいコンポーネント間の接合部にこそ、ユーザーから見える障害が潜んでいます。そしてそれらの接合部は、完全なシーケンスが実際の条件下で実行されたときにのみ現れます。

TestSpriteはジャーニーを実行します。その探索エージェントはユーザーと同じように製品をナビゲートし、ユーザーが辿るパスを発見し、ステップをまたいで実際の状態を引き継ぎ、どのアサーションが偽と評価されたかではなく、ユーザーにとって何が問題だったかという観点で障害を報告します。

今すぐAI IDEの中からTestSpriteで実際のユーザージャーニーのテストを始めましょう。