QA Spider
サイトを監査する

カバレッジライブラリ

クモが実際にテストするもの。

機能の一覧ではなく、御社のようなプロダクトに対して実際に実行されるチェックです。以下のどのトピックも自動スイートとして提供されます。実ブラウザーでのUIフロー、APIに対するコントラクト検証を、デプロイのたびに再実行します。

2つの深さのカバレッジ

表面から始める。信頼できる深さまで進める。

表面のカバレッジ

数分で開始 · アクセス権は不要

一般の人が到達できるすべて

ページ、フォーム、ユーザーフロー、公開API。訪問者(あるいは攻撃者)から見えるとおりに、外側からテストします。必要なのはURLだけです。

  • サイト全体のクロールとフローマップ
  • スモークスイートと回帰スイート
  • 公開APIのヘルスチェック

深いカバレッジ

ステージングへのアクセス · ご一緒に設定

お客様が許可したアクセスで、プロダクトの内側へ

ステージングの認証情報、テスト用アカウント、ご希望なら読み取り専用のリポジトリなど、プロジェクトに正式に接続します。表面のテストでは届かない部分に到達できるのは、そのためです。

  • 認証後のフローとロール別のフロー
  • REST / GraphQLのコントラクトテスト
  • 更新後のデータ整合性
  • 実際のルートとリポジトリに対応づけたカバレッジ

ライブラリ

すべてのトピックがスイートとして提供されます。

認証とセッション

壊れるとユーザーを締め出してしまうフローであり、攻撃者が最初に試すフローでもあります。クモはテスト用アカウントで実際にサインインし、あらゆる異常系を確認します。

  • 有効・使用済み・不正な形式のメールアドレスでのサインアップ
  • ログイン、ログアウト、セッションの期限切れと更新
  • メール内のリンクを含む、パスワード再設定のエンドツーエンド
  • ログイン後に目的のページへ戻るリダイレクト
  • 連続して失敗したときのレート制限とエラー文言

決済と支払い

収益に直結するフローは、最も深くカバーします。サンドボックスのカード、拒否された支払い、放棄されたカート。実際のお金は使わず、ステージングでテストします。

  • カートに追加 → チェックアウト → サンドボックス決済 → 確認
  • 拒否されたカード、期限切れのカード、3DSチャレンジの経路
  • 価格、税、合計がページとAPIで一致していること
  • クーポン、空のカート、数量の境界ケース
  • 注文確認メールとWebhookの配信

APIコントラクト — RESTとGraphQL

退行の多くはバックエンドで発生し、あとから表に現れます。コントラクトの検証なら、UIテストが読み込まれる前に、数秒で見つけられます。

  • すべての公開エンドポイントのレスポンス形式とステータスコード
  • 認証の境界:期限切れトークン、不足したスコープ、他のユーザーのデータ
  • エラー本文が機械可読のまま保たれること(JSON APIにHTMLを返さない)
  • 実際のデータ量でのページ送り、絞り込み、並べ替えの動作
  • 以前のコントラクトとの比較による破壊的変更の検出

フォームと入力検証

すべてのフォームは、ユーザーとの約束です。クモは、急いでいる人間のようにフォームを埋めます。間違った値、空欄、貼り付け、二重送信。

  • 必須項目と形式の検証(クライアント側とサーバー側)
  • 二重送信の防止と読み込み中の状態
  • Unicode、絵文字、非常に長い入力値
  • エラーメッセージが実際に問題のある項目を指していること
  • 送信後の成功の状態、リダイレクト、通知

ロールと権限

顧客が他の顧客のデータを目にするまで、誰も気づかないバグです。ロールに基づくチェックを、同じリソースに対して異なるユーザーとして実行します。

  • 閲覧者・編集者・管理者に、見えるべきものだけが見えること
  • 制限されたページへのURL直接アクセスが拒否されること
  • 他のアカウントが所有するAPIオブジェクトに到達できないこと
  • 権限を下げられたユーザーが、即座にアクセスを失うこと

ファイルとアップロード

