【NCTS峰会回顾】Testin徐琨:AI引领下一代测试,iTestin改写测试未来

2019年10月26日,由Testin主办的第二届NCTS中国云测试行业峰会在京召开,此次峰会以“AI+未来”为主题,汇聚来自国内外测试领域的知名专家学者、领先企业决策者、高层技术管理者、媒体从业者等,共同探讨高端云测试技术,帮助测试从业者了解最前沿行业趋势及最新的行业实践。

会上,Testin总裁徐琨正式发布全新AI测试产品iTestin,作为Testin人工智能战略中的重要一环,iTestin融合了目前测试领域顶尖的自然语言处理、文本识别、图标识别技术,全面提升测试产品的易用性和自动化效率,在提升脚本编写效率一倍的同时,将脚本的维护成本降低了一倍。

【NCTS峰会回顾】Testin徐琨:AI引领下一代测试,iTestin改写测试未来

在现场的发布环节,徐琨用自然语言在iTestin上现场演示AI+测试的真正能力,引起了现场观众的惊叹和称赞。使用iTestin的测试人员只需在界面中输入点击、等待、检查、长按、输入等自然语言的文字描述,后台的AI就能准确实时的在真机上进行完整无误的操作和相关指令。

以下为徐琨演讲实录:

我是来自Testin的徐琨,先简单说一下办NCTS中国云测试行业峰会的出发点。Testin做测试已经有8年的时间了,我们发现,整个测试行业的交流、分享机会其实不是很多,Testin希望借助这个平台,将学术界知名专家学者、领先企业决策者、高层技术管理者、媒体从业者,以及互联网头部公司探索的一线测试大咖们都邀请过来,一起探讨中国的测试领域到底走到了哪一步,将更好的经验和各位同行一起学习和分享,希望大家都能够在会议中有所收获。今天是Testin办的第二届云测试峰会,未来还会有第三次、第四次,我们会一直办下去,希望能给测试行业做一点小小的贡献。

进入正题,本次大会的主题是AI+未来,我将为大家介绍Testin通过人工智能在自动化测试方面的探索和成果。我就从测试的自动化讲起,干测试的都很清楚,70%到80%的工作都是重复的,都在做同样的测试。从有测试这个事情开始,大家就在想,能不能用自动化的技术把人从重复的、无聊的测试中解放出来。之前,我把业内能找到的比较流行的自动化的框架都找过来,包括基于安卓的,iOS的等等,发现它们的操作界面大同小异,很像一个IDE。所有的自动化框架虽然是自动化的,希望降低整个成本,但测试者还是要去学习编程语言。要测试的应用总在改,这导致自动化的脚本也要跟着改;再一个就是跨应用、跨平台方面的支持,做得都不是很好。

【NCTS峰会回顾】Testin徐琨:AI引领下一代测试,iTestin改写测试未来

在今天,自动化测试实现的特别好的往往是接口部分,其它的就不太好了。我们也一直在做自动化的探索,导致这个问题的根源在哪儿?我们认为,是因为在底层受到了一些限制,都是基于程序本身做自动化框架而受限于语言本身。另外,还受限于程序设计者能够想到的各种场景,机器没有办法思考和学习。但是人不一样,界面无论怎么改,只要人能看得懂,就能操作。

我们在思考,自动化测试再往前走,是不是机器可以像人一样去做测试,而不是像写程序一样做测试?这个问题我们研究了很多年,也尝试了很多次。直到2012年以后,机器学习出现,尤其是2016年以后,通过深度学习,计算机视觉、自然语言处理等,我们发现可以有机会让机器像人一样,看得懂人类的语言,让机器也可以像人一样理解图形。

人类定义了很多图标,比如“后退”,“home键”等等,而机器可以知道图标背后的意思,能知道后退的按钮就是后退的意思。当然,机器还可以像人一样操作各种软件,原来的自动化都可以实现。最有趣的一点就是,如果我们做得好,机器可以像人一样做到持续学习,根据数据去训练它,使它可以学会新的场景,甚至比我们自己,比我们做测试的建的场景更好。

Testin用几年时间把整个人工智能的技术结合到测试上,今天会发布iTestin。它的核心,第一部分是在语言的编写部分,完全是基于自然语言,就是日常生活的点击,登陆,向左划,向右划等等,前端的操作会变得更简单;另外,我们在后台AI的人工智能部分做了大量的工作,认识NLP语言,认识各种图形,比如“点击登陆”“向下滑动”这八个汉字,这也是iTestin自动化工具的两条操作语句。我们针对了两个原则,一个是只要会中文,就可以写自动化脚本,点击登陆,点击下滑,只要会用手机操作基本上就可以理解所有操作的点。

