移动应用开发测试工具Bugtags集成和使用教程

 

前段时间,有不少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 中导入头文件
001.png
四、而后在 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的控制台。

QQ截图20150914102840.png

bug提交假设咱们测试APP的时候,发现有一个title写错了。那么,经过Bugtags来提交这个bug。提交方法请看Gif图:

0 (1).gif

提交以后,刷新Bugtags控制台。这个时候,咱们的控制台就多出了一个新建的bug:

400.png

点击能够查看bug详情,一块儿来看看是否是刚刚提交的bug:

401.png

果真是咱们刚刚提交的bug。截图上有咱们以前作的标记“Title error”,并且这里很清晰的记录了咱们的设备信息。是否是感受很是方便!

还能够查看用户操做的步骤。前面咱们提到测试报上来的bug,很难复现。如今咱们能够结合Bugtags的用户操做步骤快速复现Bug:

403.png

不止这些功能,还有用户数据、控制台日志以及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。

0 (2).gif

提交以后,再次刷新Bugtags控制台,果真多了一个新建Bug:

404.png

为了测试Bugtags数据准确性,我分别用模拟器和真机来进行测试,一共点了五次。咱们来看一下Bugtags记录的信息:

405.png

忽然,以为Bugtags确实很强大。有童鞋可能会担忧,若是这个时候我没有联网怎么办呢。闪退信息还会被提交吗?这个不用担忧,我已经测试过了,在你下次联网的时候Bugtags会提交以前的闪退信息的。

总结
下面是我对Bugtags试用过程,进行如下几点的总结:

  • 我接入的是Bugtags最新IOS版本库为IOS SDK1.0.4 集成过程简单方便。

  • Bugtags方便测试截图上传,还能够对截图进行标注。

  • Bugtags会记录设备信息、用户数据、用户步骤、控制台日志以及Bugtags日志。

  • Bugtags会自动提交闪退信息。

  • Bugtags能够设置Bug的优先级和Bug管理。

鸣谢 这篇教程诞生的不容易,在使用Bugtags的过程当中,不免遇到一些问题。我都是直接跟Bugtags的技术人员何童鞋沟通的,很是感谢!但愿这篇教程可以帮助你们快速的接入Bugtags测试工具,提供APP测试的效率。