灌水 测试开发之路 -- 请不要打着人工智能的旗号在测试圈子骗人

孙高飞 · 2017年11月11日 · 最后由 Jane20180716 回复于 2018年07月18日 · 5703 次阅读

前言

最近两年我一直在第四范式工作, 一家主营机器学习平台,提供人工智能服务的公司,非常幸运的是我的工作之一是测试我司的机器学习平台。在测试圈子里,这是一个最接近人工智能真理的岗位了。 所以我学习到了很多机器学习相关的知识 (因为不懂机器学习的话基本上没发测),为了能够有能力测的更深入。 我一直跟着公司的大神和吴恩达先生的视频课程学习。但即便是现在我仍然是机器学习领域中的菜鸟一枚 (请恕我不够努力)。 人工智能是在阿尔法狗一战成名之后在全世界掀起了一股浪潮,但我在那之前就加入了第四范式开始有关机器学习的工作了。这两年我看到了人工智能从无人问津到炙手可热。 相对的测试圈子里也有很多人蠢蠢欲动, 思寒也跟我说要我给大家讲讲人工智能在测试领域的应用吧,但我当时就说我不行,我是菜鸟,在测试领域里怎么有效的使用人工智能我也想不出来。你让我测试人工智能产品还凑合,直接在测试领域里搞人工智能。。。我还没那么天真。而且恕我直言,现在在知乎 live,gitchat 上搞得人工智能在测试领域的应用啦,人工智能时代测试人的去留啦这么主题都是在圈钱的,基本都是看了几天入门课程就跑出来忽悠人的。 虽然我是菜鸟,但我特么的也不是傻子,看一眼标题我就知道是在骗人,我也看不下去他们拿我热爱的事业当幌子,所以今天我来掰扯掰扯这些事。

我对人工智能在测试中应用的看法

目前人工智能在测试领域的应用可以说是凤毛菱角,场景十分的受限。 只能做比较简单的分类场景。 例如照相机软件的美颜,滤镜,插件等功能。 用模型预测是否加了效果。 又或者说十分简单的小游戏,简单到可能像天天酷跑的操作一样只有 1,2 个跳跃的简单操作。 这个场景是可以让模型自动判断要执行的操作。 但即便是这么简单的场景,能解放的人力程度依然是有限的。例如说前者如果我们做测试的时候每次拍的图片都是一样的,我们大可以使用一些图片对比库来做校验,犯不着上人工智能。如果要测试更复杂的场景,例如各种角度和背景的自拍,那么依然少不了人来去拍照。而且模型只能判断是不是加了效果。 但是效果加的如何,仍然要用人的审美观点来判断。 对于后者呢,效果好一些,首先这种自动执行游戏按键的场景是无法验证功能的,只能是运行过程中上监控判断异常和性能, 当然了达到这个目的也是不错的了。 但是为了上人工智能而要做的准备工作很多的。就说数据的收集, 我们都知道数据越多越真实模型效果越好。 但是这个数据从哪来? 现在拥有人工智能服务的大公司哪个不是费尽九牛二虎之力做数据采集。 那么问题来了谁给你测试这边费劲做数据采集系统? 能想象到的就是人工来做, 那么你要收集那么多数据有多少成本? 数据少了模型效果上不去,怎么办? 再一个是数据一定要是稳定的,也就是应用的场景要相对稳定。 如果一次迭代过去了数据来了个大变样,要重新采集数据重新建模。 就现在软件都走敏捷的套路来,维护模型都累死你。 现在公司做人工智能服务,他们用来建模的场景肯定是相对稳定的,数据是不会三天两头就大变样的。用脚趾头想一下,要是围棋规则三天两头变一次,阿尔法狗早就被人类给虐的死死的了。 所以即便我们能找到人工智能在测试领域的应用,也要掂量掂量这个成本和收益的对比是不是我们能接受的了的。

为什么要学习人工智能

