最近加入了新的团队,角色发生较大的转变,在这里分享一下自己的感受。
测试的划分
如果我们把产品的生产看成一个流水线的话,那么测试就是流水线上的一个重要岗位,把控着产品的质量。
当然,产品类型的不同,测试人员的能力不同,可做的事情也会有很大不同,比如是Web产品,那么我们会去做性能测试和Web UI自动化测试;比如是App产品,那么我们会去做专项测试和APP UI自动化测试,再比如是后端接口平台,那么我们会去做接口自动化测试。再比如游戏产品,测试方法和手段又不一样了。
在此过程中,如果你是一名新手,只能测试UI功能,那么定位为测试工程师;如果你可负责一些复杂业务的测试,并且可以做一些自动化工作,那么定位为中级测试工程师;如果你有丰富的测试经验,综合的测试技术,以及深入到产品内部去做类白盒的测试能力,那么定位为高级测试工程师。(注:这里只是一般的划分,不代表任何公司)
高级测试
接下来聊一聊我做高级测试时的工作。
以我负责的接口平台为例,当开发完成接口开发后,我通过阅读接口代码逻辑的方式进行接口自动化用例的编写,过程中发的代码问题,反馈由开发修改;当我的用例编写完成,那么接口测试也基本搞定。当有新的接口更新时,我就可以重跑接口自动化用例来确保接口的质量,每次只需要对更新的接口编写测试用例。
由于接口先测试,当产品提供可测界面时,问题就少很多了,只是界面样式和兼容性问题。整体上会在缩短整个测试时间。
当然,产品测试过程中还会有一些零散的测试需求,可以快速的选取测试工具或编写测试脚本的方式来完成工作。
这是一般高级测试工程师应该具备的能力。
测试开发
接下来谈一谈测试开发,以及它在项目中的定位。
以我目前所属的团队为例,初创阶段可能是没有测试人员的,随着产品的发展,为了提升产品的质量,另一方面也为了节约人力成本,所以会招一些功能测试人员承担产品的测试工作。开发人员完成功能开发后,由测试人员进行测试。
当公司进一步发展之后,为了优化团队,提升效率,单纯的功能测试人员就会成为短板,但为了保持团队的运行,不可能把功能测试人员全部替换为高级测试。另一方面功能测试也需要伴随公司成长。另一种办法就是引入测试开发团队。当然,大公司的测试开发与高级测试是并存的,测试开发只负责工具与平台的开发。
(注: 这里不讨论个体的情况,比如有一位能力很强的测试/Leader推动测试团队转型)
测试开发不直接参于产品的测试工作。这其实也是与高级测试最大的不同之处。简单将测试开发工作总结为以下几个方面。
协助开发编写单元测试(并不是所有开发都一定会写单元测试),规范开发输出(比如输出一定标准接口文档)。
帮助功能测试人员提升技术能力,能够独立完成自动化测试工作。
开发测试平台:比如,性能测试平台,帮助开发测试进行性能测试。开发接口测试平台,管理与维护接口平台,开发自动化测试平台,方便管理与维护自动化测试。
挖掘测试需求,通过技术手段帮助测试团队提升测试效率。
总结下来,就是测试的经验,开发的能力,干着服务于开发与测试的工作。
最后,测试开发并不是高级测试的下一阶段,只职责不同而已。以上仅个人看法!
欢迎关注:测试圈TC 公众号
~~~~~~~~~~~~~
各位抱歉!测试混了这么多年,依然在一线,没能给后来者带好头,对不起!评论我看了,这里简单讲讲自己的看法。测试并不像一些人想的那么低, 说比开发工资低一半的,说90%受鄙视的,这个我是不认同的。
说说我的看法:
1、平均工资,测试岗位确实比开发岗位低,平均比开发岗位低的岗位多了,运维,产品,HR,财务,人事,前台,这些人都是low逼?这些人都没发展?都应该去做开发还是应该去转行?
2、测试随着经验和技术的积累,并不比开发低一半。看个体发展。比开发工资高的测试多了去吧。其他职位也一样!
3、开发一样有瓶颈,至少我碰到的一些开发同事也遇到了技术瓶颈。技术上很难更深入,管理上又不足。
4、我以前的团队,产品经理都会写代码,为什么会被鄙视?我(测试)是直接反馈代码bug,为什么会被鄙视? 新来的开发写的代码一塌糊涂,还不一样被我(心里)鄙视!能力不行嘛,跟职业有什么关系?
某某测试被某某开发看不起了,所以,90%的测试都被开发看不起了? 是这么个因果关系么?