次世代検証ツール選定案_問1_ネイティブアプリ_回帰テスト版

問い 1 (回帰テスト版) ── iOS / iPadOS / Android ネイティブアプリ検証ツールの選定

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

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

調査日: 2026-06-08


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

Appium 3.x をコアフレームワークとする方針は維持しつつ、CI proxy 型ツールと固定月額サービスを廃止し、Pay-as-you-go ベースの端末ファームと OSS 視覚検証を主軸とする。実行頻度は週次〜月次の手動トリガーを想定。

領域 iOS / iPadOS Android CI/CD 前提版からの変更
コアフレームワーク Appium 3.x + XCUITest Driver Appium 3.x + UiAutomator2 Driver 変更なし (W3C 準拠と OS 追従はリリース品質に直結)
テストランナー pytest-xdist (ローカル) / Mocha (ローカル) 同左 GitHub Actions 廃止。ローカル macOS Mac mini / Mac Studio で直接実行
通常 UI 自己治癒 廃止 ── 手動メンテに切替 同左 Healenium-Appium proxy は CI 連続実行が前提のため不要
Canvas 領域 視覚検証 OpenCV (OSS) + Apple Vision Framework OpenCV (OSS) + Android ML Kit 変更なし (オンデバイス ML はライセンス不要)
DRM 領域 視覚検証 OpenCV ベースライン + 手動目視レビュー 同左 Applitools Eyes 廃止 ── 月額固定料金が回帰頻度に見合わない
状態管理・操作制御 XCUITest ベースの宣言型 YAML シナリオ Espresso ベースの宣言型 YAML シナリオ 変更なし
端末ファーム AWS Device Farm (Pay-as-you-go) を主軸、自社実機 iPhone / iPad で補完 同左 BrowserStack 月額固定廃止。利用回数 × 単価で年額試算が小さくなる
マルチモーダル LLM 本番判定不採用 (デバッグ用途のみ) 同左 変更なし (Anthropic 公式 caveat と整合)

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

1-1. 何を失うか

1-2. 何を得るか

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


2. ツール選定の再設計

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

CI/CD を捨てても以下は変わらない:

2-2. Healenium-Appium を廃止する理由

Healenium は proxy 経由で broken locator を自動回復する仕組み であり、hlm-proxy / hlm-backend / selector-imitator / PostgreSQL の 4 コンポーネントを常駐させる必要がある。

回帰テストのみの運用では:

観点 Healenium 利用 Healenium 廃止
インフラコスト Docker Compose 常駐 不要
locator 修復 自動 (CI で毎日学習) 手動 (回帰実行時の失敗テストを人間が修正)
修正サイクル 即時 月次回帰のタイミングで集中修正
学習効果 継続実行で精度向上 実行回数が少なく学習効果が出ない

回帰テストの実行頻度では Healenium の学習効果が活きないため、手動メンテに切り替える方が合理的

2-3. Applitools Eyes 廃止 → OpenCV ベースラインへ

Applitools Eyes は月額固定 (数百〜数千ドル) の商用 Visual AI で、CI で毎日数百回のベースライン比較を行うと TCO が安い。しかし:

OpenCV ベースの比較スクリプト例 (概念):

import cv2
import numpy as np
from skimage.metrics import structural_similarity as ssim

def visual_diff(baseline_path, current_path, threshold=0.95):
    baseline = cv2.imread(baseline_path, cv2.IMREAD_GRAYSCALE)
    current = cv2.imread(current_path, cv2.IMREAD_GRAYSCALE)
    score, _ = ssim(baseline, current, full=True)
    return score >= threshold, score

2-4. 端末ファーム: AWS Device Farm (Pay-as-you-go) を主軸

CI/CD 前提では 月額固定 が前提だったが、回帰のみなら 使った分だけ が圧倒的に有利:

ファーム CI/CD 前提 (月額) 回帰テスト前提 (月実行 200 分)
BrowserStack Automate 175/(2,100/年) $175/月 (使わなくても支払う)
BrowserStack Live 39/(468/年) $39/月 (手動探索向け、自動化不可)
AWS Device Farm (Pay-as-you-go) $0.17/device-minute × 必要分 34/(200) * * = **408/年
AWS Device Farm Unmetered $250/月 (1 端末) × 端末数 デバイス固定したい場合
自社実機 iPhone + Mac mini 初期投資のみ 端末費 + 電気代のみ

: AWS Device Farm の $0.17/device-minute は 2024 年公式情報。2026-06 時点では deep-research で一次価格未確証 (本書の残課題)。

回帰テストのみであれば、AWS Device Farm の Pay-as-you-go プラン + 自社 iPhone / iPad / Pixel / Galaxy の実機補完 が経済的に最も合理的。クラウド端末は OS バージョン網羅 (iOS 17 / 18 / iPadOS 18 / Android 14 / 15 / 16) と機種網羅 (Pixel / Galaxy / 廉価端末) の補完に絞る。

2-5. 状態管理: 宣言型 YAML シナリオ (CI/CD 前提版から変更なし)

