今天看 oschina 的2014 非常好用的开源 Android 测试工具看到一个评论提到有个可以录制脚本和进行测试过程视频回访的网站,赶紧过去看了一下,发现有不少可取之处,在此分享一下。
网站上的介绍 (非翻译,网站本身支持中文):
sumatium 是创新的真机云测试服务。仅需操作您手边的一台真机,就可以在云端的多台测试终端上实时同步的测试移动应用。
实时同步动画
我们利用独有的技术将所有的云端测试终端的屏幕转换为视频直播,通过 PC 浏览器, 您可以随时查看所有测试终端上应用的运行状况和测试结果
目前世界上首个仅需一台测试真机实现对多台测试终端进行实时同步测试的平台
您仅需利用身边一台 Android 手机和 PC 浏览器即可体验 Sumatium 极速高效的移动应用测试平台。
多台不同真机上实时同步的运行测试
操作身边的一台真机,Sumatium 在云端的测试终端上实时同步的再现您的所有操作, 并且通过直播视频将测试情况同步的反馈给您。
简单总结,主要有几个特点:
实时同步动画。测试过程可以通过浏览器实时看到
使用真机直接进行录制。不需要安装任何额外软件或者进行环境配置,只需一个 Android 手机和浏览器就能使用测试平台
多台不同真机同步测试。说白了就是 UI 适配性的测试。
和国内的Testin相比,主要就是多了真机录制和实时同步动画。
既然主要特点是前两个,那就要重点试用前两个。
网站支持中文(可通过右上角按钮切换语言,开发的公司貌似是日本的),所以在此就不在说明如何注册和登录了,重点说一下网站的特点:
网站登录后有一个 创建新的人工测试选项,这两个特色功能都集中在这里了,所以详细说一下它的流程:
上传测试应用或者输入测试网址。支持三种类型:NativeApp,HybridApp 和 Website。可选择两种记录方式:手机屏幕截图,视频动画。上传应用不需要传源码,传 apk 即可。这里为了方便我直接选了使用sumatium的 demo 应用
选择测试手机。我使用试用账户,里面有 23 台手机可以选择(最多同时选择 3 台),主要是华硕、索尼、三星和一些我没见过的牌子的机子,os 基本涵盖 4.0~4.4,分辨率主要为 800x480,720p 和 1080p。我选了 GALAXY S4 SC-04E
等待用户操作。这里会出现一个下载 app 的二维码,扫码后下载 app(它在检测到这个 app 被下载后回自动转到等待应用被打开的状态)。安装完打开应用后,网站同时也会显示刚才选择的 GALAXY S4 SC-04E 的同步实时动画(大概延迟个 1~2 秒,不过帧速应该有 15fps 以上)。在自己手机上进行任意操作,可以看到网页上的 GALAXY S4 SC-04E 也执行了一样的操作(也是延迟 1~2 秒,不过不是太稳定,偶尔网页上的手机不会自动同步了。我用的是 safari,没装 flash,不知道有没有关系)。
结束测试。点击网页上的结束测试,会显示测试详细内容,如测试基础情报(测试名称,手机应用名称等),测试运行情报(运行时间,运行结果等),测试手机情报(型号、os、分辨率等)。
使用过程中除了第三步的 app,我没有额外安装其他任何软件或工具。通过查看脚本内容,发现部分脚本如下:
{"timestamp":"1423927918286","arguments":["3","2","android.widget.TextView","16908308","-1"],"identifiers":{"id":"16908298","viewpath":"0-0-0-0-"},"stversion":"1","widgetName":"android.widget.ListView","action":"selectIndex","stcommand":"PLAY","componentType":"ListView","options":{"waittime":5502,"timeout":2000}}
{"timestamp":"1423927926916","arguments":["1","0","android.widget.TextView","16908308","-1"],"identifiers":{"id":"16908298","viewpath":"0-0-0-0-"},"stversion":"1","widgetName":"android.widget.ListView","action":"selectIndex","stcommand":"PLAY","componentType":"ListView","options":{"waittime":8206,"timeout":2000}}
目前不是很看得出它的实际用的什么工具来进行录制。
根据试用过程,分析网站应该是在 apk 中自动加入了一些 hook,然后通过 hook 和网站服务器通讯实现同步操作和脚本录制。
动画同步不是很清楚用什么技术,不过以前看到过有不少同步软件可以把手机屏幕动画同步到电脑。
这个工具的功能其实其他软件也能做得到,录制技术有 MonkeyTalk,动画同步其实很多软件也做得到。但是这样子 0 门槛的自动化回归测试确实很好用(一直觉得录制/回放脚本对功能的自动化回归测试是最简单有效的)。相比Testin功能遍历测试的采用不可预知的智能算法,录制的方法会更有效(我没用过Testin,智能算法这个方式是从Testin 常见问题里找到的),也使得 UI 适配和功能回归测试更加简单有效。而且录制动画也让测试可以选择性地去检查优先级高的测试用例的执行过程来保证测试结果的正确性。
不过,它无法简单地校验部分界面(如点击某个按钮后另一个元素是否有了变化),估计还是需要修改其脚本来实现,所以还不能实现功能自动化测试。而且云测平台的性质决定它的测试结果目前还是只能作为参考(你也不敢直接拿这份报告作为自己的测试报告吧)。