首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >测试人员职业发展

测试人员职业发展

作者头像
张树臣
发布于 2018-05-15 08:22:30
发布于 2018-05-15 08:22:30
9120
举报

在我们开始尝试为大家描述软件测试工作的多种可能性之前,先来看看在现在所知最近代的开发模式中,测试人员还会继续存在吗?因为如果连测试工作本身都不存在了,我们也没必要进行后续的讨论了。

很多做测试的朋友问过这样一个问题:“现在敏捷开发模式中,自动化测试那么流行,而且连开发人员都开始做测试了,是不是以后就没有测试人员了?”

其实我在这里可以肯定的告诉大家现实并不是这样的。

首先我们需要讨论的是分工的问题。人类的工业化生产最初也是不分工的,但随着生产技术的复杂度提升,以及对于生产效率的更高要求,产生了分工;同样对于软件开发来说也是一样,最开始并没有测试人员和需求分析人员,而都是开发人员。也是随着软件项目的复杂度以及要求的提高,慢慢产生了工作种类的区别,由此产生了专门做测试的人员,也就是测试人员。由此看来,并不是有了测试人员这样一个职位,才诞生了相应的工作和职责,而恰恰相反;那如果想取消这个职位,但是相应的工作和职责并没有消除,在我看来无非就是把这个职位换一个名称,或者是和别的职位的工作与职责重新排列组合而已。

其次我们需要明确什么是测试的核心,是自动化测试,还是测试报告,亦或是探索性测试呢?其实都不准确,我认为测试用例设计才是软件测试的灵魂。没有恰如其分的测试用例设计,软件测试很容易误入歧途:导致没有目标的盲目测试,不考虑投入产出比的自动化测试,不从全局优化的、割裂的单元测试集成测试系统测试等。测试用例设计也是需要熟练运用测试用例设计方法,并且结合测试人员的经验和智慧才能设计出来的,这同样是测试人员不同于软件开发团队中其他角色,需要不断积累的关键一点。如果说在敏捷开发模式中,开发人员可以完成单元测试和自动化测试,业务分析人员也可以进行探索性测试的话,测试人员唯一不能被取代的就是测试用例的设计。如果说描述得更全面一些,即使要让别的角色替代测试人员,至少他们也需要具备测试用例设计的能力,而这种能力需要长时间的锻炼和运用才能具备。

最后,虽然测试工作并不会消失,但是测试人员也需要进化,需要跟随新的软件开发模式,不断学习,不断进步,保持自己的必要性和特殊性。举例来说,在敏捷开发模式中,测试人员不仅仅是根据需求编写测试计划和用例,并且手动执行,给出测试报告就好了。而是需要测试前移,在需求分析阶段尽可能地发现和预防问题,在开发过程中避免问题的产生,并且通过问题分析指导开发方向和改进措施;同时需要测试范围扩大,不仅需要覆盖软件开发阶段,还需要覆盖产品上线部署以及运维的相关活动,甚至是通过分析用户反馈来提高产品质量。可以看出敏捷中测试人员的任务和职责更多了,这就需要我们更加发挥自己的聪明才智,更高效地分析和解决问题,更快速地学习各项技能,同时注重各项实践的运用。

既然测试工作并不会消失,而且敏捷开发模式带给我们新的机遇和挑战,那对于测试人员来说,职业发展的方向又有哪些呢?

首先我们需要明确想通过测试作为跳板,去做开发类和管理类等工作不在我们的探讨范围内。很多测试人员其实在选择软件测试作为职业的时候,其实更优先选择的是软件开发的职位,只是可能由于种种原因而与开发职位失之交臂,只好选择了软件测试作为自己的职业。一旦有了合适的机会,他们会选择成为开发人员,这样的职业发展不在我们的讨论之列。另一类测试人员对于软件测试其实没有热情,有且仅仅把软件测试作为养家糊口的工作,希望通过工作年限的增长增加自己的薪水,更多希望工作时间短,不用加班,这样可以保证更好的家庭生活。选择这种工作和生活方式是个人自由,但是也不是我们想进行讨论的。还有一类测试人员,希望通过短期的软件测试工作中突出表现,得到管理者的赏识,从而进入管理层,这样的职业发展也不是我们讨论的。

