报名参加CloudWeGo黑客松,奖金直推双丰收! 了解详情
写点什么

谁需要采购自动化测试工具

  • 2018-11-20
  • 本文字数:2142 字

    阅读完需:约 7 分钟

谁需要采购自动化测试工具

去年我尝试给一个挺传统的 IT 组织引入持续集成,谈到自动化测试的时候,对方的测试负责人问我,有什么好的自动化测试工具,他们想采购一套。这个看似寻常的问题,我在过去十五年中遇到太多次,以至于我已经很清楚,这个问题背后隐藏着一个怎样深不见底的坑。


简而言之,只要听到“想采购一套好的自动化测试工具”这个话,我就已经基本上知道,这个组织目前还干不成自动化测试,基本上也干不成持续集成。这个提问一出,我作为一个敏捷倡导者可以聊的话题基本上就终结了。


过去十五年的经历给我留下的这个条件反射,背后的逻辑细想起来是这样的:


首先,为什么一个 IT 组织会想要采购“自动化测试工具”?这个采购是由谁发起、给谁使用的?


一般来说,专门想采购“自动化测试工具”,如果被测的软件不是战斗机驾驶系统之类的冷门软件,而是很主流的比如说 Web 应用,那么 发起这个采购的原因一定是对测试的现状不满。那么,为什么“对软件质量的不满”会映射为“对测试的不满”,基本上,这说明 开发部和测试部是分离的,开发和测试不在一个全功能团队里。并且也只有这种情况下,测试部的领导才会认为可以买一套软件给所有测试使用。


再往下追问,即使需要一个自动化测试工具,这世界上开源的自动化测试工具汗牛充栋,为什么一定要采购一个商业软件?


这时候你就要去看这些商业的自动化测试工具在鼓吹什么卖点了。从录制测试脚本、到拖拽控件组合逻辑、到 AI 自动生成测试脚本,这些昂贵的工具无一例外都在鼓吹一个卖点,叫做“不用写代码”。于是你就知道了,这些工具对测试部领导有吸引力,是因为领导手下的测试人员全都不会写代码。


然而,很不幸,不会写代码的测试人员,不管有没有什么工具帮他生成测试脚本,他也只能从图形界面上模拟最终用户的操作,做界面的自动化测试。而 图形界面的自动化测试,无一例外地存在一些内生的困难:运行慢;流程大量重复;不稳定;难以调试;难以维护。因为有这些内生的困难存在,严重依赖图形界面自动化测试的团队,无一例外,刚开始,录制几个用例,看着界面唰唰的自动翻滚,挺开心,等到用例多了,跑一趟要几个小时,还随机出错,出了错半天找不到问题在哪,页面一改一堆测试失败。不用太久,我的个人经验,一般出不了半个月,这套用例就被废弃了。华为的一些团队执行力特别强,可以坚持三个月,得到一堆特别慢、特别不稳定、特别难维护的用例,浪费特别多的时间和精力。


现实很残酷。自动化测试也是程序。想把程序写好,办法很简单,第一你要让你的团队具备写好程序的能力,起码要会写程序;第二你要给他们一定的空间让他们写好程序。具体到自动化测试,这事情应该怎么做,至迟到 2010 年已有定论:架构好测试金字塔;多写单元测试,少些界面测试;界面测试遵循 BDD;设计好页面模型;随时重构测试代码;随时提取等效低成本测试。但要做到这些事,不仅需要会编程,还得相当会编程。很多组织不想做这些踏实的事,想取巧,想抄捷径,所以他们就想买一套工具解决自动化测试的问题。可惜,无一例外地,他们全都掉坑里了。


一个相当会编程的人,一眼就能看出,录制脚本这事太麻烦了,录制出来的脚本还得各种重构各种整理,还不如一开始把页面模型设计好,代码量少得多。更不要说拖拽控件组合逻辑,那玩意比编程慢太多,还没有 IDE,只有 6 岁小孩学编程的时候才会觉得拖拖拽拽的挺好用。这种工具的出发点就是预设了使用者是外行、是弱智。这些工具预设了这份工作是该外行、弱智来做的,你觉得用这些工具能把这工作做到多好?


