这几天偶然接触到了一个叫做Testin的云测试平台,经过一番体验,感觉还是不错的,因为里面提供了大量的测试机型,可以针对Android手机的严重碎片化现象做出比较全面的测试,同时Testin的测试内容包括了UI适配、内存分析、BUG查找、异常数据统计与分析等诸多方面,从反馈的结果当中我们可以提炼出很多有价值的信息,从而方便我们进一步完善自己的应用。在此,我推荐大家去体验一下,虽说不一定能真正用到,但是可以接触和学习一些测试方面的知识。

  下面,就让我简单说一下我的使用体会吧!

  一、Testin提供的服务

  Testin目前主要提供了六项测试服务,其中三项免费服务、三项收费服务,在此,我用表格的形式整理出了这六项服务的相关信息,如下:

编号

服务名称

功能描述

收费情况

一般方案(我们自己平时选择的方案)

优点

1

内测

1.上传应用之后,会自动生成一个应用下载页,供用户下载;

2.集成SDK后,会附带摇一摇上传BUG的功能。

免费

1.将应用上传到公共的服务器,测试人员自行下载测试;

2.将打包好的应用上传至应用市场;

3.直接通过通讯工具传输安装文件;

4.客户端捕获异常日志并自动回传至服务器;

5.测试人员和开发人员之间口头反馈BUG,或者通过常用通讯工具反馈BUG。

1.提供统一的应用下载页面,可以更加快速地进行分发测试;

2.摇一摇上传BUG,可以方便测试人员及时反馈使用过程中遇到的BUG,提高反馈的效率和精确度。

2

标准兼容测试

最大支持100种通用机型免费测试,8小时内反馈测试结果(我用了自己的一个小Demo测试,实际反馈时间不到2小时)。

免费

1.模拟器测试。有的功能是模拟器无法测试的,且模拟器的测试效果不如真机测试。

2.真机测试。一般公司的测试真机机型较少,很难覆盖市面上的主流机型。

  1. 通过兼容性测试,可以提高应用在各个机型上的兼容性,因为Android碎片化很严重,应用要真正做好需要进行大量机型的适配,这对于有大量用户使用,需要做大量适配的APP很有帮助;
  2. 自动测试,无需人工干预,100种机型,8小时内反馈测试结果。

3

崩溃分析

自动收集异常崩溃日志并回传至Testin服务器进行数据统计分析。

免费

  1. 通过异常捕获工具捕获崩溃日志并回传至服务器;
  2. 第三方平台统计。

能够方便开发人员第一时间获取应用崩溃记录,并作出各种分析,从而更快速、更精准地修复BUG。

4

远程真机测试

通过浏览器或者开发工具远程连接真实设备,实时操作,快速定位问题

收费

1.模拟器测试。有的功能是模拟器无法测试的,且模拟器的测试效果不如真机测试。

2.真机测试。一般公司的测试真机机型较少,很难覆盖市面上的主流机型。

更专业的测试,提高测试质量。

5

深度兼容测试

由Testin专家团队定制测试用例,在大量机型上面执行脚本测试,人工参与审查核心功能和UI适配。

收费

开发人员自己测试,没有测试用例,没有大量机型,核心功能审查力度不够,UI适配程度不够。

更专业的测试,提高测试质量。

6

BUG探索

由Testin专家团队测试应用中意想不到的BUG

收费

开发人员自己测试,一些意向不到的BUG难以测试到。

测试更仔细,更全面。

  二、实用功能

  我认为Testin提供的服务中包含了以下实用的功能:

编号

功能

1

自动生成应用下载页

2

摇一摇上传BUG

3

大量真机兼容性测试

4

自动测试,如monkey测试等

5

自动收集异常崩溃日志,并进行统计分析

6

收费功能测试更专业、更深入、更全面、更彻底

  三、测试结果分析

  我用自己的一个小Demo进行了测试,得到了以下测试结果,测试结果是以图形化报表的形式呈现的,从截图可以看出,测试数据统计分析包含了CPU分析、RAM分析、GPU分析、机型适配分析、问题分布分析等各个方面,总的来说测试还是很全面的。以下是测试结果的部分截图:

  1.测试结果总览:

云平台 测试 云平台测试方法_开发工具

  2.测试结果概况

  a)兼容概况

云平台 测试 云平台测试方法_云平台 测试_02

  b)性能概况

云平台 测试 云平台测试方法_ui_03

  3.问题报告

  a)问题类型分布

云平台 测试 云平台测试方法_移动开发_04

  b)问题原因分析

云平台 测试 云平台测试方法_开发工具_05

  c)终端属性分析

云平台 测试 云平台测试方法_ui_06

云平台 测试 云平台测试方法_移动开发_07

云平台 测试 云平台测试方法_移动开发_08

  d)失败终端列表

云平台 测试 云平台测试方法_云平台 测试_09

  4.性能报告

  a)性能概况

云平台 测试 云平台测试方法_ui_10

  b)性能分析

云平台 测试 云平台测试方法_移动开发_11

云平台 测试 云平台测试方法_上传_12

  c)详细性能列表

云平台 测试 云平台测试方法_ui_13

  5.终端列表

  a)筛选条件

云平台 测试 云平台测试方法_ui_14

  b)详细终端列表

云平台 测试 云平台测试方法_移动开发_15

  四、使用感受

  1.Android端支持SDK和NDK两种测试方案,能够对Java层和Native层代码进行深度测试;

  2.最终来看,Testin集成的过程还是比较简单、方便的;

  3.测试的内容很全面,测试结果分析很详细;

  4.官方文档质量有待提高,感觉目前的官方文档介绍稍微有点乱。举个例子,官方并没有说明SDK和NDK是应该分开集成,还是一起集成,因此在最开始在集成的时候,我先集成了SDK,然后又集成了NDK的jar包和.so库文件,结果导致我的程序虽然能够正常运行,但是打包导出的时候一直提示引用的类重复,导不成功,最后我删除了SDK,只是集成了NDK才打包导出成功。出现这个问题的原因是如果已经集成了NDK,那么项目的libs下面的jar包其实是就已经包含了SDK,就不需要再次集成SDK了。而官方给出的集成步骤里面并未详细说明。

  五、使用建议

  1.如果我们还没有用过Testin,那么我们可以在我们的Demo或者项目里面先使用一段时间免费服务,体验一下免费功能的测试效果,如果觉得效果好,后期也确实需要使用收费服务,那么再考虑收费服务吧;

  2.对于简单的APP或者用户量小的APP,没必要集成Testin;如果App较为复杂,需要面对大量用户,或者App的质量要求很高,那么建议使用Testin;

  3.作为开发人员,测试环节往往被我们忽略了,或者是没忽略但是却不够重视。在Android的框架里面其实是集成了很多测试框架的,比如Adnroid SDK中的monkey.jar、JUnit、Memory Analyzer等,且结合Google推出的MVP、Clean、RxAndroid开发框架案例来看,单元测试的重要性不言而喻。因此,作为开发人员,我们应该有意识地去学会测试自己的软件。

  以上便是我初次使用Testin的心得,其中难免有纰漏,还请大家多多指教!同时,我顺便说明一下,我写这篇文章不是为了给Testin做推广,只是想分享一些值得分享的东西!