接触测试开发这个名词已经比较久了,以下是小编的一些见解。
一、测试开发是什么?
二、测试开发应具备什么样的能力?
三、测试开发应如何入门?
放眼望去,测试开发在行业中已经不算什么新鲜的名词。
大多数人对测试开发的刻板印象是:
整天写写自动化测试,开发出一些高大上的测试平台或者测试工具,很少甚至几乎不用去做业务层面的测试,入行门槛比较高,是测试行业的天花板。
但事实真的是这样的么?
「并不是」,测试开发的水很深,“测试”后面加了一个“开发”,真的并不意味着你真的就是一个“开发”。
测试开发的工作内容,往往不是由“测试开发”这四个字定义的,而是「由招聘部门决定」的。
测试开发的工作内容大体可分为以下三种:
这里简单做个解释:
「“只开发,不测试”」
一些互联网大厂发展到一定规模,用户体量十分庞大,这种时候假如出现一个bug,往往都会引发巨大的蝴蝶效应,给用户带来巨大损失。
传统的手工测试已经无法满足日常测试需要,单靠垒人去保证业务质量,测试片面、成本大、效率低。
所以大厂不惜高薪聘请测试开发工程师,开发测试工具或平台来,丰富测试手段,提升测试效能,强化产品质量,保证系统的高可用。
甚至坊间有传闻,某福报厂的一些部门更是要进行“去测试化”,美其名曰:“内卷”。
「“既开发又测试”」
一些中型的互联网公司,业务处于上升期,但是质量工程又处于起步阶段。
此时招聘的测试开发工程师,需要测试开发带领若干外包同学一起把业务测试任务给保证好,然后又需要从0到1(或者从1到n)去把质量基础设施给搭建起来。
既当爹又当妈,干活比较杂,基本上绝大多数的测试开发工程师都处于这个阶段。
「“只测试,不开发”」
“面试造火箭,工作拧螺丝”,用在此处真是相当的贴切。
一般都是一些公司业务特别多且比较复杂,需要招聘一些能力稍微强一点的业务测试小能手去Cover质量保证工作。
此类公司虽然明面上招聘的是测试开发工程师,但是实际进来后,其实纯粹是干业务测试的活。
相比于上面两种类型的测试开发,“只测试,不开发”的测试开发工程师还是占比较少数,且干活的“幸福感”普遍不高。
但无论如何,「招聘“测试开发工程师”的门槛石还是会比“测试工程师”要高出一些的,工资也会相对更高。」
小编从各大招聘平台上对测试开发的招聘要求、测试社区或博客对测试开发的描述以及结合自己的一些经历,得出以下结论:
「扎实的测试基本功」
「扎实的计算机功底」
「扎实的编程功底」
「软实力」
不能落地到业务的自动化测试,等同于耍流氓,我们做任何测试开发,最核心的目标,肯定都是要为业务赋能。那么如何加深对业务的理解呢?
小编有几点建议:
有以下几点建议:
「如果实在没有一点基础」,建议进行系统性的去学习,可以去网上,B站、博客、csdn等地方找一些资料学习
「如果有一定的计算机基础」,有以下几种途径来强化基础:
这里送大家四个字:勤学苦练。
编程语言的学习,千万不要一直停留在语法和基础的学习上,如果你长期停滞在这个阶段,不能突破,那么可能你真的不适合编程。
编程语言只是我们完成测试工作的一个工具,不要为了编程而编程。
为了把编程技术落到实处,我们应该多去学学一些测试工具/框架/项目,以及Web开发框架/项目,利用这些项目来帮助我们达到目的。
这里推荐大家几个比较优秀的「GitHub项目」去钻研学习,学学人家是怎么组织代码,以及是如何把工具变得简单易用的:
「UI自动化」:
「接口自动化」:
「稳定性测试工具」:
「抓包工具」:
「命令行工具」:
「前端后台项目」:
「整站开发项目」:
以上项目,可以在GitHub去搜索获取。
学会看英文技术文档,以及看优秀的项目是怎么去编写技术开发文档的,不断的模仿、学习、提升。
另外,可以多在公司小组内进行技术分享,提高沟通和表达能力。
(这是小编自己建的一个学习交流群:609867432,群里可免费领取学习资料,有兴趣的小伙伴可以加一下哦!另外也可加qq2517761403或者v:dingyu-003私聊哦!)