测试开发工程师必备技术栈(附详细技术点)
近些年来,测试人员会写代码已经成为业界刚需。目前高薪的测试工作岗位都硬性需要java和python的代码技能,大家也一定意识到了能够编写代码的重要性和迫切性。 “测试开发”也成了热门岗位。测试开发工程师简单地说就是既会测试又懂代码的测试人才!他们能够帮助开发和测试同学提升测试效率,进而帮助公司提升整体的研发效率!那么测试开发工程师的主要工作职责是什么呢?他们需要的技术栈又有哪些呢?在这里我给大家进
近些年来,测试人员会写代码已经成为业界刚需。目前高薪的测试工作岗位都硬性需要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架构开发的,所以我们需要掌握前后端相关技术。
这里给大家推荐一款开源的测试平台——metersphere
后端需要掌握的知识包括:
- 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
总结
以上就是测试开发同学必备的技术栈了,难点自然是测试平台开发,因为这个职位本质就是开发!有兴趣的同学可以按照文章的知识点,自行充电,慢慢提升!原创不易,如果文章帮到了你,欢迎大家点赞、收藏、转发,您的支持是我不断原创的动力!
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)