近些年来,测试人员会写代码已经成为业界刚需。目前高薪的测试工作岗位都硬性需要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

总结

以上就是测试开发同学必备的技术栈了,难点自然是测试平台开发,因为这个职位本质就是开发!有兴趣的同学可以按照文章的知识点,自行充电,慢慢提升!原创不易,如果文章帮到了你,欢迎大家点赞、收藏、转发,您的支持是我不断原创的动力!

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