TestFlight Beta Testing

WWDC 2014 Apple 發表 TestFlight Beta Testing 最近在 iTunes Connect 上開放大家使用了。

官方有個簡單的 兩分多鐘教學影片,但有許多遺漏掉的細節,還是需要看 官方文件,今天就我使用的心得,跟大家分享。

今天主題分兩大塊:
1. 一般開發週期的測試方法(原本的 testflightapp.com )
2. 即將發佈正式版本時的測試方法(Apple 上面的 TestFlight)

我們先來看看,一般的開發週期。

原本的 iterative development

這是個開發測試迭代,不斷的開發、測試、反饋,所以這三個階段的工作流程,連接順不順暢很重要。

打包你的程式

首先我們注意 Xcode 左上角 Scheme Menu,一邊分為 Scheme(專案設定),另一邊為執行目標。

打開 Xcode 選擇 iDevice,是為了編譯成手機上可以跑的二進制程式。

選擇 Edit Scheme

Archive (打包)時要注意,若是測試環境,選擇 Debug,上架準備環境,選擇 Release。

選單選擇Product > Archive,二進制打包,將會打包成 xcarchive (Xcode Archive)。

打開 Organizer,選單選擇Window > Organizer (Shift+CMD+2)。

打開 Organizer 後

  1. 選擇 Archives Tab
  2. 確定您的專案
  3. 選取打包的檔案
  4. 最後選擇發佈 (Distribute…)

這邊的發佈是,發佈測試版,並不會上架。

選擇 Save for enterprise or Ad Hoc Deployment 來發佈可測試用的 IPA (iOS application Archive File)。

選擇您的 Provisioning Profile,一般測試情況下,我都是選用 Xcode 所產生的泛用描述檔,這個檔案能決定哪些裝置可以安裝,因為裡面包含了可以安裝的 UDID(Unique Device Identifier)。

存檔為 IPA,準備放上 TestFlight 給測試者安裝使用。

另外可安裝 CocoaDeveloper Quicklook Plugin 來快速檢查 IPA 相關憑證、描述檔 是否正確。

TestFlight Desktop App

首先,先下載 Download TestFlight Desktop App

TestFlight Desktop App 打開後非常簡單的畫面,意思就是要您把打包好的 IPA 直接拖曳進去即可。

確認 IPA 資訊,然後下一步。

等待上傳完畢,即可下一步,在等待的同時,可順便填入 Release Notes。

  1. 選擇您的測試團隊
  2. 設定哪些測試者可以安裝,是否順便通知測試者
  3. 送出測試版本

完成上傳!

TestFlight 使用者註冊

建議測試者與開發者,都去 TestFlight 註冊,在測試上比較容易追蹤問題。

例如圖片內容:

這樣就能清楚知道,某個使用者,在某個時間點,遇到哪些問題。

Connect Device

連接 TestFlight 帳號,以及您的 Device,這個動作是必須的,因為這樣才能驗證您的身份,以及您的裝置,是否可以安裝測試App,所以我們必須做一個 Connect Device(連接裝置)的動作。

  1. 先連到 TestFlight網站
  2. 登入 TestFlight帳號
  3. 點擊 Connect Device

將 TestFlight憑證安裝進去手機,手機裝置就會綁定帳號了!
這樣更有利於追蹤問題歐!

邀請測試者。

邀請測試者之後的動作

  1. E-Mail 邀請測試者
  2. 測試者同意後,取得 UDID
  3. 加入 UDID,更新 Provisioning Profiles
  4. 重新打包 IPA,發佈測試 或 直接上 TestFlight網站 上傳最新的 Profile

有綁定 TestFlight 的裝置,開啟 TestFlight網站就會看到可以安裝的測試App。

如何使用最新的 TestFlight on iTunes Connect

今年的 WWDC 2014,蘋果把整個後台 iTunes Connect 做了大改版,並且加入了 TestFlight。那 iTunes Connect 上面的 TestFlight 跟 前面介紹有何不同呢?下面將作說明!

Internal 與 External Testers (尚未開放)

我們先來了解 內部測試者 與 外部測試者 的差別。