其次我们现在所知道的最近代也是最流行,甚至可以说最先进的软件开发模式是敏捷开发模式,所以我们对于测试人员的职业技能发展也是基于敏捷开发模式来分析的,如果有更新的开发模式出现,这些分析和定义也许会失效。

在知悉这两点之后,那我们认为对于测试人员来说,在保证测试人员的独特性,也就是做好测试用例设计的基础上,职业发展大致可以分为以下几类方向(如图B-1):

图B-1 测试人员职业发展方向

  • 1)偏向于需求方面的测试人员。我们说过在敏捷开发模式中,测试前移,测试人员会更多地接触需求分析,从需求分析阶段尽可能地发现和预防问题。在这一方面现在已经有行为驱动开发和实例化需求等方法协助测试人员深入需求分析阶段并扩大自己的影响力,与此同时测试人员也需要更深入了解产品所在的行业以及业务知识,成为业务专家,才能使得测试分析更有洞见。
  • 2)偏向于开发辅助的测试人员。在敏捷开发模式中,开发人员不仅需要编写单元测试的代码,有可能还需要编写自动化测试代码,所以为开发人员提供好的工具,使他们能更快速、更准确、更全面地添加和执行测试也是测试人员可以发展的方向之一。
  • 3)偏向于自动化测试的测试人员。正如上一条所说,开发人员有可能编写自动化测试,同时测试人员也是可以自己进行编写的。而且对于自动化测试,测试人员不仅需要分析项目的架构和技术栈,选择最适合项目的自动化测试框架和编程语言,还需要从头开始搭建自动化测试框架,并完善相关的自动化测试配套内容,诸如测试数据管理、测试并发执行、测试方法封装、测试脚本的设计等内容。
  • 4)偏向于运维的测试人员。测试不仅需要前移到需求分析阶段,还需要覆盖产品交付和线上监控及分析,以便快速发现问题和指导下一阶段的开发。这就需要我们要了解更多和环境以及监控相关的技术以及工具,例如亚马逊AWS,New Relic,Splunk和PagerDuty等。我们不仅需要熟练使用这些技术和工具,更重要的是分析从这些技术和工具得到的数据,形成有意义和目的的协助开发团队提高的行动计划。
  • 5)偏向于专项测试能力的测试人员。测试人员不仅需要在知识的广度得到发展,还需要深入特定的技术,称为某项技术的测试专家,例如前端测试、数据库测试、性能测试、安全性测试和可用性测试等等。这样测试人员就不局限于某个特定的项目,而是变成了可以跨越项目的具备特定测试技术的技术专家。
  • 6)偏向于测试咨询的测试人员。测试人员通过在敏捷开发模式中测试深入开发的整个流程和细节,在具备了丰富的项目经验和技术能力后,可以输出对于软件测试甚至整个开发过程的总结及认识,帮助更多的团队解决当前的问题,提高团队测试技术能力和意识,进一步优化产品的质量。这也是测试人员实现更大的自我价值的一种途径。
  • 7)偏向于测试能力建设的测试人员。在上一条发展路径的基础上,测试人员还可以进一步升华成为使开发团队具备或者提高测试能力,进行测试转型,甚至团队转型的关键性指导人物。而且通常这种测试人员会同时负责多个团队,而且人数一般很少。

