黑盒测试自动化:用机器人测试移动App_搜狐科技

原头脑:黑盒测试无意识的化:用机器人测试蜂窝式便携无线电话请求

锁上总结

  • 测试机器人 Axiz 雏形与岔开的武器装备小群一齐体系。,包罗本 3D 本视觉的自规范化零碎 Arduino 四轴机械臂。它在里面。 CMOS 1080 像素的视像管监控与测试处决。

  • 本机器人的测试可以处置宏大应战拿取的应战,同时它可以更悠闲地。 UI 测试光笔口述和搭车输出的要点。。

  • 比如 Appium、Robotium 和 UIAutomator 这样的的钢骨构架可以获得一定程度的无意识的化测试处决。。 除了,他们求助于于手工设计测试本子。,它将相称一瓶颈路段。

  • 跟随把准备的问世,我们的必要重行思索真正的意思。,这归结起来现在的性吹捧。、准备独立心、本钱效益比和增加求助于于可能的选择和好多O。

  • 试验显示出,Axiz 在机器人测试扩大用例中遏制的每个测试事情是AC,并经过所需的事先安排核对点。

定冠词高音部颁发。 IEEE Software 笔记。IEEE Software 该笔记为现今的战术和技术陈设可靠的的通讯。、大学生联谊会故意的通讯。为受欢迎的可靠的、可伸缩的事务的应战,IT 监督官和技术监督者必要依托 IT 专业人士陈设最上进的处置方案。

机器人在宽宏大量的再现性职责或工作中被大量地运用。。 那为什么不将它用于软件测试?机器人测试向测试作为正式工作人员的位置了一种新的测试模特儿,它比你从前注意到的黑盒子测试更近亲。以此,我们的曾经开门 Axiz,出售适合的机器人测试扩大器。在定冠词中,我们的区别我们的的方法与本努力赶上的测试无意识的化。,做出计划异议已决定的可以从机器人测试中恩惠的景色(甚至是美国)。,并显露我们的将到何种地步 Axiz 适合于 Google 反向移动适合的测试。

你为什么运用机器人测试?

本机器人的测试可以处置宏大应战拿取的应战 [1][2]。跟随人性的经用准备从桌面准备被翻译出售准备,这种倾向给人以预期的加紧。 [3]。在这么新生的出售袜口中,我们的必要比从前的一些时分更无意识的化的软件测试。。无论如何,我们的可能性必要重行思索软件测试的已决定的原理。。

出售准备支援装饰的用户轮流地输出,比如,经过触屏停止光笔口述、经过搭车(GPS)、加紧度计、气压计、NearId 书信等)获取各式各样的臂板信号系统。它们为异构和动态的宽宏大量的用户陈设保养。,地理位置和系统根底设施,比如。为了片面摸索和开展缺陷,在VA下,测试必需思索与各式各样的搭车的复杂轮流地作用。。出售适合开门的考察预示,眼前,出售适合测试的遵守首要求助于于MANU。,人工把持测试完全地实力低,使脱离常轨正交的。 [4]。比如 AppiumRobotiumUIAutomator这样的的钢骨构架可以获得一定程度的测试无意识的化。。除了,他们求助于于手工设计测试本子。,它将相称一瓶颈路段。

侥幸的是,,Android 晚近,测试无意识的化的结论受胎好多新的开展。 [5][6][7][8]。除了,这些技术运用侵越式(部门或绝对的白盒)方法处决。,并可能的选择测试器具有开门者运转,经济状况并非不断地那样地。。

这些技术取得目标好多必要修正请求密码,甚至修正请求。,最近亲黑盒测试的方法依然必要与TH书信。。这归咎于一真正的黑盒子测试,鉴于它倚靠机器与机器私下的代言人测试套装。

真正的黑盒测试方法将不被补助金。,它只倚靠PEOPL私下的准备级系统形体的在检查代言人。。在理论上的安排上停止测试可以上进地仿照真实用户体会。,如此,可以获得更近亲真实景色的测试用例。。同时,这种方法本质上是与准备有关的准备。,在可能性触及 2000 可能的选择有好多辨别的准备,它可以拿取相当大的恩惠。 [9]。

机器人测试宣言

跟随把准备的问世,我们的必要重行思索真正的意思。。出售请求的用户体会与桌面A有很大的辨别。,持续在的机器在黑盒测试中缺少现在的性。、运用感受性和跨平台可伸缩的性必要扩大运转或管理机能。

