专栏名称: 移动开发前线
专注于分享移动开发前沿和一线技术。
目录
相关文章推荐
山东环境  ·  2025年全国“安全生产月”公益广告 ·  4 小时前  
山东环境  ·  2025年全国“安全生产月”公益广告 ·  4 小时前  
神兽集团  ·  美乱纪元开启第一集:问计! ·  23 小时前  
神兽集团  ·  美乱纪元开启第一集:问计! ·  23 小时前  
程序员好物馆  ·  只用一行 CSS,秒解决布局难题 ·  昨天  
51好读  ›  专栏  ›  移动开发前线

黑盒测试自动化:用机器人测试移动App

移动开发前线  · 公众号  · 前端  · 2017-08-14 21:21

正文

请到「今天看啥」查看全文


手持设备的出现使我们需要重新考虑黑盒测试的真正含义。移动应用程序的用户体验与桌面应用程序截然不同,现有的机器对机器黑盒测试缺乏真实性、使用情况敏感度以及快速并廉价地生成可操作的测试用例所需的跨平台灵活性。

本节列出了机器人测试的宣言,采用这套方法生成的测试用例能以真正的黑盒(完全非侵入式)方式执行。表 1 对手动测试、基于模拟的测试和机器人测试进行了比较。

增强真实性

对于 Android 测试,MonkeyLab 基于应用使用数据生成测试用例 [10]。研究人员还发布了几种方法用于为 Web 系统提供真实的自动化测试输入 [11]。然而,这些基于自动化测试输入的系统并不是针对移动平台的,而在关于如何生成自动化测试输入的文献中对测试用例的真实性几乎没怎么提到。

如果开发人员认为测试集与真实情况不一致,他们就不会对出现崩溃的测试集采取任何行动。此外,由于缺乏领域知识,与真实情况不符的测试会让自动测试数据的生成变得很困难。移动计算还引入了另外一个问题:人类可能无法执行测试。例如,测试可能需要使用超过五个手指同时点击屏幕。

相比之下,机器人测试套件可以模拟人的手势操作。虽然可能有一部分手势是机器人无法模拟的(还有一些手势可能机器人可以操作但人类无法重复),但至少机器人手势同为身体手势。因此,相比现在的非机器人测试环境模拟的虚拟手势——只是简单地在被测设备端生成一系列事件,机器人手势更接近真实的人机交互。

设备独立性

目前已有的白盒自动化测试和(声称的)黑盒自动化测试都需要修改被测设备和操作平台中的一个或两者皆要修改。即使是所谓的黑盒技术也是通过模拟信号与应用程序通信,而不是通过移动设备上真实存在的传感器(例如触摸屏或重力传感器)触发的信号。

如前所述,机器人测试使用与人类用户相同的网络物理接口。它不太容易受到底层平台、API 接口和实现细节的变化的影响。在如今这个上市时间至关重要的世界,能够在不同平台上进行快速部署是一个相当大的优势。

更好的成本效益比

人工测试是相当昂贵的,虽然它有更好的真实性和设备独立性。反之,目前的自动化测试数据生成则相对便宜,仅依赖于计算时间,但它缺乏真实性和设备独立性。机器人测试则能达到最佳的成本效益比,它结合了人工测试和机器对机器自动测试的优点。

虽然从历史上来看机器人技术曾经非常昂贵,但如今机器人技术的成本正在迅速下降。虽然众包也可以降低人工测试的成本 [12],但说到底还是不可能比机器人测试更便宜。

减少对假设的依赖






请到「今天看啥」查看全文