IOS 远程测试方案
前言
iOS開發的測試一直是令人頭疼的問題。app開發的短周期和高效率的要求注定了一款app,特別是小公司的app,不會留給開發人員很多測試的時間。而在測試時往往又遇到crash報告提交困難,測試人員與開發人員溝通不便等等問題,極大延緩了測試進度。TestFlight即是為了解決iOS開發時測試的種種困難而生的服務,使用TestFlight可以十分便利地完成版本部署,測試用戶Log提交,收集Carsh Log和收集用戶反饋等工作,而這一切居然連一個iDP賬號都不需要!
基本使用
注冊
TestFlight界面友好,文檔齊全,開發者在使用上不會遇到很多問題。到TestFlight官網注冊賬號即可開始使用。
注冊時記得勾選I am a developer,之后便可以以開發者身份管理開發和測試團隊,提交測試版本和查看報告等,若沒有勾選則是以測試者身份注冊。若在注冊時沒有選上,之后在帳號設置中也可以進行更改。
確認
注冊完成以后會在注冊郵箱中收到確認郵件。使用你的iDevice用郵件內的帳號登陸,并且完成設備注冊,加入TestFlight的描述文件。關于設備注冊和可能遇到的問題,可以參看這篇帖子。
創建團隊
登陸TestFlight后在自己的Dashboard可以新建一個團隊。團隊包括了開發者、測試者和相應的測試版本。創建團隊后可以通過選擇團隊來查看團隊的信息等情況。
添加測試者
在團隊管理界面可以為團隊添加成員。填寫受邀者的郵件和簡單的說明,一封包含注冊鏈接的郵件將被發送到指定郵箱。受邀者通過類似的注冊和確認流程即可加入團隊,參與共同開發和測試。
上傳測試版本
上傳的版本必須是包含簽名的ipa,成功上傳版本后即可選擇給團隊內的成員發郵件或推送邀請他們進行新版本的安裝和測試。之后在版本管理中即可看到關于該版本的測試信息。該部分具體內容參看本文最后。
收集測試信息
在build界面中選擇需要查看的版本的對應按鈕即可看到收集到的測試信息,包括一般的session信息,設備使用TFLog進行的輸出(需要TestFlight SDK),crash報告,是否通過了預先設定的檢查點,測試人員的安裝情況等信息。
結合SDK來使用,一切測試機仿佛都變成了你自己的終端,所有的Log和設備的狀態盡在掌握,而這樣的便利僅僅需要點擊下鼠標和寫幾行代碼,這便是TestFlight的強大之處。
TestFlight SDK使用
下載
不使用TestFlight的SDK的話,可以說就連這個強大的平臺的一成功力都發揮不出來。點擊這里從官方網站下載SDK,官方文檔提供了關于SDK的很全面的說明,在支持頁面也能找到很多有用的信息。
之后將以Xcode4為例,簡介SDK的使用,更多信息可以參考TestFlight官網。
配置
- 將頭文件加入工程:File->Add Files to
- 找到包含SDK的文件夾
- 勾選”Copy items into destination folder (if needed)”
- 選擇”Create groups for any added folders”
- 勾上想要使用TestFlight SDK的Target
- 驗證libTestFlight.a是否被加到link部件中
- 在Project Navigation里選中工程文件
- 選中想要應用SDK的Target
- 選擇Build Phase欄
- 打開Link Binary With Libraries Phase
- 如果libTestFlight.a不在欄內,從Project Navigation里將其拖到欄內
- 開始使用
- 在需要用到TestFlight SDK的文件中引入頭文件:#import “TestFlight.h”,方便起見,您也可以在工程的預編譯文件中的#ifdef __OBJC__塊中引入
- 獲取團隊token:在這個頁面中對應的團隊下選取TeamInfo,獲取團隊的token。
- 在AppDelegate中啟動TestFlight
Objective-C - 為了能得到有用的crash log(掛載過的),必須在生成ipa的時候不剝離.dSYM文件。在Project Navigation里選中工程文件,選中需要使用TestFlight SDK的Target,在Building Setting的Deployment塊下,將以下三項設為NO
- Deployment Post Processing
- Strip Debug Symbols During Copy
- Strip Linked Product
檢查點
開發者可以在代碼的任意位置設置檢查點,當測試者通過檢查點時,session里將會對此記錄。比如測試者通過了某個關卡,或者提交了某個分數,或者向數據庫加入了某條信息等。通過驗證檢查點,一方面可以檢測代碼是否正確,另一方面也可以作為游戲的平衡性調整和測試,用來檢測用戶的普遍水平。
在代碼中加入一個檢查點:
Objective-C
檢查點問題
配合檢查點可以向測試者提出問題,比如“是否正確地通過了演示界面?”或者“分數榜的提交正常嗎?”這樣的問題。在build management下可以找到Question選項,為檢查點添加問題。問題的回答分為多選,是/否以及任意回答,如果選擇多選的話,還需要指出問題的可能的選項。
當測試者通過問題所對應的檢查點時,一個modalViewController形式的問題和選項列表會出現供測試者選擇。開發者可以在build的Question選項卡中看到反饋。
反饋
TestFlight提供了一個默認的反饋界面,測試者可以填寫他們想寫的任何內容并將這個反饋發送給你。調用一個反饋:
Objective-C
一般來說可以在主界面或者最常見的界面上設置一個“反饋”按鈕,這樣測試者可以很方便地將他們的感受和意見發送給你。
遠程Log
太棒了…配合TestFlight,現在開發者可以拿到遠程客戶端的Log。使用TFLog代替NSLog即可,任何TFLog的輸出將被上傳到TestFlight的服務器。如果需要詳細一些的輸出信息,可以用內建的參數的方式輸出信息,比如:
Objective-C
將會得到類似這樣的輸出
Objective-C
所有的TFLog都不會阻塞主線程,所有的TFLog都將完成以下三種Logger工作
- TestFlight logger
- Apple?System Log logger
- STDERR logger
配合以前介紹過的NSLogger(參見這篇文章),將Log發揮到極致,讓你永遠掌控自己的代碼吧~
Log將會在客戶端進入后臺或者被退出的時候上傳到服務器,如果沒有看到應該有的Log的話,很有可能是還在上傳中。視Log文件大小而定,一般這個過程需要若干分鐘。當然,巨量上幾M甚至10+M的Log可能會被TestFlight拒絕哦..畢竟沒有那么多存儲空間..
當然,客戶端必須有可用的網絡環境這個功能才會啟用。得到的Log會存儲在Session下。
生成和上傳測試版本
打包ipa
..做過部署的童鞋對這個應該很熟了,官方也有一個詳細的guide,總之照著做就沒錯了
- XCode3如何生成ipa
- Xcode4如何生成ipa
上傳測試版本
打包好ipa后就到版本上傳界面,把做好的ipa拖過去就萬事大吉了。
最后一步是邀請團隊內的測試者進行測試。把你想邀請的測試者打上勾然后OK,包含鏈接的邀請郵件將會發到他們的郵箱。然后~等待測試結果和大家的反饋,并且根據反饋完善app吧~
寫在最后
TestFlight是一個很棒的工具,而且關鍵,它現在還是免費的~
雖然有趨勢以后將會收費,但是這套方案確實是方便易用..希望多支持吧~
- See more at: http://www.onevcat.com/2012/01/testflight/#sthash.2CrdgMtp.TU40DEGa.dpuf
TestFlight 官網:https://www.testflightapp.com
總結
以上是生活随笔為你收集整理的IOS 远程测试方案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python中的in是什么意思
- 下一篇: iPhone/iOS图片相关(读取、保存