真正需要自动化测试的团队,摸索来摸索去,最终总会找到这条正确的道路。比如阿里钉钉的团队,为了快速验证产品占领市场,2014 年的时候开始搞 Scrum,每个月对外发布一个新版本,每个星期发布一个阿里集团内部测试版。回归测试跟不上,怎么办,开发自己写自动化的回归测试。一个与业务目标对齐的全功能团队,必然会走到这条路上。


但讽刺的地方在于,有能力把自动化测试做好的团队,一定也有能力用开源工具组装出适合自己的测试技术栈,毕竟开源工具实在太丰富了。所以他们不需要人来给他们卖自动化测试工具。虽然 ThoughtWorks 有相当不错的自动化测试工具,他们也不会买。没必要,自己组装的功能也大差不差,用得还顺手,犯不着花那冤枉钱。他们可能会说,你们的工具基于什么开源软件做的呀,这几个功能还挺有意思的,要不我自己也做做看,我上次在某某技术大会听过你的演讲,讲得特别好,回头咱们多交流呀。


所以,这个市场上只有一种买家需要自动化测试工具这种商品,就是干不成自动化测试的那种。越是干不成,越是愿意掏着大笔钱买工具,幻想这次能买到“让不会写程序的人写出好程序”的神奇药水。而做这种工具的厂商,也就慢慢地都迎合着这些买家的幻想,炮制出一份又一份“不用写代码就能搞好自动化测试”的江湖打药。最新的江湖打药,据说是掺了 AI 在里面的。


所以,我一个敏捷倡导者,听到这么一个采购需求,还聊啥呢?聊人和交互重于流程和工具么?还是聊聊贵地有啥特色美食?友好地结束这个谈话吧。




作者简介


熊节,宝尊电商成都研发中心总经理,拥有十七年 IT 行业的从业经验,在金融、零售、政府、电信、物流等行业的信息化建设方面有着丰富经验,曾翻译过《重构》、《软件工艺》等多本软件研发领域的重要著作,是中国 IT 业敏捷浪潮的领军人物。


2018-11-20 00:002217

评论 1 条评论

发布
用户头像
你确定了解钉钉团队的测试流程?开发是自己写自动化回归?
2018-11-22 10:19
回复
没有更多了
发现更多内容

跨链技术 2023:拥抱区块链的互操作性

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

LockBit勒索攻击大杀四方,超千家企业被攻击,金融、能源等成重灾区

德迅云安全_初启

喜讯|极狐GitLab 通过信通院汽车软件研发效能成熟度模型能力评估,荣获全面级!

极狐GitLab

移动图形工作站电脑配置攻略

青椒云云电脑

图形工作站

深入探究音视频开源库WebRTC中NetEQ音频抗网络延时与抗丢包的实现机制 | 主赛道

哪些关键供应链指标的数据集成可以提高智能商品系统决策支持效果

第七在线

JNPF开发平台--初体验

互联网工科生

低代码 JNPF

海外营销推广难?看看这款外贸人强推的海外云手机!

Ogcloud

跨境电商 外贸

2024通义语音AI技术图景,大模型引领AI再进化

阿里技术

通义千问

Java-springboot整合activiti实际项目案例(源代码)

金陵老街

ERP与智能商品系统在供应链管理上有哪些区别和优势?

第七在线

SD-WAN:解决Office 365卡顿问题的新途径

Ogcloud

网络 组网

企业云桌面解决方案

青椒云云电脑

云桌面 云桌面解决方案

一文讲透基于感知超分模型的实时视频抗弱网技术

中关村科金

人工智能 音视频

TiDB故障处理之让人迷惑的Region is Unavailable

不在线第一只蜗牛

数据库 架构 TiDB 集群库

移动图形工作站有哪些价格实惠的推荐?

青椒云云电脑

图形工作站

开发人员都在用的数据可视化工具

2D3D前端可视化开发

大数据 数据分析 数据可视化 数据可视化工具 可视化图表

【第七在线】为什么智能商品管理是对传统商品管理模式的颠覆?

第七在线

谁需要采购自动化测试工具_软件工程_熊节_InfoQ精选文章