51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 6992|回复: 31

[原创] 没做过接口测试,敢自称高级测试工程师?

[复制链接]

该用户从未签到

发表于 2017-6-5 14:05:25 | 显示全部楼层 |阅读模式
无论是干了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系统演化,都会朝着微服务、前后端分离、使用中间件、使用第三方服务方向发展,这些服务间的调用、前端对后端的调用全是接口,保证了接口功能没问题,也就保证了系统的绝大部分功能没问题。(如果你对微服务、前后端分离等概念不了解,请自己问度娘)。

如何切入接口测试?
  • 了解接口;
  • 掌握协议,特别是HTTP协议;
  • 掌握WEB原理;
  • 掌握抓包工具的使用,如Wireshark、Tcpdump、Fiddler等;
  • 找一些工具来做接口测试,如Fiddler、SOAPUI、PostMan等。

如何切入接口测试自动化?
接口自动化测试远比UI自动化测试的价值高,因为运行非常快,全量测试花的时间非常短,并且一般而言,接口很少修改,偶尔修改,修改自动化脚本也非常容易。下面是做接口自动化的一些方法或工具:
  • Fiddler、SOAPUI、PostMan等可以做半自动的接口自动化测试;
  • 使用Robot Framework做全自动化的接口自动化测试;
  • 自己用代码做全自动的接口自动化测试,如Java+testNG;
  • 找其他第三方平台做全自动的接口自动化测试。

结语
鸵鸟的幸福,只是一堆沙子。

回复