本条列出了机器人测试的结算单。,该方法扩大的测试用例可以在真实黑箱(C)中处决。表 1 对人工把持测试、区别了本努力赶上的测试和机器人测试。。

现在的性吹捧

当作 Android 测试,MonkeyLab 本适合信息扩大测试用例 [10]。结论作为正式工作人员的还颁发了几种运用方法。 Web 该零碎陈设了真正的无意识的化测试输出。 [11]。除了,这些无意识的化测试输出零碎归咎于用于出售平台的。,而在涉及到何种地步扩大无意识的化测试输出的文档中对测试用例的现在的性近乎没怎样提到。

可能的选择开门作为正式工作人员的以为测试集与真实经济状况不适合,他们不克对测试套件的使某物衰微采用一些行为。。同时,鉴于缺少形成球体知,与现实经济状况不一致的测试会使它相当困难的。。出售计算也引入了另一成绩。:人类可能性无法停止测试。。比如,测试可能性必要超越五个的手指,同时点击放映。。

相形之下,机器人测试套件可以仿照人的光笔口述。。但是如此可能性有一部门光笔口述是机器人无法仿照的(温柔的已决定的光笔口述可能性机器人可以管理但人类无法反复),但无论如何机器人光笔口述是形体的在姿态。。如此,比拟如今的非机器人测试环境仿照的挂名代表光笔口述——朴素地简略地在被测准备端扩大系列事情,机器人光笔口述更近亲真实的人机轮流地。

准备独立心

眼前已若干白盒无意识的化测试和(呈现的)黑盒无意识的化测试都必要修正被测准备和管理平台取得目标一或二者都皆要修正。甚至类似的黑匣子技术也与请求书信。,而归咎于经过出售准备上真实在的搭车(比如触屏或趋势搭车)劈开的臂板信号系统。

前述的,机器人测试运用与人类用户同样看待的系统形体的在检查代言人。。获取装底平台否认轻易、API 代言人更改和获得特性的心情。如今袜口是最重要的袜口。,在辨别平台上活肉布置是一相当大的优势。。

较好的本钱效益比

手工测试相当深深地,但是如此它具有上进的现在的性和准备独立心。另外,眼前的无意识的化测试信息扩大绝对低劣的。,只倚靠计算时期,但缺少现在的性和准备独立心。机器人测试可以取得姣姣者的机能价格比。,它使化合了手工测试和机器对机器的优点。。

但是从在历史中看,机器人技术绝深深地。,但如今机器人的本钱在神速降下。。但是如此众包也可以贬值手工测试的本钱 [12],但毕竟,它不比机器人测试低劣的。。

增加对可能的选择的求助于

移交的无意识的测试为睾丸做出计划了好多可能的选择。,人工测试扩大测试信息的可能的选择较不重要的。。机器人测试更近亲人工把持测试的可能的选择接近。,无论如何它可以以低本钱发生宽宏大量的的测试用例,这是很近亲的。。

Axiz

图 1 显露了 Axiz 的架构,包罗两个毕业班学生小群:机器人测试扩大器和机器人测试处决器。

机器人测试扩大器

机器人测试扩大器剖析准备,运用理论上的的通讯(包罗请求类)、动态字母行和 API)装束真假典范。该典范运用领先搜集的经历信息。,它包罗一已知的真实景色测试用例。。

表 1:选择人工把持测试、本努力赶上的测试或机器人测试证明人基准

本用户运用的注视终于,我们的有一整体的的属性列表(比如,TW私下的推延)。、事情典型和事情模特儿,它包含了潜在现在的中测试用例的要点和属性。。我们的预期这些要点能传闻现实运用取得目标经济状况。,庶乎 Axiz 运用它们来操纵和约束无意识的测试信息的扩大。。

图 1. Axiz 机器人测试零碎的建筑学。本真实景色的机器人测试扩大器扩大测试用例。机器人测试处决器废止未处决的测试用例并处决如此等等测试。

机器人测试扩大器经过现在的性典范和准备通牒。,扩大和改善测试用例。这些测试用例的现在的性是人两个方面。。率先,我们的重用和拉长说本真实景色的测试用例(比如)。 Robotium 或 Appium 测试本子,由测试作为正式工作人员的创作的改善的适合手册测试。其次,经过搜索由现在的性典范约束的解挡住通路。,专注于扩大应验从前约束的测试用例。

