测试工程师分享之闲谈测试之路(转载于 Rocket_J)

一,测试工程师的历史

测试工程师,软件质量的把关者,工作起点高,发展空间大。我国的软件测试职业还处于一个发展的阶段,所以测试工程师具有较大发展前景。

传统的软件行业还是以软件测试工程师为主,但是在新兴的互联网行业大多还是以QA来命名这个职位,也就是质量保证。

二,测试工程师的来源

由于测试一般是根据产品的需求,从用户角度来验证开发做出来的程序或是产品是否符合需求,要求门槛比较低。。

三,测试工程师的分类

网上或是书上我们会看到很多类似于黑盒测试,白盒测试,灰盒测试等等吧,实际上这些儿只是书面上的分类,真正的公司中完全不是这么回事?在互联网公司中,测试工程师的分类如下:

(1)功能测试工程师

(2)性能测试工程师

(3)安全测试工程师
(4)自动化测试工程师

(5)测试开发工程师

(6)高级测试开发工程师

(7)测试专家

当然,如果按层次来分的话,应该是如下:

第一层:(1)功能测试,按需求检测开发的产品是否符合需求。

第二层:(2)(3)(4),这层的测试人员需要熟悉使用一些儿工具,开源的框架,借助于简单的脚本来完成对被测对象做性能,安全和回归测试工作。

第三层:(5)(6),这层测试工程师需要通过编码,或是对开源的框架,工具进行二次开发,开发测试工具,测试平台等来解决前两层测试人员工作中遇到的问题,提高工作效率。

第四层:(7)测试专家,就是能够发现测试领域问题并解决某个领域的问题的人,同时还需要具有这个领域的系统化的知识体系。这个比较难达到这个级别,需要的掌握的东西还是比较多的。

行情分析:

(一)目前第一层测试人员最多。而且先前加入的人员,已经工作了三四年了,已经达到了瓶颈,业务比较熟悉,技术上没有提升。同时,不断有应届生或是年轻的小伙伴加入,对老人冲击很大,而想换工作的时候,又没有优势,非常麻烦。

(二)第二层的测试人员,貌似很高大上,借助于一些儿常用的工具,开源的框架,来录制脚本,编写自动化测试用例,然后接于到jenkins中实现持续化集成。好牛的感觉哟,其实不是这么回事,不管我们是使用工具还是开源框架,我们都是在使用工具的。一旦工具出了问题,或是消失了,收费了等不可控制的原因吧,我们就失去了优势。而且入手还算比较快的,通常牛人带你,或是参加一个专项的培训班,一两周就能入手。此类人正在慢慢地变多,而且也渐渐地失去了优势。

(三)第三层人现在的需求量比较大,但是相应的人员比较少。因为这类人需要有一定的编码能力,而普通的测试人员具有编码能力的不太多,计算机专业的人员有了编码能力就去做开发了。结果留下了这个真空地带,这个地带的人待遇相当不错,人员少,建议大家往这个方向发展。

(四)第四层人就比较凤毛麟角了,也是我们所有的测试人员努力的方面,我们就不过多介绍了。

四,目前的测试技术介绍

目前自动化测试比较热,我们就先介绍自动化测试,然后再去简单地介绍一下其他的测试。

自动化测试:

(1)WEB UI自动化测试:主流的开源框架是Webdriver2.0,先前还是selenium 1.0,Htmlunit,经过社会上的实践,现在就只剩下Webdriver2.0。而且这个开源的框架支持主流的语言,如python,java,php等,借助于Selenium IDE,Firebug等工具,完成对Web UI的自动化测试。

(2)API或是服务的自动化测试:接口自动化测试主流技术是python的urllib2和requests模块,phpunit也可以用来做接口自动化测试,java在支持接口自动化测试方法有点儿弱,需要做一下二次封装。由于服务出于安全考虑,各大公司都会自己开发相应的服务框架,所以服务的自动化测试则是公司自己开发的框架比较多。如58赶集的SCF服务框架下开发的服务,则需要ATF框架来进行测试,所以就不能列举出服务的自动化测试技术了。

(3)移动自动化测试:移动自动化测试指的是APP UI自动化测试,后端已经由上面的接口和服务自动化来保证了。而APP UI自动化测试主流的框架是Robotium和Appium,因为Robotium只支持java语言,并且只能对Android系统进行测试,所以没有Appium应用的广。Appium支持IOS和Android系统,支持java和python语言,是主流的框架。

性能测试:

性能测试我不太了解,不过目前主流的工具是LoadRunner和Jmeter。利用这些儿工具来根据需求,录制脚本,进行压力测试。还有需要对Jmeter进行二次开发,以完成对自己业务的完美支持。

以后对移动端的性能要求也比较高了,新出的App需要支持各种型号的机器。高端的机器需要支持,低端的机器也同样需要支持。以后移动端的性能,应该算是性能测试的新方向。

测试开发:

测试开发是介于测试和开发之间的工种,测试开发是针对测试的开发,也就是说测试人员是测试开发的产品,他们有任何工作中的需求。测试开发人员需要积极响应,通过开发相应的工具,平台来解决他们遇到的问题。

当然测试开发要求也比较高,上述的开源框架都需要深入了解,java,python,shell,ruby等语言的使用已经不是问题,CSS,jS,HTML等前端的东西也要熟练使用,接口,服务的开发也是常事。在此阶段各种技术应该就不是问题了,你需要的就是解决问题的能力。

这是我在工作中得到的一些儿经验吧!现在功能测试已经饱和,自动化测试人员日渐增多,测试开发需求量变大。一个好的测试人员,要有明确的发展方向,有计划地发展自己,不能跟着需要求走,走高消耗的路线!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值