智能测试开发 什么?70 位顶尖测试工程师被 AI 击败

泰斯特 · 2019年12月16日 · 最后由 恒温 回复于 2019年12月23日 · 885 次阅读

原文作者:Jason Arbon, CEO at test.ai
译者:泰斯特

原文地址:https://www.test.ai/blog/ai-beat-70-testers-and-you/

前言

AI 已经可以在国际象棋、围棋、智力问答以及各种竞技游戏中击败人类,最近我发现 AI 甚至可以在测试工程师最擅长的领域 - 软件测试 中击败人类。我花了非常多的时间和精力去研究如何让机器使用神经网络、聚类、或者强化学习技术去执行测试用例,这是一项非常繁重的工作。不过从某种程度上这也是相对重复的工作。既然 AI 已经可以在城市中驾驶汽车和玩网络游戏,AI 也应该可以帮助我们执行那么一两个测试用例。

正文

测试工程师的饭碗能否保住?

不断地有测试人员问我他们的饭碗是否还保得住,而我通常会给予肯定的回答。为什么呢,有如下 3 点原因。
实际的测试用例还是需要测试人员编写,AI 只是帮助我们去执行用例。

当我被问到这些问题时,我周围通常站了 50 - 1000 个测试工程师,我怕被打死。

在很长一段时间内,部分领域的测试是无法用机器代替人类去衡量的,特别是对软件定性的质量评估。

什么是定性的质量评估:这个软件有多好用?这个软件看起来怎么样?这个承载服务的界面可以让用户有依赖感吗?就算是我们专业的测试人员,包括我,有时候也会对某些质量评估标准感到困惑,所以如果我们去专精这些领域,我们的饭碗当然是可以保住的。

来一次人机对战

我曾共同举办了一场专门为测试人员开设的教学课程,教学的内容是 AI 和机器学习。当时教室里一共有 70 位学员,这些学员可不是刚刚入门测试的菜鸟,他们都是专业的测试工程师,否则他们公司也不会支付昂贵的费用派他们来我这里接受为期一周的培训。而且这些测试人员也是有相当的自信才会来这里学习 AI 和机器学习,他们都是非常棒的测试工程师。
我当时在课堂上问了他们一个定性的测试问题(现在我也在问你):
如果你正在查看一个登录页面,那么如何确定登录页面是否可信?你如何评价页面的可信度?
可以先头脑风暴一波……

花点时间看一看上面的例子,你有什么想法了吗?

测试专家们的挑战结果

当时教室内的其他 70 个人也在思考这个问题,没有人马上举手给出答案,房间内不停地传出一阵阵思索的声音。照顾到大家从零开始思考并不是一件容易的事,我说我本来也不知道如何作答,并鼓励大家继续思考。在 70 名顶尖测试工程师集体思考了三分多钟后,我们终于迎来了第一位志愿者。前排的一位测试媛大胆地说出了她的想法:“外语”。如果登录页面的应用上架于美国应用商店但其中包含了一些非英文的单词,用户就会不太明白这个页面到底想告诉他们什么,那么该页面就不太会被用户所信任。

过了一阵子,终于有另一个人举手了,这位举手的勇士表示如果登录页面上存在一些比较著名的商标或企业名称,那么这个页面可能更被用户所信任。如果用户发现登录页上存在谷歌或者微软的商标,那么比起其他的页面,这个页面将更有可能被用户所信赖。如果这个页面上的商标用户连听都没听说过,那么这个页面将不那么可信。

在本次头脑风暴上,我们大概消耗了 70 * 5 分钟的人类计算耗时。这差不多是测试行业最顶尖人才 6 小时的脑力。但目前为止,我们并没有得出一种有效的方法去给登录页面的信赖度打分,我们仅仅讨论出可能会对信赖度产生影响的 2 个关键点。

AI 的挑战结果

好的,我们人类已经在这道题上超时。因为随着时间的推移,我们只会变得越来越举棋不定、没有耐心、觉得无聊。那么 AI 在这道题上的表现究竟如何呢?之前,在 test.ai 的总部,我们的一些非技术人员简单地查看了大量的登录页面并且给每个页面都进行了信任度打分(1 ~ 10)。然后我们使用这些数据训练了一个简单的神经网络。所以 AI 到底是如何解题的?我们分析了神经网络的所有权重,发现 AI 对这个问题的回答是这样的。

  • 外国字符 — 如果登录页面中包含外国的字符或单词,则可信任度较低。
  • 品牌识别 — 如果登录页面具有著名的 / 可识别的品牌形象,则更值得信赖。
  • 元素数量 — 如果页面中包含更多元素,则可信任度就会降低。页面上的元素越少,则越值得信赖。

机器击败了人类!AI 不仅发现了与可信度相关的新度量维度(元素数量),而且 AI 还给出了登录页面的可信度(不可信)精确评分,范围为 1 到 10。

有趣的是,受过训练的 AI 比任何一个参与了数据标注的人都要聪明。神经网络有效地学习了所有进行标注数据的人的智慧。举个例子,如果有人精通中文或者对中国软件比较熟悉,那么他们不会将这当作是导致页面不可信的因素, AI 比任何一个人都要聪明。