我们的本测试用例的机能(如密码覆盖率和毛病开展率)和由现在的性典范评定的现在的性来评价扩大的测试用例的优点。

机器人测试处决器

我们的经过在现实中处决用例来更多的证实候选测试用例。,使这些用例与用户或人工把持测试作为正式工作人员的管理的方法基本上同样看待。机器人测试处决器以密码模特儿将测试本子替换为机器处决顺序,那时在机器人装备上处决它们。

机器人装备可以以非侵越的方法与出售准备轮流地。,像人同样地。这么进程必要运用反向举动机能学和指出错误小群。。视像管监督出售准备的制约。。机器人测试处决器经过计算者更多的处置视像管的图像信息,包罗处决物体检测和预测点把持。

到底,机器人测试处决器发送处决进程中记载的懂得进程信息。,以决定可能的选择可以在真实景色中处决候选测试用例。。可能的选择不克不及处决,测试处决器将其过滤掉。。要不,Axiz 您将保持不变测试用例以供后续重用。。

Axiz 雏形获得

我们的曾经开门 Axiz 该雏形用于演示该零碎的现实性(见CHA)。 2)。我们的运用它一套低劣的的、一市价和多效能的的武器装备小群来开门这么雏形。。我们的运用它 3D 视觉自制止行使职责 [13] 机器人操纵器的规范化与装束,使零碎运转可靠的,为预测点把持陈设输出。

操纵器是根底。 Arduino 四轴机械臂。它包罗反复转到精确的。 0.2 mm 步进电力机械开车。每个轴的最大出售昌盛是人 115 至 210 度 / 第二的,这是负荷。 200 克氏时期的计算终于,当作集中的出售准备来说,这么最大昌盛十足大。。在操纵器的终点站是一用于仿照手指光笔口述的触摸笔。。

内部的 CMOS 1080 像素相机的监控与测试处决。我们的在配给 2.3GHz CPU 和 16GB RAM 的 MacBook Pro 便携式电脑运转测试扩大器和机器人把持器。

我们的应用 Python 机器人装备把持取得目标逆举动机能学重量。物体侦察器和预测点把持是本 OpenCV 图书出租处手段。用于机器人测试扩大器的(最上进)器的运用 Sapienz[14] 及适合 NSGA-II(非操纵者排序遗传算法) 一种大量地适合的多目标遗传算法,本多目标搜索的软件测试。这么器可以扩大系列测试事情,用最少的测试获得高等的的测试覆盖率和毛病检测率。

Axiz 与 Google 反向移动请求

Google 反向移动请求的嵌入数曾经取得了 500 万到 1000 万次 [15]。但是如此 Google 反向移动的效能绝简略。,但它是本真实景色的一绝重要的适合。,如此,它可以显示出真正的黑盒机器人测试的潜力。。

我们的运用它机器人测试扩大器来扩大与真实景色相符的测试用例,用机械装备停止测试。 测合适的是 Nexus 7 完全地电脑,配给公民的用户运转和 Android 正式的管理零碎(省掉修正)。作为对照物,我们的运用它另一台 Nexus 7,停止更移交的侵越性测试。第二的组 Nexus 7 直相继不绝接到 MacBook 机器人把持器的结论。其一致的的测试器具有开门者运转,可以修正管理零碎。

图 3 显示绝对的测试进程。MacBook 解说器小群将事情口述替换为举动必须穿戴的。。那时把持器将举动实施纪律者替换为关键角度口述B。。如图 3 所示,机器人装备点击第一 Nexus 7 涉及钉钮扣于处决测试。预测点把持监督每个测试事情。。在处决每个测试提议然后,预测点把持器接住图像并证实举动 GUI 的制约。

Axiz 精确地处决了扩大的机器人测试用例中每一测试事情,并经过所需的事先安排核对点,使 Sapienz 处决顶点的生产能力。

图 2:用四轴机械臂测试出售适合。我们的运用它一套低劣的的、最大量地运用的和市价的武器装备零件被开门出现。。

图 3:运用 Axiz 测试一真正的反向移动请求。Axiz 精确地处决了扩大的机器人测试用例中每一测试事情,并经过所需的事先安排核对点。

