无论是干了1-3年的雏,还是干了5-8年的老鸟,抑或是干了10年以上的、掉了毛再也不长毛的骨灰鸟,如果没做过接口测试,能算是高级测试工程师吗? 我的答案:不算。 故事一某天,面试遇到一个工作了14年的大哥,来自于TCL。浅色衬衣,深色裤子,身材微胖,形象气质比较好,。他来我们公司应聘我感到很惊讶,当然我没有透露出来这种惊讶。所有面试的开始都平淡无奇,从自我介绍开始。他介绍了工作经历,油盐酱醋茶,甚是丰富。做过手机的硬件测试、ROM测试、APP测试、WEB测试。 “您为什么选择从TCL出来?” “两方面原因:一是因为TCL在缩减人员,华为34岁的传闻,我们也有,你懂的;二是因为自己年龄也不小了,现在是互联网的世界,是时候跳出舒适区,感受一下互联网的水温了”。目光很坦诚。 “您觉得您来应聘这个职位的优势和劣势各是什么?” 他顿了一下,“都是年龄”。 我点点头,深切理解这句话的含义。刚开始工作时,恨不得往自己的简历中塞进去几年。而现在,刚好相反,恨不得在自己的工作履历中删掉几年。 “您做过接口测试吗?” “没有”,不假思索。 “那做过协议级的测试吗?” “也没有”。 “您的测试过程中,有了解被测功能的实现原理吗?” “嗯,偶尔”。 “非常抱歉,当前您不太适合我们公司”。 然后,我礼貌地送他离开。我想起我的老大QQ签名上的一句话:有的人25岁时就死了,但是要75岁才被埋葬。这么多年的工作经验,只是做最简单的纯黑盒测试,只是长了工作经验,这蜗牛一般的成长速度,如何应对这个连摩尔定律都失效了的、飞速变化的时代? 我上了趟洗手间,照了一下自己(不是用尿,是用洗手台的镜子),我的迭代速度跟上时代洪流了吗?我擦,心底打了一个寒颤。 故事二另外一次面试,碰到一个小姑娘,工作两年。其貌不扬,但朝气蓬勃。只在创业公司做过手机APP测试,但却掌握HTTP协议,出现问题自己会抓消息分析问题发生的原因。由于手机APP的服务端经常迭代更新,每次服务端更新后,她都要测试APP的功能,看是否受到了影响。她找到postman这个工具,把APP使用到的服务器接口都保存起来,每次服务端更新后,她都只用postman把所有接口跑一遍,大大节省了测试时间。 “你可以有更好的解决方案”,我提示她。 “我知道,用自动化做,我正在自学Java,想办法把这些用Java来做”。 我们继续聊了一些其他东西后,我找了我们CEO跟她聊聊(公司招的每一个人,CEO都要亲自面试)。CEO聊完后问我的意见。 我说:虽然工作时间不长,但是人非常nice。 CEO说:确实不错,可是她期望的是高级的薪水。 我说:我仍然想招她。 CEO说:在她要求的薪水上,再给她加1K,我愿意为她的未来买单。 为什么接口测试很重要?做过接口测试,说明你从黑盒测试转向了灰盒测试。 通过接口测试,你能发现很多通过黑盒测试发现不了的bug。 多做接口测试,你知道系统的接口设计中有哪些问题,有哪些潜在的坑,在后续的版本更新中可以让团队避免踩坑。 未来的WEB系统演化,都会朝着微服务、前后端分离、使用中间件、使用第三方服务方向发展,这些服务间的调用、前端对后端的调用全是接口,保证了接口功能没问题,也就保证了系统的绝大部分功能没问题。(如果你对微服务、前后端分离等概念不了解,请自己问度娘)。
如何切入接口测试?如何切入接口测试自动化?接口自动化测试远比UI自动化测试的价值高,因为运行非常快,全量测试花的时间非常短,并且一般而言,接口很少修改,偶尔修改,修改自动化脚本也非常容易。下面是做接口自动化的一些方法或工具: Fiddler、SOAPUI、PostMan等可以做半自动的接口自动化测试; 使用Robot Framework做全自动化的接口自动化测试; 自己用代码做全自动的接口自动化测试,如Java+testNG; 找其他第三方平台做全自动的接口自动化测试。
结语鸵鸟的幸福,只是一堆沙子。
|