> 九號工具站
返回列表

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 階段主動找的人。

延伸:

ℹ️

一般聲明

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

意見反饋