也许你认为前几种测试人员相对来说更偏向于技术,容易在团队内实现,而后几种更像是给广大的测试人员画饼,并不一定能实现,只是描述一个可能性而已。其实这几种测试人员的发展之路是根据我们实践的测试人员的规划得出的,也就是说我们是有真实的人物发展作为依据的。所以当大家被自己工作中的现实所打击到的时候,不要动摇我们可以做更好更强大的测试人员的决心和目标,而是更努力的向那个方向努力。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-08-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 软件测试经验与教训 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
测试人员在质量和效能领域发展的关键要素
做了4年多测试,不知道现在的工作和自己在工作3年时有什么不同,也不知道即将到来的第5年测试生涯会有什么变化。身边的同事一个接一个转行了。——这个问题越来越具备普遍性。
周辰晨
2022/09/20
1.5K0
测试人员在质量和效能领域发展的关键要素
浅析敏捷测试及其实践运用
顾翔老师开发的bugreport2script开源了,希望大家多提建议。文件在https://github.com/xianggu625/bug2testscript,
顾翔
2019/12/12
4790
浅析敏捷测试及其实践运用
敏捷软件测试常见的七个误区
敏捷软件开发是从1990年代开始逐渐引起广泛关注的一种新型软件开发方法,是能够应对快速变化的需求的一种软件开发能力,它作为一种新型的开发模式,被越来越多地应用到软件项目中。 敏捷软件测试指的是在敏捷软件开发过程中跟质量相关的一系列活动,和传统意义上的软件测试有很多区别,因为敏捷软件测试的概念一直比较模糊,所以经常会有人走入误区,我曾经在瀑布型的软件开发模式下做过几年的测试人员,所以在刚刚接触敏捷项目的时候也曾有过一些误解,但是在敏捷软件开发团队工作将近5年后,对很多问题有了新的认识,以下针对几个常见的误区和
ThoughtWorks
2018/04/20
7290
敏捷软件测试常见的七个误区
软件测试工程师从入门到进阶一(概念篇)
掌握自动化测试技术,可以把你从大量重复性的手工劳动中解放出来,这样可以把更多的精力花在更多类型的测试上。
小皮侠
2024/07/25
1910
软件测试工程师从入门到进阶一(概念篇)
关于软件测试人员的职业发展问题,你有思考过吗?
  许多同行入行软件测试一段时间后,少则一两年,多则三五年,对软件测试这个行业就会有比较深入的了解,也拥有了一定的测试经验。到了这个阶段,自然而然的会进入一个瓶颈期。一方面,不知道如何去继续提升自己,如果没有比较细致的职业规划,对未来的发展也没有头绪,那么就会毫无方向。另一方面,容易陷入个人的舒适区,不想去改变自己,也害怕去改变。接下来我们就来聊聊测试人员如何继续提升自身的技术能力这个话题。