內部測試者,必須為該 App 所屬開發帳號底下的 iTunes Connect User,而且如果要邀請測試的話,角色必須為 Admin 或者是 Technical,而邀請的 E-Mail 必須為 Apple ID!

外部測試者,目前尚未開放,而且外部測試有限制,App 必須要審核,而且一樣必須遵守官方 Review Guidelines,可開放外部測試的 App 同時只能有 10 個,而且內部與外部測試者加起來上限是1000人!

注意!

如果你的 Provisioning Profiles,是 蘋果開放 TestFlight Beta Testing 之前的,必須重新產生才能開啓此新功能。

進入 Certificates, Identifiers & Profiles,選擇 Provisioning Profiles > Distributions,點擊 + 按鈕。

選擇 Distribution, App Store

選擇您的 App ID

選擇您的憑證

給您的憑證名稱,按下產生,就差不多完成囉!

幫 Xcode 更新 Profile

開啟選單Xcode > Preferences 或是 熱鍵 CMD + ,

  1. 選擇 Accounts 頁籤
  2. 選擇你的 Apple ID
  3. 選擇所屬的 Team
  4. 點擊 View Details

點擊 Refresh 按鈕,更新 Profile,是不是很方便呢。

使用者 與 角色

目前內部測試者,只有兩種角色能測試 admin、technical,並且要在 iTunes Connect 裡面的 Users and Roles 做設定。

另外按+,可邀請使用者。

使用者又分兩種,一個是 iTunes Connect Users,內部測試者歸類在此之下,另外一個是 Sandbox Testers,這個測試者主要是在測試購買 IAP (In-App Purchase, 在App裡購買) 項目的測試帳號。

新的 iTunes Connect 測試&上架步驟

如同前面,Scheme 打包 release

選單選擇Product > Archive,二進制打包,將會打包成準備上架的檔案。

如同前面所介紹,選擇打包好的檔案,選擇 Distribute 準備上架。

選擇 Submit to the iOS App Store。

選擇 您上架的 App,並且設定稍早重新產生的 Profile,才有辦法使用新的 iTunes Connect TestFlight,然後按Submit送出。 跟以往不同的是,在這邊送出時,之前會順便送出審核,現在在 Xcode 的畫面送出,只是上傳二進制檔案,並不會自動送出審核,要送審還必須上 iTunes 發佈送審。

之後我們連上 iTunes Connect 必須開啟 TestFlight Beta Testing便可以使用最新的 iTunes Connect TestFlight,不過此處要注意的是,現在 iTunes Connect TestFlight 處理速度很慢,需要耐心等候。

邀請測試者兩步驟

最新的 iTunes Connect TestFlight,雖然不用使用者的UDID,但是需要邀請兩個步驟。

步驟一:邀請成為 iTunes Connect User (必須為 Apple ID),如先前介紹。

使用者會收到 E-Mail 來開通帳號。

步驟二:邀請為 App 測試者

此處畫面因為已經送審,故無法邀請。 不然在 Prerelease 的 Internal Testers 可以邀請測試者。

使用者會收到 E-Mail 確認成為測試者。可直接加入並打開 iOS TestFlight App。

TestFlight App for iOS 8

目前 iTunes Connect TestFlight 僅支援 iOS8 Download TestFlight App

安裝完畢後,點擊邀請測試的 E-Mail,即可在 TestFlight App 當中,顯示您測試的 App,目前中文顯示有些問題。

安裝測試,此處要注意的是,因為這個測試版本,是個准發佈版本,待審核通過就會上架,所以跟手機上從 AppStore 安裝的版本 Bundle ID 會是一樣的,會把 AppStore 的版本給覆蓋掉。

總結

原本的 TestFlight 開發流程無法取代,因為這是兩種不同的測試迭代。

TestFlightApp.com 的優點:
1. 便利
2. remote debug log
3. checkpoint
4. 完整的管理界面

iTunes Connect TestFlight 的優點:
1. 不需要 UDID
2. 上架前環境
3. 內部封測

測試最好能整合 Continuous integration (CI),對於軟體的品質、多人開發程式測試、自動部署測試環境 (自動發佈到 TestFlight),也可以省下很多重複的工作。

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.