アップロードは、さまざまな形で失敗します。クモは、あらゆる種類のファイルを持ち込みます。

  • 対応形式のファイルが、そのままアップロード、表示、ダウンロードできること
  • サイズ超過や0バイトのファイルが、明確なメッセージで失敗すること
  • 誤った拡張子やMIMEタイプの不一致が拒否されること
  • 低速なネットワークでの進捗表示、キャンセル、再試行の動作

Web3とスマートコントラクト

dAppは、従来のスイートでは見えない形で壊れます。UIがチェーンの状態と静かに食い違うのです。クモは、エミュレートしたウォレットを使い、実際の資金なしで、橋の両側をテストします。

  • ウォレットの接続、ネットワークの切り替え、署名(拒否の経路を含む)
  • テストネットとフォークしたメインネットに対するコントラクト呼び出し:状態、リバート、イベント
  • 表示される残高やポジションが、実際のオンチェーンの状態と一致すること
  • ガス見積もりの失敗と、保留中のトランザクションのUI状態
  • インデクサー/サブグラフと、チェーンのイベントとの整合性

パフォーマンスのスモーク

負荷テストではなく、仕掛け線です。クモはページとエンドポイントごとの応答時間を追跡し、基準値からの退行を知らせます。

  • ルートごとのページ読み込みとAPIレイテンシの基準値
  • すべてのページでのコンソールエラーと失敗したネットワークリクエスト
  • ペイロードサイズの退行(うっかり4MBになったバンドルなど)
  • サードパーティの障害を検出し、スコアから除外

Web2 + Web3

dAppとスマートコントラクトもテスト対象です。

ブロックチェーンのプロダクトは、従来のテストスイートでは見えない形で壊れます。クモは両方の世界を話せます。同じループ、同じトラッカー、同じ保証で。

ウォレットのフロー

接続、ネットワークの切り替え、トランザクションの署名、そしてユーザーが実際に遭遇する拒否の経路。エミュレートしたウォレットでテストするため、実際の資金が危険にさらされることはありません。

スマートコントラクト

テストネットとフォークしたメインネットに対するコントラクト呼び出し:状態の変化、リバート、ガス見積もりの失敗、イベントの発行。

UIとオンチェーンの真実

dAppでよくあるバグは、UIがチェーンと食い違うことです。クモは、表示されている残高、ポジション、履歴を、実際のチェーンの状態と照合します。

赤いテストから、登録済みのチケットまで

バグは自分で報告する。チームは直すだけ。

QAで手間がかかるのはバグを見つけることではなく、報告書を書き、スクリーンショットを探し、開発者に届けるまでの追いかけです。QA Spiderは、その流れを自動で完結させます。

  1. 01

    テストが赤くなった時点で、バグはもう書かれている

    再現も、スクリーンショットも、報告書の作成も不要です。報告書は、テストが失敗した瞬間に、実行で実際に起きたことから下書きされます。

    再現手順は実行したステップから作成 · 失敗時のスクリーンショットを添付 · 重大度P0〜P3

  2. 02

    スプレッドシートではなく、トラッカーに届く

    ワンクリックで、開発者がすでに使っている場所に、再現手順と証拠を添えた正式なチケットとして登録されます。

    Jira · Azure DevOps · ClickUp · GitHub Issues · Linear — 登録前に重複を確認

  3. 03

    必要な人に、すぐ伝わる

    失敗した実行や新しいバグは、チケットへのリンク付きでチームのチャットに表示されます。何かが壊れたことを知るために、ダッシュボードを見張る必要はありません。

    Slack · Discord · Telegram — 失敗した実行と登録されたバグを通知し、すべて緑のときは静か

  4. 04

    何も静かに放置されない

    すべてのバグは、本当に完了するまでステータスを保ちます。「それはもう直した」は、記憶ではなく、確認できる事実になります。

    未対応 → 対応中 → 修正済み → 検証済み · プロジェクト、重大度、ステータスで絞り込み · スクリーンショットはバグとともに保存

スケジュールどおりに、1日に何度でも実行

朝会の前、デプロイのたび、夜間など、重要な時間帯を選びます。スイートは自動で実行され、確認するのはカレンダーではなく結果です。

品質が動いているかが見える