顾翔
2021/04/26
1.2K0
关于软件测试人员的职业发展问题,你有思考过吗?
软件测试快速入门:测试对象、过程模型、生命周期与测试用例
测试工作和开发工作在软件开发生命周期中是密切相关的,二者相辅相成,具体关系可以从以下几个方面来理解:
Srlua
2024/10/18
3230
软件测试快速入门:测试对象、过程模型、生命周期与测试用例
测试往何处去 -- 新时期测试如何面对挑战
本人一向务实,很少务虚,最近参与的讨论比较多,也有一些些感悟,分享给大家。 勉强算原创吧,标题起的比较大,恬不知耻,主要为了吸引更多从业人员参与讨论,请见谅。
iTesting
2019/12/04
4220
软件测试人员的初心是什么?(一)
现在的技术发展令我们眼花缭乱,java、doceker、jira、sonar、微服务、jmeter、功能、性能、安全性、自动化测试、渗透性测试、探索性测试、BDD\TDD等等,很容易让我们浅尝辄止失去方向。我们不得不经常静下心来思考,回归测试的本真。那技术测试人员的初心是什么呢?让小编为大家细细道来
muntainyang
2020/10/23
7930
软件测试职业发展:软件测试人员该何去何从
导读 你有职场焦虑么? 在职场中,最为关心的就是在职场应该怎么发展?随着经验和年龄的增加,如何提升自己的能力? 如果你已经在职场舒适区了,那你想出来么? 作为互联网行业的一份子,恐怕今年肯定知道华为开
王豆豆
2018/06/08
1.1K0
软件测试作为职业道路(技能,薪水,成长)
评估自身技能对于成为一名优秀的软件测试工程师至关重要。将您的技能与以下清单进行比较,以确定软件测试是否对您来说是现实的。
归根落叶
2020/05/15
9860
软件测试作为职业道路(技能,薪水,成长)
DevOps时代,测试该如何应对?
DevOps的概念最早起源于2009年的欧洲,但由于当时配套技术和工具的匮乏,导致DevOps并没有迅速兴起。近几年随着云计算和大数据等新技术的高速发展以及微服务架构理念的深入实践,提倡持续高效的交付使DevOps成为了一种趋势,容器技术又使得DevOps的实施变得相对容易,所以DevOps在各行业各种规模的组织中开始逐步落地实施。
DevOps时代
2019/05/09
1.4K0
DevOps时代,测试该如何应对?
测试开发:是测试还是开发?
在软件工程中,测试和开发是两个核心的环节。这两个环节相互依赖,相互影响,构成了软件产品的整个生命周期。然而,在近年来,随着敏捷开发、持续集成、持续交付等先进开发模式的普及,一个新的角色——测试开发工程师,逐渐进入了我们的视野。他们的工作似乎同时涉及到了测试和开发两个领域,那么,测试开发是测试还是开发呢?
DevOps持续交付
2023/12/06
1K0
测试开发:是测试还是开发?
软件测试人员的职业发展路径和技术路线规划
主要分享测试的学习资源,帮助快速了解测试行业,帮助想转行、进阶、小白成长为高级测试工程师。
伤心的辣条
2022/12/14
1.4K0
软件测试人员的职业发展路径和技术路线规划
软件生命周期
软件生命周期是指软件从开始研制到最终被废弃所经历的各个阶段。在不同的阶段里,由不同的组织和人员执行不同的任务,需要消耗不同的资源。
zls365
2021/02/01
6950
软件生命周期
我对敏捷软件测试的理解与实践
随着敏捷软件研发过程的引入,敏捷测试也开始成为研发团队的重点关注对象。在行业内,有些企业正在做敏捷测试的尝试,有些也取得了不错的效果。
yuanyi928
2019/08/30
1.3K0
我对敏捷软件测试的理解与实践
【软件测试】初识测试
软件测试是指在开发软件的过程中,针对软件系统或应用程序进行各种测试,以确定其符合特定要求和标准,并能够正确地执行预期的功能和任务。 通俗的说,软件测试就是找bug,发现缺陷.验证软件产品特性是否满足用户的需求. 软件按照用户提出的需求而设计了很多的功能, 软件测试人员就需要验证软件功能的方方面面:
xxxflower
2023/10/16
3790
软件测试工程师的技能树
顾翔老师开发的bugreport2script开源了,希望大家多提建议。文件在https://github.com/xianggu625/bug2testscript,
顾翔
2019/12/11
1.8K0
软件测试工程师的技能树
软件测试:概念篇
目的:验证软件有或没有问题。 原则:以客户为中心,遵循软件测试的规范、流程、标准和要求。
测试开发社区
2019/09/20
7560
软件测试:概念篇
软件测试工程师承受的压力(二)
其他两点:4.收入的压力 5.家庭的压力,因为所有职场人都会有遇到,暂时不说了。
muntainyang
2020/10/23
8550
软件测试工程师承受的压力(二)
测试人员必须编写代码吗?
通常在系统开发完成或大体完成的情况下参与验证测试系统的功能及其完整性。该角色属于非技术类,一般情况下不需要写代码。
测试小兵
2023/03/09
5670
测试人员必须编写代码吗?
推荐阅读
相关推荐
测试人员在质量和效能领域发展的关键要素
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档