人工智能在测试领域的应用在未来肯定是有的,但是现在还太早了。对于不是从事这方面工作岗位的测试人员来说,学习一下了解一下就可以了。 不要把它当做救命稻草,觉得学了就能赶上下一个风口走上人生巅峰了。人类的科技进步是有规律的,一个事情一定是所有人才先不计成本的实现之后, 才开始慢慢的降低成本并扩展到其他领域。 现在优秀的人才都在学术领域或者在各个公司为其创造商业价值。 等他们能腾出手来辐射测试领域那就不知道能等到什么时候了。同时这东西也不是速成的,不要妄想随便培训一下,看一下教程就完事了。随便用 python 里的机器学习库写点程序训练出个模型这太特么简单了,我们公司里能在一小时内学会怎么用这些库训练个简单模型的人一大把一大把的。 但是这又有什么卵用~~,要在实际的业务中应用,不仅要懂原理,还要懂调参,要懂数据统计与处理,要懂业务,要懂很多 (我个人不是建模工程师,恕我不知道到底要懂多少)。那么对于测试人员来说搞机器学习就没用么? 也不是, 功利的讲,对于跳槽到做机器学习平台产品的公司很有用,例如我司,如果你对机器学习的基础比较熟悉的话,我们是相当欢迎的。不可否认的是,现在越来越多的公司在搭建自己的机器学习平台,而且都是大厂。 如果你学的好,对于你跳槽到这些公司来说是很有帮助的。这种产品不是公司随便搭建个模型让测试人员每个版本跑一次对比模型效果就能测试的,这样的测试方法是把机器学习当成一个黑盒子。而这类产品都是涉及到了机器学习整个的生命周期,是要把机器学习的盒子打开测试的,不懂机器学习的话你连 UI 都看不懂,表单都不会填。而现在懂这些的测试人员很少很少,所以如果你学的好,尽快跳吧。

不要打着人工智能的幌子骗人

就不说网上满天飞的骗子了,人家是网红,为了挣钱没底线的。但我们做技术的请有点节操。有 10 几个来面试的候选人跟我说他熟悉机器学习的各种应用,但基本上都过不了我的第一个问题就跪了。曾经有个大厂的 QA 跟我吹牛说自己用深度学习干了什么什么事,然后我就直接问一句,你每一层用的激活函数是什么,激活函数有什么用。他就蒙了,他都不知道激活函数是啥。 甚至有个哥们更离谱,吹了一通牛,我就问了一句什么是监督学习,他都答不上来。 迄今为止,来我这面试说自己会机器学习的 QA,能撑过一个问题的只有一个,撑过两个问题的一个都没有。 大哥们我就是个菜鸟测试,连我这关都过不去,你们怎么好意思说自己懂机器学习的。 现在一有人来面试说自己熟练应用机器学习的我就想 fail 他,都特么成条件反射了。大家都是测试, 这个圈子里大家都在做什么事情,跟机器学习有多少关系我还是知道的。通俗点说就是 -- 都是千年的狐狸,你跟我玩什么聊斋。

总结

不在机器学习相关岗位的同学们,安心做好自己的本职工作,多写代码多实践是正经。不要被现在的这股子忽悠人的风气搞迷茫了。 当然如果你对自己的技术和机器学习理论有自信,请联系我, 第四范式欢迎你。

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

顶上去

支持

"熟练应用机器学习的我就想 fail 他",深有感触。
我以前简历也全是精通,熟练,现在除了主技能是熟练,全是接触过,了解。。。
期待测试行业多一些楼主这样的对技术有敬畏的测试人,少点只会搭所谓框架做技术蜻蜓点水的人。。。
我同样也是个水货。。。o(∩_∩) o 哈哈。
我废话确实挺多的,感觉真正有实力的技术人一般都不喜说太多话。。。

magicyang 回复

简历里面只敢写 “听说过 XX”😂

不在机器学习圈子,总感觉比较神秘

—— 来自 TesterHome 官方 安卓客户端

希望测试门槛越来越高才好吧

孙高飞 人工智能在测试上的应用 中提及了此贴 11月23日 18:43

大家对人工智能了解多少?如果想以后朝这个方向发展,需要具备哪些技术?

Mark,第四范式~

