次世代検証ツール選定案_問2_モバイルWeb_回帰テスト版

問い 2 (回帰テスト版) ── iOS / iPadOS / Android 全ブラウザ Web アプリ検証ツールの選定

本書の前提: 「CI/CD サイクルを捨て、リリース直前 / 月次 / 四半期など 手動トリガーの回帰テスト のみを実行する」運用に最適化したベストプラクティス。

底本: 次世代検証ツール選定案_問2_モバイルWeb.md (CI/CD 統合前提) の結論を、回帰テスト前提に書き直したもの。

調査日: 2026-06-08


結論 (回帰テスト版・最終推奨)

Playwright をコアフレームワークとする方針は維持しつつ、月額固定の商用 Visual AI と多重端末ファームを廃止し、Pay-as-you-go の BrowserStack Live + OSS 視覚検証を主軸とする。実行は月次 / リリース直前の手動トリガー。

項目 CI/CD 前提版 回帰テスト版 変更理由
基本自動検証フレームワーク Playwright (単体) Playwright (単体) 変更なし
視覚型検証 Applitools Eyes (月額固定) PixelMatch / SSIM (OSS) + 手動レビュー 月次実行で商用月額の TCO 不利
端末ファーム (本番) BrowserStack Automate Pro $225/月 BrowserStack Live $39/月 (年契) または 無契約・月単位購入 自動化大量実行が不要、手動探索 + Playwright on Real iOS Safari は Live でも可
端末ファーム (予備) LambdaTest $39/月 廃止 多重化は CI 連続実行の冗長性要件、月次では不要
CI/CD GitHub Actions + 並列度 5 廃止 (ローカル Mac 実機 + クラウドオンデマンド) 並列度・トンネル設計が不要
リトライ回数 2 (タイムアウト 60 秒) 0 (失敗を人間が確認) 月次運用では失敗 = 検査対象
Visual AI 誤検知率目標 1% 未満 手動レビューで補正 商用 AI 不要
手動補完頻度 週 1 回 回帰実行ごとに必ず DRM / Canvas 領域は元々手動
WebDriver BiDi 不採用 (将来再検討) 変更なし
マルチモーダル LLM 不採用 変更なし (デバッグ補助のみ可)

1. CI/CD を捨てる判断の影響

1-1. 失うもの

1-2. 得るもの

1-3. 適合する運用パターン


2. ツール選定の再設計

2-1. コアフレームワーク: Playwright (変更なし)

CI/CD を捨てても Playwright を採用する根拠は不変:

2-2. Applitools Eyes 廃止 → OSS Visual Diff へ

Applitools Eyes は月額固定数百〜数千ドルの商用 Visual AI で、CI で毎日数百回のスクリーンショット比較を行う前提で TCO が安い設計。月次回帰では:

代替: PixelMatch / Resemble.js / OpenCV SSIM

// Playwright + pixelmatch (Node.js) の例
import { PNG } from 'pngjs';
import pixelmatch from 'pixelmatch';
import fs from 'fs';

const baseline = PNG.sync.read(fs.readFileSync('baseline.png'));
const current  = PNG.sync.read(fs.readFileSync('current.png'));
const { width, height } = baseline;
const diff = new PNG({ width, height });
const numDiffPixels = pixelmatch(
  baseline.data, current.data, diff.data,
  width, height,
  { threshold: 0.1 }
);
fs.writeFileSync('diff.png', PNG.sync.write(diff));
// 差分ピクセル数を閾値判定し、超えた場合は人間が diff.png を確認

2-3. 端末ファーム: BrowserStack Live $39/月 単体 (多重化廃止)

CI/CD 前提では「障害時単一障害点回避のため多重化」が必要だった。回帰テストでは:

2-4. ローカル実機での補完

自社所有の iPhone / iPad / Android 実機を USB 接続して Playwright (Android Chrome 経由) / WebKit (iOS Simulator 経由) で回せば、BrowserStack 利用回数をさらに削減できる。

構成 用途 コスト
Mac mini + iOS Simulator iOS Safari (Simulator) 端末費のみ
Mac mini + 実機 iPhone (USB) iOS Safari 実機 端末費のみ (Safari の WebDriver 制約あり)
Mac mini + 実機 Pixel / Galaxy (ADB) Android Chrome / Samsung Internet 端末費のみ
BrowserStack Live ($39/月) 30,000+ 実機への OS バージョン網羅・スポット検証 $39/月

2-5. 端末ファーム費用試算

想定 月額 年額
CI/CD 前提版 (BrowserStack Pro + LambdaTest) $225 + 39 = **264/月** $3,168/年
回帰テスト版 (BrowserStack Live のみ) $39/月 $468/年
削減効果 約 $2,700/年 (~85%)

3. 視覚救済の階層 (回帰テスト版に簡素化)

