> 九號工具站
返回列表
懶人包 / GUIDE 2026-06-13

Mobile App Spec Review — 比 Web 多 5 倍痛點的審查 checklist

行動 App spec review 完整指南。權限 / 推播 / Deep link / Offline / 跨平台一致性 / OS 升級相容 / 電量網路 / Beta 與 store review,附 25 題完整 checklist。

QA mobile spec-review ios android app-store
· 最後更新 2026-06-13 · 最後審閱 2026-08-30
註記

本文原刊於 qa.9niche.com,2026-08 併入 9niche.com 懶人包,內容照原文完整搬遷。

第 1 節

前言

「Web 都會寫 spec review 了、Mobile 應該差不多」 — 錯了。Mobile 多了權限、推播、deep link、offline、跨平台、OS 碎片、電量、網路、store 審核九個維度的痛。這篇給你 25 題專用 checklist。

第 2 節

Mobile 為什麼比 Web 難

每個維度 spec 都該想到。

mindmap root((Mobile spec<br>痛點來源)) 系統互動 權限對話框 推播 token Background lifecycle Deep / Universal link 硬體 電量 網路切換 (4G/WiFi) 記憶體 相機 / 麥克風 OS 碎片 iOS 多版本 Android 廠商客製 OEM 修改 UI 跨平台 iOS 與 Android 一致? 原生 vs RN vs Flutter Store Apple / Google 審核 隱私規範 Update 不能強制
第 3 節

25 題 Mobile Spec Review Checklist

按 9 個維度組織、每題都是必問。

A. 權限(5 題)

  1. 首次觸發時機:什麼時候彈權限?
  2. 拒絕 fallback:使用者選「拒絕」後 UX 怎樣?App 還能用嗎?
  3. 「不要再問」處理:第三次 iOS 會自動拒絕、需要引導去 Settings
  4. 權限說明文案:iOS 強制要寫 NSPhotoLibraryUsageDescription 等、文案有寫嗎?
  5. 權限請求理由解釋:彈視窗前先解釋為什麼要、否則使用者多半拒絕

B. 推播(3 題)

  1. 三種 App 狀態:foreground / background / killed 收到推播分別怎處理?
  2. Deep link in push:點推播打開 App 後跳哪個畫面?
  3. 訂閱 token 管理:使用者改帳號、登出時 token 怎處理?

C. Deep Link / Universal Link(3 題)

  1. Universal Link 對應 URL:哪些 URL pattern 該開 App?
  2. Fallback 當 App 沒安裝:開 App store 還是 web?
  3. 登入狀態判斷:deep link 進入時還沒登入 → 跳 login 還 → 開後再返?

D. Offline(3 題)

  1. 完全離線可用嗎:哪些功能可離線?
  2. 資料同步策略:上線後怎麼 sync 衝突?
  3. 網路恢復通知:怎麼告訴使用者「現在可以送出了」?

E. 跨平台一致性(3 題)

  1. iOS 與 Android UI 差異:原生元件不同(picker、navigation bar)— spec 有寫差異嗎?
  2. 手勢一致性:左滑返回是 iOS native、Android 沒有
  3. 平台專屬功能:iOS Face ID、Android 多視窗、各自要不要做?

F. OS 升級 / 碎片(3 題)

  1. 支援最低 OS 版本:iOS 15+? Android 9+? 怎麼決定?
  2. 新 OS 升級時影響:iOS 18 出來壞了什麼?
  3. OEM 行為差異:Samsung 的「電池優化」會殺背景、怎處理?

G. 電量 / 網路(2 題)

  1. 背景處理電量:地點追蹤、推播、健康資料 — 背景跑多少?
  2. 慢網路體驗:4G / 高鐵 / 飛行模式 fallback UX?

H. App Store 審核(2 題)

  1. 隱私 manifest:Apple 要求 PrivacyInfo.xcprivacy、有更新嗎?
  2. App Tracking Transparency:iOS 14+ 追蹤要先問、有彈嗎?

I. 更新策略(1 題)

  1. 強制更新 vs 軟更新:Critical bug 是強更還軟更?rollback 怎麼做?
flowchart TD Trigger[App 觸發某功能] --> Q{該功能需要權限?} Q -->|是| Ask[彈權限對話] Ask --> Resp{使用者選?} Resp -->|允許| Use[正常用] Resp -->|拒絕| Fall[Fallback 流程] Resp -->|不要再問| Settings[引導去 Settings 開] style Fall fill:#f59e0b,color:#fff style Settings fill:#a855f7,color:#fff
第 4 節

