从名字来看,可以理解为既要懂测试,也要懂开发。事实上,确实如此。
《Google软件测试之道》中描述,它是⼀个融合开发⾓⾊和质量意识于一身的角色,兼具开发人员的技能和测试人员的思维。他们会参与单元测试代码编写、业务代码评审、业务代码重构、测试工具开发、测试平台开发、框架开发。
对与单元测试、代码评审、代码重构,它们可以保证产品代码的质量。但国内大部分公司都是由开发人员负责。确实,自己写的代码自己更加了解,让旁人为其写测试代码,费时费力,性价比太低。
对于测试工具、测试平台、测试框架,它们可以提高测试效率。国内大部分公司注重这一方面,除此之外,还要求性能测试、自动化测试之类的。
总的来说,测试开发工程师的定位就是保障产品的质量和提高测试的效率
测试工具:现在很多的系统都是使用微服务架构,对这类系统,更多的可能是一些 mock 和 fake 工具,当然,根据各自业务的不同,可能需要不同的一些其他工具。其他很多都是利用现有的工具,如 posman、jmeter 等。
测试平台:多是一种自动化测试平台,一般都是基于测试框架来管理项目、管理测试用例、展示测试结果等等这么一些功能,可以根据业务测试需求来开发。
测试框架:框架是整个自动化组件结构的集合。这也是一个指导原则,如果遵循该指导原则,可以形成易于维护和增强的结构。测试框架应独立于应用程序,并且应易于使用,修改或扩展。
性能测试:一些性能指标,性能测试方法,分析性能瓶颈,还有一些工具或框架的使用,如 jmeter、loadrunner、locust 等。
自动化测试:实现自动化测试的解决方案(单元、接口、UI),工具或框架的认知和使用。
还有一点,就是最近流行的 devops - 开发运维一体化,对于这个体系,测试开发可能需要更多的技能,除了开发、测试外,还要懂运维,真是大挑战啊,呵呵。