領域 CI/CD 前提版 回帰テスト版
通常 DOM 操作 UI Playwright + Applitools Playwright auto-wait + PixelMatch ベースライン
Canvas 領域 Applitools 領域マスク PixelMatch + 手動レビュー
DRM 領域 <video> ステート + 週 1 手動 <video> ステート + 回帰実行ごと手動レビュー
PWA インストールフロー beforeinstallprompt 検出 + 手動 UAT 変更なし (元々手動)
タッチ・スワイプ Playwright page.tap() 変更なし

4. 採用基準と Anti-pattern (回帰テスト版)

採用基準

観点 必須要件
コアフレームワーク Playwright (単体)
端末ファーム課金 Pay-per-use / 最低月額プランのみ。Pro / Automate は不採用
視覚比較 OSS (PixelMatch / Resemble.js / SSIM) を主軸
シナリオ管理 Playwright Test の test() ブロックを宣言型に管理
DRM 領域 手動目視レビューを SOP 化

Anti-pattern (回帰テスト前提)


5. 運用パターン (月次回帰の SOP 例)

5-1. 月次回帰の流れ

番号 作業 担当 想定時間
1 Playwright バージョン確認、テストコード latest 化 QA + Dev 30 分
2 ローカル Mac mini / MacBook で npx playwright install 実行 QA 5 分
3 iOS Simulator + 実機 Pixel での主要シナリオ実行 QA 1-2 時間
4 BrowserStack Live で iOS Safari 実機 + Samsung Internet の OS 別実行 QA 1-2 時間
5 PixelMatch / SSIM 差分検出された画面の目視確認 QA 1-2 時間
6 DRM 領域シナリオの手動目視レビュー QA 30 分
7 PWA インストールフローの実機手動確認 QA 30 分
8 レポート作成、Issue 起票 QA 1 時間
合計 約 6-8 時間 (1 営業日以内)

5-2. テスト戦略の優先順位 (回帰テスト前提)

  1. クリティカルパス優先: 課金 / ログイン / 主要機能の動線を 100% カバー
  2. OS / ブラウザ網羅: iOS 17/18/26 Safari + Android Chrome / Samsung Internet で各クリティカルパスを最低 1 回実行
  3. エッジケースは Sample: 縦横切替・タッチジェスチャ・PWA 等は代表 2-3 端末でのみ
  4. DRM / Canvas は手動補完: 自動化を諦め人手でリリース直前に確認

6. 対立点と裁定 (回帰テスト前提で再評価)

対立項目 CI/CD 前提版の裁定 回帰テスト版の裁定
端末ファーム多重化の是非 多重化 (BrowserStack + LambdaTest) 単一 (BrowserStack Live のみ)
CI 並列度の数値 5 固定 0 (並列度の概念なし)
手動補完頻度 週 1 回 回帰実行毎 (月次)
PWA インストール完全自動化 単体 (Playwright のみ) 変更なし
WebDriver BiDi 採用時期 不採用 (将来再検討) 変更なし
Visual AI ベンダー Applitools Eyes OSS (PixelMatch / SSIM) に変更

7. 残課題

  1. BrowserStack Live $39/月で Playwright on Real iOS Safari の利用可否確認: 公式 docs には Live と Automate の機能差があり、Playwright bridge が Automate 限定の可能性あり (本書ではどちらの場合でも Live → Automate にスイッチして月次のみ支払う運用を想定)
  2. PixelMatch / SSIM の誤検知率実測: Applitools Eyes <3% に対し、OSS でどこまで近づけるか
  3. DRM 領域の手動目視レビュー SOP: チェックリスト、頻度、責任者
  4. iOS Simulator vs 実機の挙動差: 回帰テストで Simulator で十分か実機が必須かの線引き
  5. Samsung Internet の WebDriver 対応の最新確認: 一次ソース未確証 (元の問2 で残課題)
  6. AWS Device Farm の Web ブラウザ対応 (元の問2 で確認できなかった): 回帰テスト前提でも代替候補

8. CI/CD 復活への分岐条件

以下のいずれかが発生した時点で、本書を破棄し CI/CD 前提版 (次世代検証ツール選定案_問2_モバイルWeb.md) への移行を検討する:


9. 参考文献

本書は底本 次世代検証ツール選定案_問2_モバイルWeb.md の参考文献をすべて引き継ぐ。回帰テスト版固有の追加情報は以下:

補助参考


  1. BrowserStack 公式ブログ — Industry-first Playwright Testing on Real iOS Safari (2025-06-12). https://www.browserstack.com/blog/browserstack-launches-industry-first-playwright-testing-on-real-ios-devices-with-safari/↩︎

  2. BrowserStack docs — Playwright on iOS. https://www.browserstack.com/docs/automate/playwright/playwright-ios/nodejs↩︎

  3. BrowserStack Live (手動探索プラン) docs. https://www.browserstack.com/live↩︎

  4. BrowserStack 公式 pricing (2026-06 確認). https://www.browserstack.com/pricing↩︎