三類 App 的差異

flowchart TD Type[App 類型] --> N[Native iOS/Android] Type --> Cross[Cross-platform RN/Flutter] Type --> Hybrid[Hybrid WebView] N --> N1[平台一致性?<br>需 2 份 spec] Cross --> C1[同 spec、但平台差異 attach] Hybrid --> H1[權限 webview 通過、<br>OS feature 受限] style N fill:#06b6d4,color:#fff style Cross fill:#10b981,color:#fff style Hybrid fill:#a855f7,color:#fff
第 5 節

完整實戰範例

Spec 原文(典型寫法、不全)

功能:使用者上傳大頭照
- 使用者點 profile 頁的相機 icon
- 開啟相機選擇照片
- 上傳到伺服器
- 顯示新照片

Spec Review 提的 25 個問題(節錄)

#問題
1「相機 icon」是 iOS 還 Android 樣式?跨平台一致?
2點 icon 出現「相簿 / 拍照」選單還直接相機?
3第一次點時要彈 NSCameraUsageDescription、文案?
4使用者拒絕相機權限 → fallback 是僅相簿、還是 disable 整功能?
5相簿權限拒絕 → 怎處理?
6iOS 14+ 允許「選特定照片」、UX 一樣嗎?
7照片大小限制?超過怎麼處理?
8上傳中網路斷掉怎處理?
9上傳中切到背景、回前景能繼續嗎?
10推播通知「上傳完成」?
11Offline 能不能先存、後同步?
12Deep link 從外面開啟到 profile 頁、再點相機 → 流程相同?
13iOS 跟 Android 旋轉照片 EXIF 處理一致?
14上傳失敗 retry 策略?
15iOS Face ID 需要重新驗證嗎?
16Android 不同廠商相機 app 行為一致?
17隱私 manifest 有更新嗎?
......

問完這 17 題、PM 才知道這功能其實沒寫完 spec。

第 6 節

三段式 Spec Review 流程(給 mobile)

flowchart LR S1[Stage 1<br>看 spec 完整度] --> S2[Stage 2<br>提 25 題問題] S2 --> S3[Stage 3<br>檢視跨平台差異] S1 --> Q1["功能 happy path 有寫嗎"] S2 --> Q2["25 題 checklist"] S3 --> Q3["iOS 跟 Android 各自的差異"] style S1 fill:#06b6d4,color:#fff style S2 fill:#a855f7,color:#fff style S3 fill:#10b981,color:#fff
第 7 節

QA 工具地圖

工具用途
Firebase Analytics看 user OS / 裝置分佈
Sentry / BugsnagCrash 報告
TestFlightiOS beta
Firebase App DistributionAndroid / iOS beta
BrowserStack跨真機測試
Charles Proxy攔網路 debug
第 8 節

反模式

flowchart TD Anti[Mobile spec 反模式] --> A1["完全照 web spec 寫"] Anti --> A2["忽略權限拒絕分支"] Anti --> A3["推播沒 deep link"] Anti --> A4["不寫 offline 行為"] Anti --> A5["不指定最低 OS"] Anti --> A6["不分平台差異"] Anti --> A7["不寫 Store 審核要求"] style A1 fill:#ef4444,color:#fff style A2 fill:#ef4444,color:#fff style A3 fill:#ef4444,color:#fff style A4 fill:#ef4444,color:#fff style A5 fill:#ef4444,color:#fff style A6 fill:#ef4444,color:#fff style A7 fill:#ef4444,color:#fff
第 9 節

給 Mobile QA 的 5 句

  1. 每個功能至少 5 個權限 / 網路 / OS 相關問題
  2. iOS 跟 Android 不同平台、不同 spec 段落
  3. TestFlight beta 階段是 spec review 第二次機會
  4. Store 審核被拒 90% 是 spec 漏掉的事
  5. OS 升級永遠在打破你的 spec
第 10 節

最後

Mobile spec review 不是「跟 web 一樣多想幾個東西」、是完全不同的腦袋。每多想一個權限 / 推播 / 離線 / 平台差異的情境、上線後省一週 hotfix。從這 25 題開始、6 個月後你會變 PM 在 spec review 階段主動找的人。

延伸:

分享 LINE Threads X
ℹ️

一般聲明

本站提供之資訊僅供參考,不保證其完整性與正確性。使用者應自行判斷資訊之適用性。

意見反饋