我之前给Testin的市场同学介绍过这个产品,我用半个小时就能教会一个从来不懂程序代码的人完整写完他人生第一个程序。基于手机上的操作,现在基本都可以支持,action,还有一些后台的能力,包括等待,系统按键等等。这些操作其实很依赖背后AI的识别能力,第一块就是OCR。OCR的准确度会直接影响到整个执行,因为本质上是看到界面,我们大部分操作是基于文字的,文字有不同类型的字体,不同样式,还有遮挡等等。我就不讲技术细节了,基本上通过OCR的技术,能够把热点的文字全部筛选,就可以像人一样去操作各种文字按钮,可以读懂整个页面的意思是什么。我们把系统的按键内置到整个AI的后台里面。

图标这部分比较有意思,人类认识很多图标,但是让AI认识图标是蛮困难的事。我们收集了几百万的图标,训练出这个模型,让它能认识通用的,大概不到100种,后面随着数据越来越多,我们还会让机器越来越聪明,计算机视觉可以把图形做更多的识别,以后基于图像可以做很多很多的事情。

我们现场测试一下这个工具到底怎么样。我先简单介绍一下现在的屏幕里面投的是我们放在这里的笔记本,左边是手机的界面,后台会有一台小小的笔记本作为AI的后台。右边是我们整个录制脚本的IDE,现在我当着几百人写程序,而且这个程序是中文的。

我现在打开了QQ音乐,一个多月前周杰伦同学发了一首新歌,先去搜索一下,我会输入“点击搜索”,这个操作机器会去执行。然后,进入到搜索界面,我点击搜索音乐,到输入框,输入“周杰伦”,点击“说好不哭”这首歌。

为了测试这个,我们花了不少钱,因为周杰伦每次都要收3块钱。看到周董的样子,如果向左划动,我们先把歌停下来,给周董发句话,我试着分享到QQ空间。输入“少喝奶茶多写歌”发给他,希望周董可以看到。这是我刚才录过的脚本,现在给大家看一下,如果我要回放的话会是什么效果,它可以变成组合的脚本。现在是机器自己在跑,从刚才点击搜索,它会去输入“周杰伦”,在结果列表里面我们找到周杰伦的这首歌,再次去定位它。

这是我刚才录进来的界面,切到周杰伦的页面,然后再去左滑动,右滑动,等待5秒的原因是基于UI层面去识别的,我们等待整个网络下载页面加载,网络条件比较好的话只需要2秒钟就可以了。我希望周董好好减肥,记住我今天当着几百人的面给他的寄语。

我刚才演示的是单个手机回放的过程,我今天拿了四台手机,如果在多台手机上会是什么效果?左边是单机回放的,一步一步执行,多机回放的时候相当于一个脚本发到后台里面,在四台手机上自动去走,那四个手机就在机柜里面。我今天取了华为、OPPO、小米、vivo的四台手机,还是我刚才写的那个脚本,这四台手机一起在放这首歌。

Testin还有一个全球最大的实验室,这是我们第一次公开实验室情况。有上万款手机,几千款机型,每天都在跑,全球各地不同的APP,上面执行的自动化的脚本就是今天给各位演示的用NLP方式写的。我们大概从2011年到现在,整个Testin平台已经跑了超过2亿次应用。

刚才郭教授讲到整个中国大概有200万APP,Testin从开始到现在,测试过的APP已经超过260万,测试的次数大概是2.3亿次。我刚才演示的是机器像人一样去做测试的过程,除了它在操作的过程之外,其实机器还可以干机器该干的事情,我们是把测试报告做汇总,把产生的CPU、内存,所有数据抓取出来形成一个图表,同时还有各种测试的结果,我们会存留测序的轨迹,所有日志都会截取下来。

在传统的自动化里要实现向下滑动,要写20行代码,使用iTestin工具就写四个汉字 “向下滑动” 就可以了。现在,我要再测试一个脚本,这个脚本跟微信有关。大家刚才在进场的时候,我的同事应该让大家去扫码,不知道大家是不是已经加入了今天测试大会的群,如果还没有,我希望你在10秒钟之内入群。如果你还没有加入这个群,一会儿损失可能会很大。左边打开的是我们的脚本,这个脚本其实非常简单,先点“微信”,然后点“NCTS”,进入到这个界面。我们看一下这个脚本,现场读一下,它会进到这个群里面,然后点更多的功能,点“红包”按钮。金额填写“888”,现场测试真的好紧张。

各位果然是做测试的,已经完全体现出来了。

现场测试结束,回到正题。再次看一下,刚才“向下滑动”对应的代码。我们会发现,原来传统的自动化工具里面存在着一些学习成本高,维护成本高,比如不支持跨平台的问题,我们想通过iTestin这个工具让学习成本降下来,让维护成本也可以降下来,甚至可以支持跨应用。我刚才发布到微信,发布到QQ音乐,就是跨应用的,本质上机器跟人一样在操作这个应用。如果AI变得更加聪明,甚至可以比人做得更快,更好。我们希望通过iTestin让机器像人一样测试。

相关推荐