本書の前提: 「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 | 不採用 | 変更なし (デバッグ補助のみ可) |
CI/CD を捨てても Playwright を採用する根拠は不変:
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 を確認CI/CD 前提では「障害時単一障害点回避のため多重化」が必要だった。回帰テストでは:
自社所有の 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/月 |
| 想定 | 月額 | 年額 |
|---|---|---|
| CI/CD 前提版 (BrowserStack Pro + LambdaTest) | $225 + 39 = **264/月** | $3,168/年 |
| 回帰テスト版 (BrowserStack Live のみ) | $39/月 | $468/年 |
| 削減効果 | — | 約 $2,700/年 (~85%) |
| 領域 | CI/CD 前提版 | 回帰テスト版 |
|---|---|---|
| 通常 DOM 操作 UI | Playwright + Applitools | Playwright auto-wait + PixelMatch ベースライン |
| Canvas 領域 | Applitools 領域マスク | PixelMatch + 手動レビュー |
| DRM 領域 | <video> ステート + 週 1 手動 |
<video> ステート +
回帰実行ごと手動レビュー |
| PWA インストールフロー | beforeinstallprompt 検出 + 手動 UAT |
変更なし (元々手動) |
| タッチ・スワイプ | Playwright page.tap() 等 |
変更なし |
| 観点 | 必須要件 |
|---|---|
| コアフレームワーク | Playwright (単体) |
| 端末ファーム課金 | Pay-per-use / 最低月額プランのみ。Pro / Automate は不採用 |
| 視覚比較 | OSS (PixelMatch / Resemble.js / SSIM) を主軸 |
| シナリオ管理 | Playwright Test の test() ブロックを宣言型に管理 |
| DRM 領域 | 手動目視レビューを SOP 化 |
| 番号 | 作業 | 担当 | 想定時間 |
|---|---|---|---|
| 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 営業日以内) |
| 対立項目 | CI/CD 前提版の裁定 | 回帰テスト版の裁定 |
|---|---|---|
| 端末ファーム多重化の是非 | 多重化 (BrowserStack + LambdaTest) | 単一 (BrowserStack Live のみ) |
| CI 並列度の数値 | 5 固定 | 0 (並列度の概念なし) |
| 手動補完頻度 | 週 1 回 | 回帰実行毎 (月次) |
| PWA インストール完全自動化 | 単体 (Playwright のみ) | 変更なし |
| WebDriver BiDi 採用時期 | 不採用 (将来再検討) | 変更なし |
| Visual AI ベンダー | Applitools Eyes | OSS (PixelMatch / SSIM) に変更 |
以下のいずれかが発生した時点で、本書を破棄し CI/CD 前提版
(次世代検証ツール選定案_問2_モバイルWeb.md)
への移行を検討する:
本書は底本 次世代検証ツール選定案_問2_モバイルWeb.md
の参考文献をすべて引き継ぐ。回帰テスト版固有の追加情報は以下:
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/↩︎
BrowserStack docs — Playwright on iOS. https://www.browserstack.com/docs/automate/playwright/playwright-ios/nodejs↩︎
BrowserStack Live (手動探索プラン) docs. https://www.browserstack.com/live↩︎
BrowserStack 公式 pricing (2026-06 確認). https://www.browserstack.com/pricing↩︎