治疗白癜风用什么药最好 http://m.39.net/pf/a_4442971.html有人知道怎么三连吗?在线等挺急的
本文关键词:测试开发
之前发过本文,但有小伙伴回复说排版太乱,阅读不方便。
现在重新修改了排版,希望大家会喜欢~
接触测试开发这个名词已经比较久了,以下是鄙人的一些见解。
先上目录?
一、测试开发是什么?
二、测试开发应具备什么样的能力?
三、测试开发应如何入门?
?测试开发是什么?
放眼望去,测试开发在行业中已经不算什么新鲜的名词。
大多数人对测试开发的刻板印象是:
整天写写自动化测试,开发出一些高大上的测试平台或者测试工具,很少甚至几乎不用去做业务层面的测试,入行门槛比较高,是测试行业的天花板。
但事实真的是这样的么?
「并不是」,测试开发的水很深,“测试”后面加了一个“开发”,真的并不意味着你真的就是一个“开发”。
测试开发的工作内容,往往不是由“测试开发”这四个字定义的,而是「由招聘部门决定」的。
测试开发的工作内容大体可分为以下三种:
只开发,不测试既开发又测试只测试,不开发
这里简单做个解释:
「“只开发,不测试”」
一些互联网大厂发展到一定规模,用户体量十分庞大,这种时候假如出现一个bug,往往都会引发巨大的蝴蝶效应,给用户带来巨大损失。
传统的手工测试已经无法满足日常测试需要,单靠垒人去保证业务质量,测试片面、成本大、效率低。
所以大厂不惜高薪聘请测试开发工程师,开发测试工具或平台来,丰富测试手段,提升测试效能,强化产品质量,保证系统的高可用。
甚至坊间有传闻,某福报厂的一些部门更是要进行“去测试化”,美其名曰:“内卷”。
「“既开发又测试”」
一些中型的互联网公司,业务处于上升期,但是质量工程又处于起步阶段。
此时招聘的测试开发工程师,需要测试开发带领若干外包同学一起把业务测试任务给保证好,然后又需要从0到1(或者从1到n)去把质量基础设施给搭建起来。
既当爹又当妈,干活比较杂,基本上绝大多数的测试开发工程师都处于这个阶段。
「“只测试,不开发”」
“面试造火箭,工作拧螺丝”,用在此处真是相当的贴切。
一般都是一些公司业务特别多且比较复杂,需要招聘一些能力稍微强一点的业务测试小能手去Cover质量保证工作。
此类公司虽然明面上招聘的是测试开发工程师,但是实际进来后,其实纯粹是干业务测试的活。
相比于上面两种类型的测试开发,“只测试,不开发”的测试开发工程师还是占比较少数,且干活的“幸福感”普遍不高。
但无论如何,「招聘“测试开发工程师”的门槛石还是会比“测试工程师”要高出一些的,工资也会相对更高。」
测试开发具备什么能力?
臻叔从各大招聘平台上对测试开发的招聘要求、测试社区或博客对测试开发的描述以及结合自己的亲身经历,
得出以下结论:
「扎实的测试基本功」
对业务比较熟悉,能够独立负责某块业务功能的测试工作。熟悉测试流程,能够合理的制定测试计划,掌控测试进度,具备敏锐的质量风险意识。具备一定的测试思维,能够设计出较高质量的测试用例。测试手段丰富,至少在APP、小程序/H5、WEB、SERVER等,在其中某一端具备扎实的测试经验。对于常用的测试工具做到如数家珍,并对这些测试工具运用自如。有一定的测试架构能力,对CD/CI有一定的了解,并且了解一些DevOps的具体实践。
「扎实的计算机功底」
熟悉计算机网络,尤其是对HTTP、TCP协议要有深度的了解。熟悉操作系统及基本原理,进程线程、CPU调度、内存管理、IO读写等。熟悉数据库,熟悉主流的关系型数据库及非关系型数据库,能写出复杂场景下的查询SQL。熟悉Linux的基本使用,擅长编写Shell脚本。
「扎实的编程功底」
掌握至少一门后端编程语言(Java/Go/PHP/C++),和至少一门脚本语言(Python/JavaScript)。了解主流的测试工具/框架/平台,能够基于此进行二次开发。掌握WEB开发技巧,熟悉后端开发框架及中间件,熟悉并掌握至少一个较为流行的前后端分离项目。掌握IDE工具的基本使用,会使用Git等代码版本控制软件。具备良好的编程风格,了解基本的代码调优技巧。
「软实力」
敢想敢做,勇于尝试,具备创新精神。善于思考,善于总结,善于查资料。具备勇攀高峰,克难攻坚的品格。具备良好的沟通能力。怎么入门测试开发?「一、强化测试基本功」加深对业务的理解?
不能落地到业务的自动化测试,等同于耍流氓,我们做任何测试开发,最核心的目标,肯定都是要为业务赋能。那么如何加深对业务的理解呢?
?
臻叔有几点建议:
长期维护一份全流程的测试用例,不用写得太细,但是要写得全,并且要经常更新。目的是帮助我们快速梳理业务细节。养成手绘业务流程图的习惯,并善于总结和做笔记。看开发写的业务代码,从代码层面去对深入理解业务细节。研究竞品,包括功能、性能、稳定性方面。提升个人测试能力
有以下几点建议:
掌握主流的测试手段,包括并且不局限于:自动化测试、接口测试、性能测试、稳定性测试、安全/渗透测试、移动端测试、服务端测试等。对于业界流行的测试工具做到如数家珍,为此,臻叔专门写了一篇文章介绍《测试开发「核武器」库:awesome-tester,了解一下》,或