软件测试岗未来是否会消失一个问题,因为它决定了软件测试人员这个群体未来会走向哪里测试群体的一分子,笔者认真梳理了这个问题并得出个人观点,供各位测试同仁参考。
三、测试岗位的未来
持续不断升级的软件测试活动促使软件测试方式从纯手工测试演化到现在的手工测试+自动化测试,以及未来可期的智能化测试。
不同的测试方式催生了不同的测试岗位。按照测试方式划分,测试岗位分为使用手工测试的测试工程师(TE)和使用自动化测试的测试开发工程师(SET)。从测试内容上看,测试工程师侧重承担功能测试(手工执行)、用户体验测试。测试开发工程师侧重承担功能测试(自动化执行)、性能测试、安全测试。
TE or SET 那一个会是软件活动下一阶段持续推进的关键说哪一角色在软件活动未来的持续升级中不可或缺p>
《Google的软件测试之道》对测试工程师的定义是评估软件应用对用户的影响以及软件产品整体目标上的风险,是一种面向用户的测试角色。从笔者的项目经历来看,测试工程师是在程序开发完成后执行测试。主要两大职责是:1)检测程序质量,验证项目活动是否可以进入验收环节;2)从用户角度体验产品(用户体验测试)。
从时机上来看,测试工程师在产品开发完成后进行测试。测试活动作为一个独立的阶段存在,这就天然造成了项目开发周期的延长。在软件产品竞争日趋激烈的商业环境中,意味着产品会流失更多潜在客户。近年流行的敏捷开发主要目的就是通过进一步压缩项目周期,提高产品迭代频率,适应日新月异的客户需求,进而获得更多客户青睐。从这种大趋势上看,测试工程师已丧失时机优势。
从职责上看,测试工程师职责一是:检测程序质量。随着CMM、DevOps这类软件过程管理标准的不断完善和自动化测试在软件开发过程中的深度嵌入融合,项目团队开发出的产品质量日却稳定。使用测试工程师检测产品质量,判断是否可进入验收阶段已变得不再必要;测试工程师的职责二是:用户体验测试。用户体验测试的内容和业务(产品)人员完成的业务(产品)验收测试内容存在高度的重合。
归纳而言,从时机和职责角度看,测试工程师这一角色存在的必要性在逐步降低。未来商业公司从节约成本等现实角度从发,完全可以将测试工程师的角色任务分解给业务(产品)人员和测试开发工程师。
从时机上看,测试开发工程师的存在,使得测试执行可以不用作为一个单独的活动阶段存在。这大大缩短了项目的开发周期,适应日趋激烈的商业环境,适合主流的产品迭代要求。
从职责上看,业务(产品)人员通常不具备功能测试(自动化方式)、性能测试、安全测试技能,无法替代测试工程师的职责。经过系列测试培训指导的软件开发工程师(SWE)具备替代测试开发工程师的能力。但是两者迥然不同的思维方式(SWE重创造,SET重破坏)和SET繁重的工作任务,使得现实中一名工程师无法同时肩负SWE、SET两类角色的任务。
更重要的是当前的自动化测试尚处于发展的初期阶段,自动执行自动核对尚未成熟,距离智能化测试相距甚远。自动化测试还有很长的路需要走,作为推动自动化测试前进的中坚力量,测试开发工程师在测试活动中的比重会逐步提高。此类岗位角色在未来很长一段时间内都具备不可替代的重要价值。
四、总结
以上是笔者根据个人项目经历和认识得出来的观点,笔者的个人建议是身处测试工程师岗位的同事在完成手工测试之余通过积累自身的业务知识转型成一名业务(产品)人,或者扩展编码、自动化测试相关技能化身成一名测试开发工程师。对于身处测试开发工程师岗位的同事建议不断提高自身技术、扩展测试技能,适应未来不断发展进步的软件测试活动。
以上是笔者根据个人项目经历和认识得出来的观点,目的是警示和指引广大测试同行尽早做好自身职业规划。诚挚的建议身处测试工程师岗位的同事在完成手工测试之余通过积累自身的业务知识转型成一名业务(产品)人,或者扩展编码、自动化测试相关技能化身成一名测试开发工程师。对于身处测试开发工程师岗位的同事建议不断提高自身技术、扩展测试技能,适应未来不断发展进步的软件测试活动。
无论如何不断学习和进步才是我们应对未来风云变幻的关键,现在扩展的每一种业务、技术能力,都是为未来准备的一条可选之路。
最后:【可能给予你帮助】
这些资料,对于考虑【软件测试】技能进阶的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你
我的学习交流群:644956177群里有技术大牛一起交流分享~
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!