合格率、不安定さ、重大度別の未対応バグを1つの画面に。リリース判断に必要な数字であり、ログの山ではありません。

検出されたバグの例

検出されたバグの例

ログの赤い1行ではなく、根本原因と修正案、それを生んだ実行まで揃った、再現可能なチケットです。トラッカーに実際に届く内容の例をご覧ください。

QA-1042未対応 · 高Jiraに登録 · QA Spiderによる

タイトル

決済:期限切れのプロモコードが「適用済み」と表示され、通常価格が請求される

説明

/checkoutで期限切れのプロモコードを適用すると、「コードが適用されました ✓」と表示されたまま全額が請求されます。割引は適用されず、エラーも表示されません。顧客は気づかないうちに過剰請求されます。

再現手順 · 手順

  1. 任意の商品をカートに追加し、/checkoutを開く
  2. プロモコードSUMMER24(期限切れ)を入力して「適用」を押す
  3. テスト用カード4242 4242 4242 4242で支払う

実際の結果 · 実結果

「コードが適用されました ✓」バッジが表示される · 注文合計は変わらない · 全額が請求される · エラーメッセージなし。
チケット全体を開く — 期待される結果、根本原因、修正、スクリーンショット

期待される結果 · 期待

「このコードは期限切れです。」とインラインでエラー表示 · 「適用」は無効のまま · 解決するまで支払いをブロック。

根本原因

クライアントが、期限切れのコードを拒否せず、POST /api/promoが200 { valid: true, discount: 0 }を返すことを信用している。

修正案

/api/promoから422 code_expiredを返し、メッセージをインラインで表示して、コードが無効な間は「支払う」ボタンを無効のままにする。

スクリーンショット · トレースを添付

/checkout
コードが適用されました
⚠ 合計は変わらず — $149.00

直近の実行

プロジェクト環境結果時刻
c(顧客名は非表示)prod合格214✓ 0✗ 0⚡2m 14s
c(顧客名は非表示)stagingバグを登録208✓ 1✗ 0⚡3m 02s
p(顧客名は非表示)dev不安定を修復176✓ 0✗ 2⚡4m 09s
g(顧客名は非表示)prod合格88✓ 0✗ 0⚡1m 47s

デプロイごと · 毎晩 · オンデマンド

すべてのバグが、このように届きます。重複を除き、再現でき、根本原因と修正案を添えて、チームがすでに使っているトラッカーに直接。開発者は直すだけです。

Helperのご紹介

クローラーだけではない — ワークフローの中のQAコパイロット。

自律型のクモに加えて、Helperはトラッカーからストーリーを取り込み、公開中のアプリに対して基準ごとに確認し、計画、ケース、チェックリスト、バグレポートといったQAの書類を書きます。レビューと承認はお客様が行い、承認なしに本番に見える環境へ触れることはありません。

01

チケットから始める

JiraまたはAzure DevOpsのリンクを貼ると、Helperがストーリーとその受け入れ基準を取り込みます。コピー&ペーストも、チケットにすでに書かれている内容の再入力も不要です。

02

「本当に動くのか?」に答える

受け入れ基準ごとに実際のテストが作られ、公開中のアプリに対して実行されます。得られるのは意見ではなく、基準ごとの合格か失敗です。本番に見える環境では、先に確認します。

03

QAの書類を書く

テスト計画、テストケース、スモークストーリー、回帰チェックリスト、エッジケースの洗い出し、バグレポート。プロダクトに即した内容で、TestRail、Xray、Zephyr向けにMarkdown、CSV、Excelで出力できます。

04

役に立ったものを残す

一度テストしたストーリーは、管理される自動テストとしてプロジェクトに保存でき、翌日からスイートの他のテストとともにスケジュールどおりに実行されます。

チケットを入力 · 公開中のアプリでテスト · ドキュメントを出力 · スイートに保存

Helperを試す →

このリストを御社のプロダクトで実現しませんか?

デプロイのたびのテストはEnterpriseプランです。出荷しているものをお知らせいただければ、スイートを一緒に設定します。まずは、公開ページの無料監査から始めることもできます。

QA Spiderがカバーする範囲 — テストカバレッジの実例