一个试图改写测试行业的AI应用
2019-11-29丁海骜
丁海骜
“移动互联网真正影响我们,是在2007年。我们应该感谢乔布斯,因为在那一年,他重新发明了手机。”在由Testin主办的第二届NCTS中国云测试行业峰会上,Testin总裁徐琨在演講和接受记者采访时,金句频出——这位2000年左右还是一名程序员的IT“资深”人士,对于整个IT行业的生态和生存环境具有非常敏感的直觉。
的确在最近一个阶段,移动互联网作为IT能力的载体,在很大程度上正在改变IT技术的研发趋势和应用模式。更重要的是,其也正在重构整个人类社会的商业体系:所有的商业机构都希望能够利用移动互联网开发属于自己的移动应用,帮助企业重新定义自身与价值链成员之间的关系、商家与用户之间的关联,从而建立属于自己的业务场景和商业逻辑,与市场上的对手拉开安全距离。
“中国企业在应用移动互联网方面大致可以分成三个层次:头部的企业非常领先,例如BAT;中间层存在一些科技化程度没有那么高的传统企业,例如有些银行;而底层则是那些还处在刀耕火种时代的商业组织,他们人数相对很少,虽然他们在商业上非常成功,但基本没有应用IT技术,例如一些餐饮、美容企业。但是有趣的是,在现在这个阶段,可能是在5到10年内,所有这些企业都会同时进化成一个新的公司,会实现完全的信息化改造,进而实现数字化、互联网化。”徐琨说。
而问题是:虽然各行各业都开始做自己的APP,但是与IT专业的软件系统提供商不同,这些应用的开发者和提供者本身对于如何保证产品的质量,存在技术和能力上的明显不足。于是在 2011年,Testin成立了——一家旨在为超过百万的企业及开发者提供测试、安全、推广及AI数据采集与标注服务的公司。
“Testin在2011年加入这个行业的时候,我们抱着一种直觉:希望用不同的方式做测试这件事情。因为我们原来是做互联网的。我们认为将测试与互联网结合,一定能够不一样。所以我们当时给自己定名叫做云测,那是在2011年——当时云服务还不被大家理解。”Testin云测,就是Testin核心的测试业务,专司为用户提供测试服务,从而满足范围越来越广、复杂程度越来越高的应用测试需求。
事实上纵观测试行业,从最初的人工手动测试,到后来的工具测试,再到目前市面上主流的自动化测试,整个行业在技术和流程上,基本已经进入到了一个成熟和稳定的阶段。而徐琨结合互联网做测试的模式,最终融合了AI——在本次会议上,Testin正式发布全新AI测试产品iTestin。
“如果世界上有轮子,那么就不应该再重新造一个新轮子。问题是测试这个行业,到处都是新轮子,但是都不是好轮子,所以我们才会想到要重新做一个轮子,它要更加智能。”徐琨强调“自动化测试”实际是个“伪命题”,因为在他看来,测试的过程,就是不断重复一个动作,完成同样的操作,而每一个新开发的功能,就需要从头完成一次重新的测试。而所谓的自动化测试程序,当测试环境、界面、场景发生了变化,那么其实现起来将是非常困难的。“今天的真实情况是,当应用开发高速迭代的情况下,各个公司——包括BAT这种公司——大量使用人工来进行测试,因为人工测试显然速度更快。今天我们推出的iTestin是我们的一个探索和思考——有没有可能让测试工具可以像机器像人一样,即使界面和环境发生了改变,它还能认识。”
在现场的功能演示过程中,由于iTestin融合了自然语言处理、文本识别、图标识别等技术,因此测试人员只需要用自然语言即可实现测试编程:测试人员只需在界面中输入点击、等待、检查、长按、输入等自然语言的文字描述,后台的AI就能准确实时的在真机上进行完整无误的操作和相关指令,完成测试自动化操作。
例如,用户只需要输入“点击搜索”的中文指令,iTestin 就能自动在APP当前页面中检测并识别出搜索图标,并完成该图标的点击操作。这与传统的测试脚本需要大量的人工介入,通过手工框选目标控件来实现脚本录制和维护相比,极大降低了脚本录制的难度,也极大提升了产品易用性和脚本维护效率。就如徐琨强调iTestin的特点:会中文就能写程序;会用手机就可以测试。
“从技术角度理解,AI产业有三大要素:算法、算力和数据。这是三个生产要素。从我们的角度来看,第一,Testin拥有一个30人的AI团队,他们的工作就是尝试各种各样AI的算法,解各种各样子任务,各种各样具体的技术问题,因此在算法层面我们具有相当的人才优势。”Testin CTO陈冠诚认为,iTestin短期内很难被复制的重要原因,一方是是Testin在算法方面具有绝对的人才优势,同时,数据也是众多同类同行难以超越的重要因素。“Testin在以往的工作中,累计测试次数超过2亿多次,一次测试就会产生一些数据,那么我们产生过2亿多次测试数据:比如说这是一个什么样的APP,每个页面是什么样的截屏,每个页面上有什么样的字体……数据越多,所能够覆盖到的场景就越丰富,准确度就越高。”在此过程中,Testin采集了20余万张APP UI截图,同时基于Testin数据的数据标注服务,标注了百万级别的文字和图标,再结合数据增强技术,构建了测试业界最大规模的千万级数据集用于模型训练,从而打造了基于深度学习的OCR文字识别和图标识别引擎。
“我们内部专门做过评测,以OCR文字识别这一具体功能来讲,Testin OCR模型文字识别精度超过了97%,全面超越了其他互联网公司提供的高精度OCR服务。”陈冠诚说。而对于常见的“搜索、分享、返回、菜单”等类型图标的识别,Testin 的图标识别引擎则能够实现了95%以上的识别精度,尤其是针对自定义图标,Testin实现了基于深度学习的“以图找图”算法,通过图标智能匹配实现了95%以上的自定义图标识别精度。
徐琨说:“所有的行业都值得再做一次,而我们就是希望把测试这个行业再做一次。”
写在最后
技术改变世界的同时,也在改变我们认识世界的方式。将AI引入到程序开发,也许为时尚早,但是用这样的角度去考虑问题,也许提升整个IT行业的效率,甚至会影响未来IT产业的结构,以及人类与IT技术之间的关系。“我绝对相信未来能够实现智能测试,而且这也是我们新产品将要尝试的方向。其实我觉得未来程序也应该能够自动化,没有那么难。只是可能会需要一些时间。”徐琨说。