ルールベース state machine の概念は変わらず、以下を維持:

# regression_scenarios/login_to_drm_video.yml
name: ログイン→DRM 動画再生
steps:
  - tap: { accessibility_id: "LoginButton" }
  - type: { accessibility_id: "EmailField", value: "${TEST_USER}" }
  - tap: { accessibility_id: "SubmitButton" }
  - wait_for: { accessibility_id: "VideoList" }
  - tap: { accessibility_id: "VideoItem_0" }
  - assert_video_playing:    # <video> プロパティ監視
      current_time_after: 5
      ready_state_at_least: 4
  - visual_diff:             # OpenCV 比較
      region: { x: 0, y: 100, width: 1170, height: 600 }
      threshold: 0.92

実行コマンドはシンプル:

# 月次回帰実行 (Mac mini ローカル)
$ appium server --port 4723 --plugins-dir ./node_modules &
$ python -m regression.run --scenario login_to_drm_video --device "iPhone 15 Pro" --os "iOS 18"

3. 視覚救済の階層 (CI/CD 前提版からの簡素化)

領域 CI/CD 前提版 回帰テスト版
通常 UI Applitools Eyes (商用) OpenCV + 手動レビュー
Canvas 領域 OpenCV + Apple Vision / ML Kit 変更なし
DRM 領域 Applitools Eyes + オンデバイス ML OpenCV ベースライン + 手動目視レビュー
locator 修復 Healenium-Appium 手動メンテ (月次)

オンデバイス ML (Apple Vision / Android ML Kit) は OS 標準 API で無料、回帰テストでも継続採用する。


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

採用基準

観点 必須要件
W3C 準拠 クライアントは W3C WebDriver 準拠ライブラリ (Appium Python Client 3.x 等)
プラグイン管理 appium driver install を手動運用ドキュメント化
端末ファーム課金 Pay-as-you-go 必須。月額固定は不採用
視覚比較 OSS (OpenCV / scikit-image) を主軸、商用は不要
シナリオ管理 宣言型 YAML で人間が読める形式
DRM 領域 手動目視レビューを SOP 化

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


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

5-1. 月次リリース回帰のチェックリスト

番号 作業 担当 想定時間
1 Appium 3.x / driver / プラグインのバージョン確認 (appium driver list) QA 10 分
2 YAML シナリオの最新化 (前月の不具合修正で UI が変わった箇所) QA + Dev 1-3 時間
3 ローカル Mac mini で appium server 起動、自社実機を USB 接続 QA 5 分
4 主要 5 端末 (iPhone 15 Pro / iPhone SE3 / iPad Pro / Pixel 8 / Galaxy S24) で各 50 シナリオ実行 QA 4-6 時間
5 AWS Device Farm で OS バージョン網羅 (iOS 17/18/26 / Android 14/15/16) QA 2-3 時間 (Pay-as-you-go 課金)
6 OpenCV 比較で差分検出された画面の目視確認 QA 1-2 時間
7 DRM 領域シナリオの手動目視レビュー QA 30 分
8 レポート作成、Issue 起票 QA 1 時間
合計 約 1 営業日

5-2. 端末ファーム費用試算 (回帰テストのみ)

月次回帰 1 回あたり:

CI/CD 前提の BrowserStack Automate Pro $225/月 × 12 = $2,700/年 と比較し、コスト ~85% 削減


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

対立項目 CI/CD 前提版の裁定 回帰テスト版の裁定
Appium 3.x 移行方式 即時全面移行 変更なし (即時)
DRM 領域ツール Applitools Eyes OpenCV + 手動目視レビュー に変更
マルチモーダル LLM 代替 ルールベース state machine 変更なし
コアフレームワーク (Maestro vs Appium) Appium 3.x 変更なし
端末ファーム BrowserStack 固定月額 AWS Device Farm Pay-as-you-go + 自社実機 に変更
locator self-healing Healenium-Appium 廃止 (手動メンテ)

7. 残課題

  1. AWS Device Farm の 2026-06 公式価格確認: $0.17/device-minute は 2024 年情報、最新一次価格の確認が必要
  2. OpenCV / SSIM ベースの誤検知率測定: Applitools Eyes <3% に対し、OpenCV + SSIM がどこまで近づけるか実測
  3. DRM 領域の手動目視レビュー SOP: チェックリスト化、頻度、責任者の明確化
  4. OS バージョン昇格時の差分検出: iOS 18 → iOS 19 (仮称) のような大幅変更時の YAML 一括更新手順
  5. CI/CD 復活時の移行コスト: 将来的に CI/CD に戻す場合の Healenium / 商用 Visual AI 導入を再評価する分岐条件を明文化
  6. マルチモーダル LLM のローカルデバッグ運用: 回帰失敗時に LLM (Claude / GPT-4V) を「補助」として使う場合のガードレール (本番判定には使わない、人間が必ず確認)

8. CI/CD 復活への分岐条件 (将来検討用)

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


9. 参考文献

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