测试开发工程师必备技术栈(附详细技术点)

近些年来,测试人员会写代码已经成为业界刚需。目前高薪的测试工作岗位都硬性需要java和python的代码技能,大家也一定意识到了能够编写代码的重要性和迫切性。 “测试开发”也成了热门岗位。测试开发工程师简单地说就是既会测试又懂代码的测试人才!他们能够帮助开发和测试同学提升测试效率,进而帮助公司提升整体的研发效率!那么测试开发工程师的主要工作职责是什么呢?他们需要的技术栈又有哪些呢?在这里我给大家进行一个详细的汇总!

核心:编码能力!Java或者Python都可以,两者兼顾最好!

主要工作内容:UI自动化测试、接口自动化测试、测试小工具开发、测试平台开发。

本篇文章以Java为主线对测试开发进行技术栈分析
Java基础知识

数据类型

   8种基本数据类型:byte、short、int、long、float、double、char、boolean

  3种引用数据类型:类、接口、数组

条件语句应用
循环语句应用
String的常用方法使用,字符串的查找、拼接、替换、删除
数组和动态数组(arraylist)
hashmap
正则表达式
java函数,包括函数的定义,参数和返回值
Java的异常机制
Java命名规范
面向对象继承,封装和多态
JavaIO概念与文件的读写
maven 基础,重点是:安装maven环境,创建maven工程,maven工程结构,pom.xml,在ide中使用maven
Git\SVN基础使用
测试框架Junit4和TestNG

UI自动化测试

核心:使用java的jar包+Java测试框架进行自动化测试

如果你进行web应用的自动化测试,使用selenium jar包
如果你进行IOS或者Android应用的自动化测试,使用appium jar包

接口自动化测试

核心:使用java的jar包+Java测试框架进行自动化测试

如果你进行http或者https接口测试,使用httpclient jar包
如果你进行其他类型的接口测试(包括:TCP、UDP、dubbo等等),需要与研发沟通,具体的协议是什么?如何调用该服务接口?因为接口测试的本质就是(以java为例),通过new 类的实例来调用类中的某个方法!

测试小工具开发

核心:通过代码解决手工测试重复度高的工作,这里举几个例子

测试数据创建:可以通过写sql语句+UI自动化+接口自动化的方式来创建测试数据
测试环境构建:主要是python,shell+ansible
Excel文档相关处理:使用poi-ooxml jar包
Jenkins任务处理:使用jenkins-client jar

测试平台开发

个人观点,测试平台开发本质上就是开发了,只不过是开发测试相关的产品。那么就需要较为深入地了解Java开发的相关的知识了,主要包括:

容器
多线程
反射
泛型
设计模式,重点关注:工厂设计模式,单例模式,代理模式,模板方法,包装器模式,观察者模式和适配器模式

由于绝大多数测试平台都是基于B/S架构开发的,所以我们需要掌握前后端相关技术。
后端需要掌握的知识包括:
基础知识:linux常用命令,shell脚本,docker常用命令

Spring,后端基础框架
Spring MVC,是基于 Spring 的一个 MVC 框架
微服务的概念
Spring Boot,是基于 Spring的条件注册的一套快速开发整合包,目前最主流的技术
Spring Data JPA,操控数据库
MyBatis,操控数据库
Spring Data JPA和MyBaits的比较如下

  1.表关联较多的项目,优先使用mybatis

   2.持续维护开发迭代较快的项目建议使用mybatis,因为他更为灵活。

   3.对于传统项目或者关系模型较为清晰稳定的项目,建议JPA

Spring Boot消息驱动(包括:KafkaTemplate、RabbitTemplate等等)

前端需要掌握的知识包括:

HTML
DOM
Javascipt
Css
Vue
react

总结

以上就是测试开发同学必备的技术栈了,难点自然是测试平台开发,因为这个职位本质就是开发!有兴趣的同学可以按照文章的知识点,自行充电,慢慢提升!