如何理解测试开发?
有人问测试开发是测试还是开发
本质上来说,还是测试。
因为测试是核心,开发是手段
那么说,成为测试开发,需要那些必备的技能呢?
不同level的测试工程师应具备的基本技能
第一个:我们称之为测试员/测试工程师
直白一点说,就是干苦力活的。对标过来就是百度的T3、T4,阿里的P5,腾讯的T1-T2。主要的工作就是需求分析,测试方案,测试策略,测试执行,都是业务测试。当然你能够掌握某些领域知识,比如你是测无人车的,无人车的业务是什么,我测AI,AI是什么,我去测大数据,大数据是什么,测的是电商,电商系统的架构是什么,业务知识是要懂的。再一个是带外包团队,可能会有一部分的外包团队交给这一部分人去带。主要是也就是管理这些基础的业务测试工作。
第二个:测试开发工程师
现在第一个level是不怎么招了,多数都是从第二个level开始招。一旦提测试开发,就一定要求你懂研发,懂测试,并且有一定的深入工作的能力。从这个level开始要求你的编程能力了,Java、Python、shell、SQL,这是最基础的,然后是业务测试。
这部分人仍然会负责一部分的业务测试的工作。老大会根据你的能力,给你安排一个比例。你能力很强,80%做技术,20%做业务,如果你能力不强,那就80%做业务,20%参与一部分技术。如果你的技术太low了,那就100%的全部做业务测试。所以这个时候会根据你的能力进行合理的时间划分。这里面的要求就比刚才突然间就拔高了,客户端的UI测试,服务端的接口测试,性能测试,基本上都属于这个范畴。
面试的时候,性能与非功能测试,可能不会做一个主面试点,主要还是在自动化和编程能力。也就是目前大家出去找工作,你们最容易被卡的这一关。所以在这个level里面,也是干活的,也就是既做业务测试,也做技术上的改造,以及去写一些自动化,但是仍然是偏重于业务的。
第三个:高级测试开发工程师/测试架构师
那么到这个level,业务测试已经非常少,甚至完全没有了,这个时候更多的是负责整个团队的流程管理。流程管理体系,白盒测试体系,测试工具与测试平台的开发,再一个是质量监控,还有一个质量管理。通常一个团队里面,会有一个测试的管理,加上1-2个高级的测试开发工程师,或者叫测试专家也行。他会搭建起整个的持续集成系统。持续集成、白盒测试、以及一些平台的开发,主要会交给这些人负责。然后他会带2-3个测试开发工程师,这些测试开发工程师一边跟着他去学习,一边去做业务。然后剩下的活儿,交给外包公司或者校招的人去做。
完善测试技术体系
Linux、docker、shell、SQL、Python/java
打牢自动化测试技术基础
web自动化测试
selenium测试框架
PageObject设计模式、原则、演练
APP自动化测试
Android自动化测试框架
appium高级应用于原理剖析
APP自动化测试实战
测试框架封装改造
ios自动化测试
移动专项测试
健壮性测试、弱网测试、崩溃检测、耗电量分析等
移动端性能测试
移动端安全测试
接口自动化测试
接口协议与抓包、代理技术与mock
接口自动化测试框架、HTTPrunner测试框架
dubbo接口自动化测试
接口管理工具swagger、接口安全测试
docker容器技术
docker容器、docker镜像
持续集成/持续交付/devops
jenkins持续集成
Jenkins持续交付