Axiz 可以在在这里检查处决测试的影像的。:

在这么影像的中,我们的将 Axiz 用移交的无意识的化测试器停止并联的显示,后者不运用机械臂。,朴素地系列的测试事情。影像的行动,用可鄙的的武器装备开发的机器人装备可以发生一套鉴定合适的。,但它更近亲现场的真实运用,在那附近取得上进的准备独立心和现在的性。

致谢

我们的谢谢你。 Andreas Zeller 在第 36 届 羽毛饰(退化)、搜索与测试结论中心吐艳大会 [16] 演讲,他在演讲中显露了长风趣的影像的。,在影像的中,人工装备与出售准备无意识的轮流地。。这是我们的结论的灵感经过。。

证明人资料

  1. F. Richter, “Global PC Sales Fall to 八年 Low,” 14 Jan. 2016.

  2. “Global Smartphone Shipments Forcast from 2010 to 2019(in Million 单位)

  3. “Worldwide Device Shipments to Grow 1.9 Percent in 2016, While End-User Spending to Decline for the First Time,” Gartner, 20 Jan. 2016.

  4. M.E. Joorabchi, A. Mesbah, and P. Kruchten, “Real Challenges in Mobile App Development,” Proc. 2013 ACM/IEEE Int’l Symp. Empirical Software 工程。 and Measurement (ESEM 13), 2013, pp. 15–24.

  5. A. Machiry, R. Tahiliani, and M. Naik, “Dynodroid: An Input Generation System for Android Apps,”Proc. 9th Joint Meeting Foundations of Software 工程。 (ESEC/FSE 13), 2013, pp. 224–234.

  6. D. 阿玛尔菲塔诺 et al., “Using GUI Ripping for Automated Testing of Android Applications,” Proc. 第二的十七 IEEE/ACM Int’l Conf. Automated Software 工程。 (ASE) 12), 2012, –261. 10.

  7. W. Choi, G. Necula, and K. Sen, “Guided GUI Testing of Android Apps with Minimal Restart and Approximate Learning,” Proc. 2013 ACM SIGPLAN Int’l Conf. Object Oriented Programming Systems Languages & Applications (OOPSLA 13), 2013, pp. 623–640.

  8. K. Mao, M. Harman, and Y. Jia, “Sapienz: Multi-objective Automated Testing for Android Applications,”Proc. 第二的十五个人组成的橄榄球队 Int’l Symp. Software Testing and Analysis (ISSTA 16), 2016, pp. 94 –105.

  9. A. Reversat, “The Mobile Device Lab at the Prineville Data Center,” Facebook, 13 July 2016.

  10. M. Linares-Vasquez et al., “Mining Android App Usages for Generating Actionable 本GUI的 Execution Scenarios,” Proc. 第十二 Working Conf. Mining Software Repositories (MSR) 15), 2015, pp. 111–122.

  11. M. Bozkurt and M. Harman, “Automatically Generating Realistic Test Input from Web Services,” Proc. IEEE 6th Int’l Symp. Service Oriented System 工程。 (索斯 11), 2011, pp. 13 –24.

  12. K. Mao et al., “A Survey of the Use of Crowdsourcing in Software Engineering,” J. Systems and Software, 2016.

  13. J.M.S. Motta, G.C. de Carvalho, and R. McMaster, “Robot Calibration Using a 3D Vision-Based Measurement System with a Single Camera,” Robotics and Computer-Integrated Manufacturing, vol. 17, no. 6, 2001, pp. 487–497.

  14. “Calculator,” Google, 2016.

  15. A. Zeller, “Where Does My Sensitive Data Go? Mining Apps for Abnormal Information Flow,” presentation at 第三十六 CREST Open Workshop (吓唬) 36), 2014.

涉及作者

Ke Mao 这是英国伦敦大学制定的开展过程。、搜索与测试结论中心(CREST)结论生。演讲者可以经过 联络他。

Mark Harman 这是英国伦敦大学制定的开展过程。、搜索与测试结论佛山中心主任。演讲者可以经过 联络他。

Yue Jia 这是英国伦敦大学制定的开展过程。、搜索与测试结论中心(CREST)的软件工程演讲者。演讲者可以经过 联络他。回到搜狐,检查更多

责任编辑:

发表评论

电子邮件地址不会被公开。 必填项已用*标注