前段時間,有不少APP忽然走紅,最終卻都是櫻花一現。做爲一個創業團隊,忽然爆紅是很是可貴的機會。然並卵,因爲沒有通過充分的測試,再加上用戶的激增,APP閃退、服務器數據異常等問題就被暴露出來,用戶的流失是必然的。 git
一款成功的APP,測試是必不可少的環節。若是沒有充足的測試就貿然上線,必然會損失一部分原本能夠成爲鐵桿粉絲的用戶,並且,很是不利於APP的推廣。 github
測試上遇到的問題
測試是幹嗎的呢?簡單來講,就是找茬的!測試發現的bug會提交到一個任務管理系統中,咱們解決完bug以後,會在任務管理系統中關閉這個bug(老是有關不完的bug)。有的公司可能不用任務管理系統,直接用Excel表格。 數組
在這種工做模式下,老是碰到一些問題: 服務器
-
Excel不利於bug管理(有任務管理系統就會方便不少) app
-
測試發現bug以後,須要截圖,而後發到電腦上,再上傳到任務管理系統中,這個過程比較麻煩 工具
-
設備信息、app狀態、問題自己很難描述 測試
-
有些bug難以重現 spa
-
崩潰日誌難以收集 日誌
這些問題我想不少童鞋都有碰到。測試提交一個bug,咱們老是重現不了,沒法重現就沒法定位問題在哪(只能繼續跟測試掐架:你要重現bug啊!)。爲了解決這些問題,今天我給你們推薦一個測試的SDK - Bugtags。 教程
Bugtags支持iOS和Android平臺,我這裏只是對iOS平臺進行介紹。
爲了方便你們測試,我已經在iOSStrongDemo集成了Bugtags。Bugtags確實很是方便測試,接下來給你們簡單介紹一下Bugtags以及Bugtags使用教程。
Bugtags簡介
根據官網介紹:Bugtags是新一代的、專爲移動測試而生的缺陷發現及管理工具。致力於改善移動App的測試流程,鏈接發現缺陷與提交缺陷之間的用戶體驗, 提升測試及解決缺陷的效率。Improve your app anytime, anywhere。
Bugtags採用首創的應用內所見即所得的問題上報方式,有效提升了問題上報的效率和問題描述的準確度;同時平臺提供了自動收集分析崩潰信息與問題生命週期管理功能。
Bugtags官網:https://bugtags.com/
經過簡單的瞭解,我感受Bugtags應該是一個很是不錯的測試工具。若是真的像官網介紹的那麼好用,那真的是開發者的又一大福利。出於對新事物、新技術的好奇,我決定試用一下Bugtags。
Bugtags集成和使用教程
Bugtags集成教程
我是經過CocoaPods集成Bugtags的SDK,集成方法比較簡單。具體步驟以下:
一、在你項目的 Podfile 中添加如下代碼
1
|
pod 'Bugtags'
|
二、執行 pod 安裝命令
1
|
pod install
|
三、在 AppDelegate.m 中導入頭文件
四、而後在 application:didFinishLaunchingWithOptions: 方法中加入一行
1
|
[Bugtags startWithAppKey:@"App Key" invocationEvent:BTGInvocationEventBubble];
|
這裏的APP KEY就是登錄bugtags.com以後,建立app時所得到的app key。
關於CocoaPods的詳細用法,請訪問:https://cocoapods.org/
Bugtags還能夠手動集成(建議你們用CocoaPods來管理第三方庫),關於手動集成的教程能夠點擊:http://help.bugtags.com/hc/
接入成功以後,APP上會懸浮一個小球。(還能夠經過搖一搖呼出小球)
Bugtags使用教程
接下來,我經過提交一個bug和一個閃退日誌來演示Bugtags使用方法。首先,咱們看一下Bugtags的控制檯。
bug提交假設咱們測試APP的時候,發現有一個title寫錯了。那麼,經過Bugtags來提交這個bug。提交方法請看Gif圖:
提交以後,刷新Bugtags控制檯。這個時候,咱們的控制檯就多出了一個新建的bug:
點擊能夠查看bug詳情,一塊兒來看看是否是剛剛提交的bug:
果真是咱們剛剛提交的bug。截圖上有咱們以前作的標記「Title error」,並且這裏很清晰的記錄了咱們的設備信息。是否是感受很是方便!
還能夠查看用戶操做的步驟。前面咱們提到測試報上來的bug,很難復現。如今咱們能夠結合Bugtags的用戶操做步驟快速復現Bug:
不止這些功能,還有用戶數據、控制檯日誌以及Bugtags日誌。更多功能你們本身接入SDK詳細瞭解吧。
app閃退
我在導航欄的左側按鈕上綁定一個方法:
1
2
3
4
5
6
|
- (void)actionClick:(UIButton *)button
{
NSArray *array = [NSArray arrayWithObjects:@"1", nil];
NSString *string = [array objectAtIndex:2];
NSLog(@"%@",string);
}
|
這是一個數組越界的問題,數組越界能夠致使APP直接閃退。下面咱們看看Bugtags會不會記錄這個閃退Bug。
提交以後,再次刷新Bugtags控制檯,果真多了一個新建Bug:
爲了測試Bugtags數據準確性,我分別用模擬器和真機來進行測試,一共點了五次。咱們來看一下Bugtags記錄的信息:
忽然,以爲Bugtags確實很強大。有童鞋可能會擔憂,若是這個時候我沒有聯網怎麼辦呢。閃退信息還會被提交嗎?這個不用擔憂,我已經測試過了,在你下次聯網的時候Bugtags會提交以前的閃退信息的。
總結
下面是我對Bugtags試用過程,進行如下幾點的總結:
-
我接入的是Bugtags最新IOS版本庫爲IOS SDK1.0.4 集成過程簡單方便。
-
Bugtags方便測試截圖上傳,還能夠對截圖進行標註。
-
Bugtags會記錄設備信息、用戶數據、用戶步驟、控制檯日誌以及Bugtags日誌。
-
Bugtags會自動提交閃退信息。
-
Bugtags能夠設置Bug的優先級和Bug管理。
鳴謝 這篇教程誕生的不容易,在使用Bugtags的過程當中,不免遇到一些問題。我都是直接跟Bugtags的技術人員何童鞋溝通的,很是感謝!但願這篇教程可以幫助你們快速的接入Bugtags測試工具,提供APP測試的效率。