
刚接到这个任务的时候,我心里是直犯嘀咕的。老板丢给我一个电商项目,不大不小,但要求特别高,每天都要提测。老板那人抠得很,觉得请人写自动化代码是浪费钱,就叫我们几个新人用...
刚接到这个任务的时候,我心里是直犯嘀咕的。老板丢给我一个电商项目,不大不小,但要求特别高,每天都要提测。老板那人抠得很,觉得请人写自动化代码是浪费钱,就叫我们几个新人用手点,能点多快点多快。他说:“自动化测试?那得花多少时间写代码?写完环境配置得多久?第一次跑说不定比手动还慢,浪费人力!”
我听了心里火大,倒不是因为他说得不对,而是因为我刚从上一个项目里逃出来。那项目就是纯手动测试,每天晚上都要重复跑一百多次核心流程。大家都是人肉复读机,点得眼冒金星。有一次连着三天上线,我每天都只睡了四个小时,直接在工位上吐了。所以我当时就发誓,只要是重复性的活儿,能不手动的,我绝对不会手动去点第二次。
为了证明自动化到底值不值,我就跟老板说,给我三天时间,让我跑一次效率对比。他同意了,但条件是必须保证每天的提测进度。我把心一横,决定从头到尾记录下来,看看这“效率”到底是怎么个算法。
我们锁定了五个核心业务流程:
第一步:跑手动测试(我的基准线)

我拿了个秒表,坐下来老老实实地开始点。从我打开浏览器到看到“订单详情”页面,我全程高度集中。中间没有一点分神。结果出来,这五个流程一次跑完,耗时四十分钟整。这还是在流程很熟悉,没有遇到阻塞和突发情况下的最快速度。
第二步:写自动化脚本(痛苦的投入期)
我开始折腾环境,安装工具,然后一行一行地写代码。写注册登录脚本时,我花了好长时间找那个“验证码”的输入框在哪,光是定位页面上的元素就花了不少时间。中间还遇到一次弹窗遮挡,脚本跑飞了,我得停下来调试。这八股文一样的流程,我花了整整一个白天,从早上九点到下午五点半,中间没怎么休息,才把这五个核心流程的代码全部写完并跑通。

总投入时间:八个半小时。老板看到了,撇了撇嘴,说:“看,手动都跑了十几轮了,你代码才写”
第三步:跑自动化测试(效率的爆发点)
我没吭声,只是默默地点下了运行按钮。代码开始执行,鼠标像得了神经病一样在屏幕上飞快地移动、输入、点击、跳转。我的脚本跑完五个流程,生成报告,总共耗时五分钟。
第一次对比:手动花了40分钟,自动化总投入8小时30分钟,运行仅需5分钟。
如果项目只有这一次测试,那我确实输了,白白浪费了八小时。但这怎么可能?软件开发哪有只测一次的?
接下来的五天,开发团队不断在代码里修BUG,每天都有新版本需要重新测试。我继续记录时间:
等到了第六天,自动化节省下来的时间,就已经彻底追平了前期投入的八个半小时!
再往后,每跑一次,自动化就等于帮我省下了35分钟的生命。而且机器永远不会累,不会遗漏细节,不会像我当时在旧项目里一样,一气之下就少点了一个关键按钮。效率高的不是第一次运行,是第十次,第一百次!
所以说,你问我手动UI测试和自动化测试哪个效率高?答案是:一开始手动高,但只要项目不是一锤子买卖,马上,绝对是自动化碾压手动。你付出的前期代码和环境配置的代价,会在往后的每一次重复运行中,百倍千倍地回馈给你。你节省的不仅是时间,更是你宝贵的精神头和不用熬夜的健康。这就是我实打实跑了六天,得出来的
老板再也不说自动化是浪费钱了,他开始催着我把能自动化的流程全部实现。早知今日,何必当初!