并且, AI 比人类更加可靠。回想一下,我们刚才问了 70 位顶尖测试工程师这个问题。以这作为样本来看,一家公司仅仅只有 2 / 70(2.8%)的概率有能力识别出这些问题。况且没有一个人成功地找出一个以上的可信度度量维度, 而 AI 找出了 3 个。

更加重要的是, AI 反应了 “真实” 用户是如何看待可信度的。测试人员仅仅只能模拟用户的角度去进行测试,但他们始终不是真实的用户。真实的用户去进行定性质量评估将会比一个测试人员充当逆向工程师去猜测要好得多。

AI 的价格也要便宜得多,可用于所有的技术团队,并且 AI 比人类更快。经过训练的 AI 大约仅需 200 毫秒 去衡量可信度。

AI 也可以教我们

这一天,人工智能在最棘手的测试问题 - 定性质量评估中击败了 70 个测试工程师(甚至可能也击败了你)。因为人们普遍认为 AI 很难复制他们工作中的某些特殊技能,所以大家通常会忽略 AI 的进步。但现实是,在许多专业领域(包括软件开发和测试)中,人工智能通常可以比人类做得更好。如果测试工程师无法面对 AI 在某些测试方面可能比他们做的更好这一令人不安的事实,那么他们将很快会转行。

人工智能在软件测试(最困难的任务)中击败人类,是非常令人感到兴奋的。但经过了一段时间的思考过后,这也是 AI 第一次教会我(和你!)关于测试和质量方面的知识。我们现在都知道,如果登录页面上有更多元素,复选框,文本,图标等,则用户可能会对该页面不那么信任。但其实几分钟前你还不知道这一事实。如果我们不仔细查看 AI 的大脑究竟是如何运作的,我不确定今天是否有人会知道这一事实。人类现在正在向 AI 学习,从长远来看,这可能比 AI 在软件测试中击败我们更为重要。

觉得这篇文章不错的话,欢迎关注我的专栏以及同名公众号「智能测试开发」

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 29 条回复 时间 点赞

test.ai 真这么厉害?

恒温 回复

如果大厂有现有的框架,拖拖拽拽就能搭个网络出来,引流成本低是可以玩玩。
如果是小厂,引流,算法上线都是很高的成本。算法本身就是误解和偏见。
没看前段时间印度的所谓 AI 编程,背后基本都是人力。AI 方便吹牛,能搞来投资,特定场景还行,一旦跨域问题多多。

恒温 回复

哈哈不知道,我只是知识的搬运工。😏

译文的话麻烦贴一下原文地址呗~?

有道理,已加。

房间内不停地传出一阵阵思索的声音

卧槽,这个厉害了,感觉自己要彻底挂掉了,70 位脑子厉害到这种程度的人都干不过所谓的 AI😂

标题党啊。。。人类计算能力早就被计算机击败了。现在只是把计算机换成了 AI

可信度 这个怎么理解呢?

一直在关注这个公司,也经常 youtube 上看他讲他们的产品,至今没有找到在线的产品,感觉这个产品应该是 2B 型的,可以覆盖一些固定的业务产品;总体感觉这个业务无法做成一个 2C 的。

射射发抖,想的到的大概率能做的到

如果你正在查看一个登录页面,那么如何确定登录页面是否可信?你如何评价页面的可信度?

这个问题有点儿过于主观了,感觉跟测试工程师的日常工作还不太相符……

机器人怎么训练呢

槽神 回复

只能说某种方面,某些程度上,AI 可以发挥的更好

Ouroboros 回复

好吧,抱歉让你觉得是标题党了

simple 回复

可能我翻译不太好,其实就是说你觉得这个页面可不可信。打个比方,你看到一个陌生的新牌子和一个质量好的老牌子你会更倾向于选择老牌子。

JamesChung 回复

我下一步可能去试试他们的产品,看来事情没有那么简单

退之 回复

兄弟稳住不要慌

可能国外会注重这些,国内不太关注这些测试问题,再或者,只有这个层面上 AI 做出了成绩所以我们才能看到这篇文章 哈哈哈哈哈哈

Ai 有点让人恐慌,估计以后也就只有艺术类工作需要人类了!

会飞的猪 回复

这个具体怎么练当然是他们的商业秘密了哈哈

标题党

泰斯特 回复

嗯,我的意思是,这个实验,我觉得只能说明在分析用户的主观意识上,比人强。这种场景的话其实更适用于指导产品优化产品设计或者方向,不能用来说明 ai 能代替 qa~
不过 ai 总结出的那些点,确实是我们平时关注比较少的

泰斯特 回复

欢迎再次分享啊

😂 再强的机器学习,现在都是建立在大量的数据基础上,现在小公司根本玩不动啊

EasilyTest 回复

只要找到出路,只是不断降低成本的过程,最怕的是这条路是错的。

什么?界面可信度为啥要找 70 位测试去打分?这不是产品经理和 UI 要做的事情么

所以为什么我们不直接看 URL 呢

被中二装逼文风吹到窒息了

作者只是翻译。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册