magicyang 回复

确实,刚毕业那会简历居然敢写 “精通 office”,现在想来真是脸红

mark,好好学习,希望有天能来贵司面试。

一直是翻着 csdn,github 写码,测试界敢说精通的不是大神就是莎比。

云翼风希 回复

欢迎欢迎~~

同感,抱着学会人工智能来帮助测试的想法,把吴恩达的课听完了,还学了 tensorflow,强化学习,GANs,发现真帮不上测试什么忙。说得极端一点儿,如果能用在测试上,做产品不更好

第四范式,很想尝试的公司,说的很好赞你,不是看了点皮毛概念就可以吹精通。

"熟练应用机器学习的我就想 fail 他",怎么这么熟悉???
"来面试的只要跟我说他非常熟悉应用自动化测试,我就想 fail 他",为何我会想到这一层???😂 😂 😂

胖虎 回复

因为有很多人的熟悉就是熟悉长矛大刀弓箭嘛,别人都开高达了😆

我觉的 人工智能测试 可以搞测试,不过要看什么样的企业. 给多少投入,定了人工智能测试要到什么目标.

这种企业 100 家 只有 2-3 家可以符合这种规模和体量还有 money 的吧. 说 BAT 搞我信.
我们这种二线 三线小厂 还是业务测试为王, 有点盈利上规模了,才会上些接口自动化 和 UI 自动化 和持续集成.

做到以上两点 业务测试 和 有给配个 2-3 个人 做接口自动化 和 UI 自动化 和持续集成 就已经算测试行业内不错的企业了.

做好以上两点的企业,我觉的 可以搞搞 组合 Fuzzing 模糊测试,这东西 还和以上两点 关系密切些,对组合好用例和精简用例 有很大帮助.

最近 也接触了一些 Fuzzing 模糊测试开源工具,有 google oss-fuzz 的 有微软的 neural fuzzing
和比较有名的 Hypothesis

想问一下,计算机硕士毕业,想转到人工智能测试。需要多久。人工智能测试,是否比其他测试领域更值钱?

高飞,最近想到个问题,真实环境中测试集是否都是只有一次有效的?
对于算法来说,测试的着力点在哪里?
开源一个 SCORE 就能衡量算法能力,测试在算法层面怎么介入?还是说测试主要体现在工程实现方面?

请问,有没有 AI 测试的交流群,最近在测机器学习平台,一头雾水。求大神指教

11111111 回复

不需要多久, 懂一些大数据的知识,懂一些机器学习的知识就行。 不用学很长时间的

magicyang 回复

你可以看看我那篇演讲稿。里面讲了怎么测试

罗小明 回复

还没有这个群~~~ 话说你是哪家公司的同行呢。 目前有机器学习平台的公司没几家也。 咱们可以互相交流

孙高飞 回复

我在广发证券上班,测上海星环的机器学习平台(外购),有点类似验收的味道,但又不是验收。研究了一个月算法了😂 就是想问,这种机器学习平台应该怎么测试(不管是不是验收)

罗小明 回复

机器学习的测试主要分两种,一种是把机器学习当黑盒子测试模型效果。 这个不用太懂机器学习,知道模型常用的评估方法就可以了,属于只要会机器学习中的模型评估部分就可以。 如果要测试机器学习平台, 那就要彻底的懂机器学习。 懂了就知道测什么了

guoweigang 回复

如果只是做码农,了解神经网络,矩阵,激活函数,优化器,迭代方法就 OK 了,然后就是英文要好,不断看 paper,掌握一个框架啥的。

jeffleung 回复

如果你有这技能,估计你也不会用到测试上了吧,哈哈,这东西确实有生产力,用在其它领域现在更容易见钱

我想学习下机器学习,怎么入手?完全小白!

qingtian 回复

网易云课堂中的吴恩达视频

可是简历里面写熟悉,听说过,人根本就不看啊,面试机会都不会给,直接 pass😂

ABEE ycwdaaaa (孙高飞) 在 TesterHome 的发帖整理 中提及了此贴 01月12日 13:47
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册