移動應用 Bug 快速反饋神器

bugtags為測試而生發表於2015-11-13

前段時間,有很多 APP 突然走紅,最終卻都是曇花一現。作為一個創業團隊,突然爆紅是非常難得的機會。但是很可惜,由於沒有經過充分的測試,再加上使用者的激增,APP 閃退、伺服器資料異常等問題就被暴露出來,使用者的流失是必然的。

一款成功的 APP,測試是必不可少的環節。如果沒有充足的測試就貿然上線,必然會損失一部分本來可以成為鐵桿粉絲的使用者,而且,非常不利於 APP 的推廣。

測試上遇到的問題

測試是幹嘛的呢?簡單來說,就是找茬的!測試發現的 bug 會提交到一個任務管理系統中,我們解決完 bug 之後,會在任務管理系統中關閉這個 bug(總是有關不完的 bug)。有的公司可能不用任務管理系統,直接用 Excel 表格。

在這種工作模式下,總是碰到一些問題:

Excel 不利於 bug 管理(有任務管理系統就會方便很多) 測試發現bug之後,需要截圖,然後發到電腦上,再上傳到任務管理系統中,這個過程比較麻煩 裝置資訊、app 狀態、問題本身很難描述 有些 bug 難以重現 崩潰日誌難以收集 這些問題我想很多童鞋都有碰到。測試提交一個 bug,我們總是重現不了,無法重現就無法定位問題在哪(只能繼續跟測試掐架:你要重現 bug 啊!)。為了解決這些問題,今天我給大家推薦一個測試的SDK - Bugtags。

Bugtags 支援 iOS 和 Android 平臺,我這裡只是對 iOS 平臺進行介紹。

Bugtags 確實非常方便測試,接下來給大家簡單介紹一下 Bugtags 以及 Bugtags 使用教程。

Bugtags簡介

根據官網介紹:Bugtags 是新一代的、專為移動測試而生的缺陷發現及管理工具。致力於改善移動 App 的測試流程,連線發現缺陷與提交缺陷之間的使用者體驗, 提高測試及解決缺陷的效率。Improve your app anytime, anywhere。

Bugtags 採用獨創的應用內所見即所得的問題上報方式,有效提高了問題上報的效率和問題描述的準確度;同時平臺提供了自動收集分析崩潰資訊與問題生命週期管理功能。

Bugtags 官網:

https://bugtags.com/

他們的 demo 專案也放在了 github 上:

https://github.com/bugtags

通過簡單的瞭解,我感覺 Bugtags 應該是一個非常不錯的測試工具。如果真的像官網介紹的那麼好用,那真的是開發者的又一大福利。出於對新事物、新技術的好奇,我決定試用一下 Bugtags。

Bugtags整合和使用教程

Bugtags整合教程

我是通過 CocoaPods 整合 Bugtags 的 SDK,整合方法比較簡單。具體步驟如下:

1、在你專案的 Podfile 中新增以下程式碼

pod 'Bugtags'

2、執行 pod 安裝命令

pod install

3、在 AppDelegate.m 中匯入標頭檔案

import

4、然後在 application:didFinishLaunchingWithOptions: 方法中加入一行

[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 的控制檯。

bugtags1

bug提交

假設我們測試 APP 的時候,發現有一個 title 寫錯了。那麼,通過 Bugtags 來提交這個 bug。提交方法請看 Gif 圖:

bug

提交之後,重新整理 Bugtags 控制檯。這個時候,我們的控制檯就多出了一個新建的 bug:

bugtags2

點選可以檢視 bug 詳情,一起來看看是不是剛剛提交的 bug:

bugtags3

果然是我們剛剛提交的 bug。截圖上有我們之前做的標記“Title error”,而且這裡很清晰的記錄了我們的裝置資訊。是不是感覺非常方便!

還可以檢視使用者操作的步驟。前面我們提到測試報上來的 bug,很難復現。現在我們可以結合 Bugtags 的使用者操作步驟快速復現 Bug:

bugtags5

不止這些功能,還有使用者資料、控制檯日誌以及 Bugtags 日誌。更多功能大家自己接入 SDK 詳細瞭解吧。

app閃退

我在導航欄的左側按鈕上繫結一個方法:

- (void)actionClick:(UIButton *)button {
    NSArray *array = [NSArray arrayWithObjects:@"1", nil];
    NSString *string = [array objectAtIndex:2];
    NSLog(@"%@",string);
}

這是一個陣列越界的問題,陣列越界可以導致 APP 直接閃退。下面我們看看 Bugtags 會不會記錄這個閃退 Bug。

tui

提交之後,再次重新整理 Bugtags 控制檯,果然多了一個新建 Bug:

bugtags4

為了測試 Bugtags 資料準確性,我分別用模擬器和真機來進行測試,一共點了五次。我們來看一下 Bugtags 記錄的資訊:

bugtags6

突然,覺得 Bugtags 確實很強大。有童鞋可能會擔心,如果這個時候我沒有聯網怎麼辦呢。閃退資訊還會被提交嗎?這個不用擔心,我已經測試過了,在你下次聯網的時候Bugtags會提交之前的閃退資訊的。

總結

下面是我對Bugtags試用過程,進行以下幾點的總結:

我接入的是 Bugtags 最新 iOS 版本庫為 iOS SDK 1.0.6 整合過程簡單方便。 Bugtags 方便測試截圖上傳,還可以對截圖進行標註。 Bugtags 會記錄裝置資訊、使用者資料、使用者步驟、控制檯日誌以及 Bugtags 日誌。 Bugtags 會自動提交閃退資訊。 Bugtags 可以設定 Bug 的優先順序和 Bug 管理。 後記

Bugtags 上線以來,根據使用者反饋,一直不斷的進化。 還有更多的彩蛋和貼心功能,使用過程會慢慢發現! 這篇教程誕生的不容易,在使用 Bugtags 的過程中,難免遇到一些問題。 Bugtags 的技術人員很熱心,任何問題都可以直接跟他們反饋,交流 QQ 群:428020377。

Bugtags 的朋友告訴我,他們目前各線招賢納士,希望感興趣的朋友,前往公眾號:bugtags 進行勾搭。

相關文章