使用道具 举报

  • TA的每日心情
    奋斗
    2018-2-28 18:04
  • 签到天数: 40 天

    连续签到: 1 天

    [LV.5]测试团长

    发表于 2017-6-7 20:44:56 | 显示全部楼层
    任何一种测试都有局限性,即使掌握了已知的所有测试手段,仍然会有业务方面的挑战在等待着你。


    无需神话具体是哪种测试。多少年前,性能测试,自动化测试,安全测试等等这些都是神坛上受大众膜拜的产物,实际在真正的环境中能用上,能用起来才是真实的。


    在小公司中的历练,如果能将技术现实与自己的经历结合,就已经非常了不起了。。。举个不算好听的例子,一天到晚功能测试都来不及做的时候,是时候需要重新考虑测试的方式方法,但同时,测试是必须优先完成的,即使是个很愚蠢,很笨重的办法,在新的办法没有在现有业务体制下被验证过,则是不能全盘接收的,必须循序渐进。

    不知道楼主具体是怎么考虑接口测试的,也不是很清楚接口测试在实现的时候搭建了何种框架,其中嵌套了哪些工具、自动化方法,是否能与现有业务实际进行结合等。始终觉得,技术也好,工具也好,只是实现目的的手段罢了,无需迷信。
    关于测试人员,动手能力强,又有系统的想法的同志才具备可塑性,在未来才会有更多机会,年龄的影响对其职业生涯才会比较小。

    我的确遇到过没做过接口测试之类涉及技术较深的高级测试工程师,但是人家是业务专家,对当时既定业务的设计及理解上,连当时的项目经理和需求分析人员都只能望其项背。。这个我想可能不是会个一门两门看上去很牛掰的技术就能配得上专家这个名号的。


    ——个人意见,欢迎喷~~

    评分

    参与人数 1测试积点 +10 收起 理由
    lsekfe + 10 赞一个!

    查看全部评分

    回复 支持 2 反对 0

    使用道具 举报

    该用户从未签到

    发表于 2017-6-5 17:01:05 | 显示全部楼层
    尼玛你就是单纯的喜欢妹子而已吧
    回复 支持 1 反对 1

    使用道具 举报

    该用户从未签到

    发表于 2017-12-19 14:14:04 | 显示全部楼层
    谈谈我的看法。
    首先我觉得楼主的意见有些偏颇,其次我觉得比较认同二楼的意见。
    所谓初中高级究竟是如何划分的,显然没有一个明确的标准,一般猎头或HR比较多的是采用工作年限划分的方法,显然不够严谨。文中描述的那个14年的应聘者,年头够了但是由于自身原因,技术可能不深入,反过来后面的应聘者能说工作中接触了一些代码,综合经验就比前者强吗?
    能体会出,楼主是个热衷技术的人,其实我也觉得,作为技术人才,技术能力有不可取代的地位,可是技术绝对不能是压倒一切的因素,如果到了高级或资深,我觉得一定是综合能力。
    所谓综合能力,应该包括:技术能力,业务能力,人际交往,组织协调,问题解决,新技术学习,总结,等等很多因素。
    一次面试,很多内容是问不出来的,尤其是面试与被面试人的气场不在一个热度上,也有很多人,尤其是做技术的人,不善言辞,一时嘴跟不上,很多内容不能清楚的表达出来,比如前者,由于不做接口就被认为不高级,后者因为正好问对了地方,就被认为高级,我觉得片面。
    前面说的综合素质,绝对是多年工作慢慢积累的,这个确实没办法突击。
    说回技术,论坛里老有人问:我是不是该学代码,学哪种语言?其实这样的问题最好的解答就是,不管任何语言,你学就是了。学会了一种语言,无论是自动化还是接口,甚至开发的过程,你都了如指掌,确实能给自己带来帮助。当然根据自身的性格和意志,不学的人也照样能活,但总归说话没有底气。这应该算是对技术的认可。
    业务掌握的好,更直接的表现就是,在做性能测试的时候,全局意识更强,整体方向上把握更准确。
    这些年我坚信,自动化手段,工具的使用,都是给人偷懒准备的,不管使用什么途径,成功的投了懒就是胜利,那再进一步说,如果我开发了一个框架,输入输出都做了完整的定义,使用的时候另一个人按规则填空,功能是测接口,谁说这个工具的使用者就高级了?
    多学点儿东西,怎么都是好的,多念一天书,也更好。
    但是单纯认为会什么不会什么,就是高级不高级的标准,看似理性,其实和用年头划等级的状态没太大区别。工作越久,越应该看综合能力。
    回复 支持 1 反对 0

    使用道具 举报

  • TA的每日心情
    开心
    2017-8-14 12:25
  • 签到天数: 66 天

    连续签到: 1 天

    [LV.6]测试旅长

    发表于 2017-6-5 19:38:46 | 显示全部楼层
    xingyi 发表于 2017-6-5 17:01
    尼玛你就是单纯的喜欢妹子而已吧

    黑盒测试能找到,数据库内存溢出的Bug吗?接口测试能
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-8-14 12:25
  • 签到天数: 66 天

    连续签到: 1 天

    [LV.6]测试旅长

    发表于 2017-6-5 19:39:26 | 显示全部楼层
    强烈建议置顶盒加精
    回复 支持 反对

    使用道具 举报

    该用户从未签到

     楼主| 发表于 2017-6-7 20:50:50 | 显示全部楼层
    xingyi 发表于 2017-6-5 17:01
    尼玛你就是单纯的喜欢妹子而已吧

    人艰不拆,哈哈
    回复 支持 反对

    使用道具 举报

    该用户从未签到

     楼主| 发表于 2017-6-7 20:51:34 | 显示全部楼层
    一抹红尘 发表于 2017-6-5 19:39
    强烈建议置顶盒加精

    谢谢!有感而发!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

     楼主| 发表于 2017-6-9 14:11:42 | 显示全部楼层
    archonwang 发表于 2017-6-7 20:44
    任何一种测试都有局限性,即使掌握了已知的所有测试手段,仍然会有业务方面的挑战在等待着你。

    技术人员的发展,业务+技术才是王道,光有业务,不深入技术,那不是高级测试工程师,那是产品经理或者业务专家。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

     楼主| 发表于 2017-6-9 14:16:01 | 显示全部楼层
    archonwang 发表于 2017-6-7 20:44
    任何一种测试都有局限性,即使掌握了已知的所有测试手段,仍然会有业务方面的挑战在等待着你。

    无论做什么事,围绕目的去进行,选择合适的工具方法去做,这绝对是正确的。

    但是,接口测试是测试得更深入的手段,作为高级测试工程师,这些手段都没用过,个人认为配不上高级称号。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2018-2-28 18:04
  • 签到天数: 40 天

    连续签到: 1 天

    [LV.5]测试团长

    发表于 2017-6-15 16:53:51 | 显示全部楼层
    solochen84 发表于 2017-6-9 14:11
    技术人员的发展,业务+技术才是王道,光有业务,不深入技术,那不是高级测试工程师,那是产品经理或者业 ...

    恩。基于技术出发,必须回到技术。这点上个人是赞同的。
    回到现实,技术必须服务于业务,这点是具体环境决定,所以所谓技术深入与否,一定程度上需要依赖业务对技术要求的定义。
    不敢说一定没有涉及接口技术相关的业务,但是一定有不那么重视接口技术相关的业务。

    我自己觉得,等级阶位的设立,本身就是一个伪命题,还是得看具体环境的。就好像,人人都认可一项技术,但是不会是人人都认可这项技术是必须高等级的人才能掌握的一样。

    测试人员如果能广泛地涉及相关测试技术,不管之前是否有真正实际接触过,对其个人成长都是助益。差异在于所接触到的技术是不是真正能服务于现有的业务需要。

    我个人不是技术至上主义者,追逐最新的技术和更高深的技术领域,可能未必是我的必需项。但是是否能通过一定的技术手段解决现有问题,则是我的必需项。

    确定的来说,我更希望的高级测试人员是能很快很好解决问题的人,他有一定的技术基础,但是在实际解决问题过程中,会遇到现有能力技能不能解决的情况,这样的话,势必是需要从头学起,只不过,依赖于过去的经验和对现有知识的拓展,他可以更快学习并应用到实际中,但一定不是依赖一种具体的技术。

    高级技工和普通技工的差异,在很多程度上不是当前所有技能的差异,也不是年龄上的差异,而是经验、知识等在下一个问题上的应用表现的差异。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

     楼主| 发表于 2017-6-27 11:26:06 | 显示全部楼层
    archonwang 发表于 2017-6-7 20:44
    任何一种测试都有局限性,即使掌握了已知的所有测试手段,仍然会有业务方面的挑战在等待着你。

    没错,那是业务专家,而不是高级测试工程师。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2017-7-24 11:49:01 | 显示全部楼层
    接口测试是最易于实现自动化的,而且首推自动化框架应该是python+unittest,requests这个处理HTTP请求的包非常简单好用,个人感觉还是web ui和移动端的(selenium/appium)反而更难
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-6-2 16:19
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    发表于 2017-7-28 16:52:01 | 显示全部楼层
    梅菜德斯 发表于 2017-7-24 11:49
    接口测试是最易于实现自动化的,而且首推自动化框架应该是python+unittest,requests这个处理HTTP请求的包 ...

    同意。但是ui自动化也并不是难,只是坑比较多而已。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2017-7-31 04:24:06 | 显示全部楼层
    看完后有启发,支持一下!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2017-8-5 11:50:19 | 显示全部楼层
    voicetester 发表于 2017-7-28 16:52
    同意。但是ui自动化也并不是难,只是坑比较多而已。

    同意。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2017-8-7 10:33:12 | 显示全部楼层
    支持这种有营养的帖子
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-3-29 17:56 , Processed in 0.085508 second(s), 25 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表