测试背景及学习路线

本文探讨了测试开发在现代软件行业中的角色转变,从早期的传统测试工程师转变为融入业务和技术改进的岗位。文章介绍了基于业务驱动和框架平台的测试开发类型,并强调了测试开发的核心是测试,同时需具备代码开发、需求分析和系统质量风险识别能力。最后,对比了SWE、TE和SWT的角色特点及要求。
摘要由CSDN通过智能技术生成

测试基础知识

背景

早期软件行业中只能看见测试工程师、开发工程师这类的职位。随着各种新技术和新产业不断涌现(如:移动互联网、人工智能、大数据、云计算、区块链、微服务等),软件测试的理论、流程、工具、技术、需求等都随之发生了变化,这些新技术和新概念给软件质量保障带来了巨大的挑战。早年的软件测试追求的是大而全,现在追求质量和效率,即一方面需要开发人员在早期更多地参与到软件测试的活动中,另一方面强调测试要遵循”少就是多“的原则(在不牺牲产品质量的前提下节约成本,科学合理地缩小测试的覆盖率)。科学合理、精准高效的保障产品质量是测试开发成立的最初原因。因此,测试开发工程师的岗位应运而生[1]。

什么是测试开发

很多人并不太理解测试开发的工作和意义,认为测试开发岗就是整天写写自动化测试、开发出一些高大上的测试平台、测试工具出来。不可否认,这是一部分,但不是全部。

当前因公司、团队现状的不同,测试开发主要分为两类:

  • 基于业务驱动型的测试开发,或者可以理解为就是业务测试工程师,只是多具备了开发能力和质量改进思维。他们需要扎进业务中,主动去挖掘业务过程各个环节质量的薄弱点并想法设想解决,并且通过流程改进、开发出得心趁手的工具,让自己测试工作能持续高效。(现在大部分一线互联网大厂的测试开发工程师都是属于这个类型:50%测业务、50%进行效率改进)
  • 基于框架平台型的测试开发,这类型测试开发,需要站点更高的维度来看待产品质量,他们会针对研发整体过程或某个大的专项去开发设计出一些测试平台、框架,并将其这些能力以服务的形态提供给各个业务线使用,以此来保障全局内建质量。

但不管是哪一类,测试开发岗位的核心其实仍是”测试“,”开发“的目的是更好的服务于测试,测试开发应该看重的是对测试的理解,以及在此基础上设计、能开发设计出帮助测试人员或开发、运维人员提高效率并解决实际业务问题的工具[1]。

能力要求:代码开发是最基本的要求,除此之外还需要分析测试系统需求的能力,系统质量风险识别能力,要能够站在测试架构师的高度,识别出测试基础架构的需求,提出提高效率的方法。测试架构部署、生产架构部署也需要

测试开发、开发、测试的区别与联系

软件开发工程师(SWE):也需要做测试的工作,SWE需要编写测试驱动的设计、单元测试、参与构建各种大小规模的测试等

测试工程师(TE)用户放在第一位来思考,组织整体质量的实践,分析解释测试运行结果,驱动测试执行,构建端到端的自动化测试

测试开发工程师(SWT):也是一个开发者角色,侧重于构建测试框架,编写测试工具;对知识广度要求高

SWT与TE有很多交织的地方,可还是有不同的特点,例如:

SWT的特征a.你编程时,会内疚的想到还有很多单元测试用例没有完成。随后,你又会考虑各种生成测试代码和验证的方法,而不是手工编写每个单元测试用例;b.看到编译器警告时会焦虑不安;c.当被要求测试一个产品时,你会打开源码,开始思考需要模拟的东西;d.你心目中领导力是:建立一个伟大的底层单元测试框架,供所有人来使用,或者在测试服务器上每天数百万次的运行;e.当被问道产品是否可以上线时,你可能会说:所有的测试都通过了

TE的特征a.你能在已有的代码段中快速找到错误,迅速理解软件失效的模式,但是并不关心从头编写代码或者做修改;b.你更愿意到一些开源网站上去阅读别人的源码;c.在现实世界里你很愿意和其他人交流;d.你心中的领导力是:扶助其他工程师的创意,用更高数量级规模的应用场景来挑战他们的创意e.当被问道产品是否可以上线时,你可能会说:我觉得可以了

SWT干测试的活还是开发的活,取决于你的组,不能一概而论。总结如下:

代码能力要求:SWE=SWT>TE

知识广度要求:SWT,TE>SWE

沟通能力要求:TE>SWT>SWE

知识深度要求:SWE>SWT>TE

薪资待遇:SWE=SWT>TE(纯粹意义的开发,测开和测试,当然国内很多公司自己都搞不清这几个Title区别) [2]

产品从无到有的完整流程

市场调研、技术预研、竞品分析、产品规划、产品立项、需求导入(需求人员)、需求评审、UI效果图与视觉设计(UCD美工)、编码设计(开发人员)、测试用例编写(测试人员)、测试验证、bug修改、产品bug收敛、产品发布等多个阶段[4]。

产品交付给客户后,因为用户机器和系统环境的不同,在用户使用的过程中会陆续报出之前未曾暴露的bug,需要研发和测试人员及时地定位、修复这些问题。客户在项目竞标等初始阶段或者在使用过程中也会提出新的需求或定制需求,产品自身也会陆续加入新的需求,产品的版本会不断的向前演进,这样就进入了产品的后期维护与需求迭代的循环往复的过程。

在这里插入图片描述

参考链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zlionheart

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值