写点什么

测试开发工程师的进阶之路

  • 2020-03-22
  • 本文字数:2680 字

    阅读完需:约 9 分钟

测试开发工程师的进阶之路

一、测试工程师的现状

很多测试小伙伴在工作中有时会比较迷茫,不知该怎样突破瓶颈,更好的发展。


那么测试人员究竟该如何打破瓶颈继续向上提升呢?如果你苦于不知所措,又满怀斗志向上的话,不妨一起聊聊。测试职业发展有典型的三种方向:


  • 管理方向

  • 技术型方向

  • 转行


在此重点说下技术型方向的发展。曾几何时,提的 bug 被否认而倍感无力;曾几何时,遇到一个偶发复现的 bug,到上线了都不知道该怎么复现;曾几何时,面对没有前端页面的测试任务,不知该从哪下手测试;曾几何时,面对每天重复繁琐的测试工作,恨不得有个机器人来帮忙。


依稀记得,有天发现一个 bug,于是远程 debug,一行代码一行代码的走,终于定位到是数组下标越界了,提出 bug 并附上断点定位的代码截图,开发看后瞬间改了,自此赢得开发不一样的认可。那么懂代码就算是测试开发工程师吗,答案是否定的,那究竟怎样才能做一名测试开发工程师,有哪些优势,和开发的区别又是什么呢?

二、测试开发工程师的作用

对测试开发工程师来说,看懂代码,熟练使用测试工具,能做 ui、接口、性能的测试,具备测试经验和测试思想逻辑是基本要求;既要会业务功能测试,又要能做代码层接口及单元测试,更重要的是通过能力和经验的积累,能搭建适用于技术研发团队的工具平台,以更好的降低公司成本和提高工作效率。在这样的理念下我们部门按照软件的生命周期,自主研发了整套的测试平台:


  • 源代码监控分析平台,配置化平台实现对源代码进行系统化、规则化的全面覆盖测试,通过智能规则模型的有效过滤,及早发现问题,提高项目质量。

  • 接口自动化平台,不用写一行代码就可完成对接层的测试,完美支持 http 和 jsf 接口,并生成美观可视化的报告;

  • UI 自动化平台,让不懂代码的小白测试人员便捷快速的上手 ui 自动化测试工作,以往需要自己写代码,现在直接在页面维护一些元素即可;

  • 测试工具平台,现已涵盖十几个大的业务系统,几十个便捷的功能,可快速、便捷的产生和查询测试数据,减少测试人员的联调时间和营造复杂场景数据的时间。上线时间虽不长,使用频次近 3 万,大大方便了开发、测试和产品人员。

  • BUG 监控分析平台,通过对 bug 大数据进行分析、归类、汇总的智能处理,采用图表方式更加简洁明了的查看项目质量和进度;

三、测试开发工程师的必修课程

如何才能成为一名真正的测试开发工程师,需要具备哪些硬技能呢?


一、具备一定测试经验。只有设身处地的经历过测试人员的痛点和难点,才能切实解决他们的问题。


二、会使用常用重要的测试工具。比如性能测试常用的 Loadrunner、jmeter;ui 自动化常用的 selenium;单元测试常用的 testng、junit;安全测试常用的 appscan,js 注入,xss 注入,sql 注入等等。


三、具备测试工具开发能力。下面介绍一些主流的技术栈:


  • 测试工具系统框架搭建1)java+maven+SpringMVC ;2)python+django


对于第一种框架,最好创建分层化的多模块工程,以便更好的设计代码框架和结构。通常 dao 层主要是和数据库关联;web 层是 controller,是前端和服务层的衔接;service 层提供一些公共服务或业务处理逻辑。



Maven 工程有了之后,运用当前主流的框架-springMVC,将前后端数据库关联起来。




对于无代码基础,想入门测试开发的小伙伴,可学习第二种框架:python+django,较为易学易用。



  • 前端页面:html,css,jquery,bootstrap,Echarts,前端页面是门脸,是使用人员操作的入口,也是数据输入和展示最直观的地方。


Css 样式决定页面布局和美观度;jquery 是一种 js 框架,极大地简化了 js 编程;echarts 能够提供简单易用的常用图表,使页面更加有档次感、数据展示更加直观简洁。



(图表示例)


一般前端资源会存放在 web 层的 static 静态文件夹下。




(静态资源引用)


  • 后端服务:spring,mybatis,使用 Spring 框架可以简化很多基础性的工作,配置好后可以方便构建业务应用,是一个非侵入性的轻量级容器。



  • 数据库:Mysql 或 Orcale 的数据库安装,库表创建,字段设计,常用的 sql 语句

  • 系统:能熟练在 windows 或 linux 系统上搭建项目,日志查看等操作

  • 服务容器:tomcat 服务部署,nginx 负载配置,docker 使用

  • 持续集成:git,jenkins

  • 开发工具:idea 和 eclipse

  • 代码调试:testng 或 junit 的单元调试及 debug 和远程 debug 使用

四、测试开发工程师的进阶

为了提高测试效率,降低测试成本,使测试价值最大化,在具备测试经验、熟练使用测试工具并有一定开发能力的前提下,就可自主开发平台,或对现有开源工具进行二次开发了,这也是测试开发工程师不断进阶的必经之路。下面介绍一下企业金融测试部自主研发的其中几个自动化工具平台,希望对大家在开发测试平台时有一定的启发:



一、源代码监控分析平台。在开源平台 sonarqube 上定制符合部门需求的规则,通过 jenkins 集成定时对项目代码质量进行扫描,对单元测试和代码覆盖率进行统计、定制化邮件发送,让开发和测试同学可以发现项目源码的问题。



二、接口自动化平台。在测试工具基础上结合 HttpClient、testng 等,生成美观的可视化报告,并邮件发送给指定人员,实现接口自动化平台。现已稳定运行数月,并实现接口入参、加密传参及数据库检查点,以及多接口间的出入参依赖,可实现多接口,多场景的组合测试,完美覆盖 http、jsf 接口的测试,提高了使用者在接口方面的测试效率。



三、UI 自动化平台。在测试工具的基础上引入 selenium、Jenkins、testng,实现 ui 自动化平台。现在很多公司都在做 ui 自动化,通常是用 java(或 python)加上 selenium,跑自动化程序,但这对小白测试人员有一定难度。但在我们平台,测试人员只需要在页面维护相关元素,不用写代码,就可实现 ui 自动化,并且可以多场景组合测试,方便测试环境更新版本和线上的回归测试,对于元素维护简单方便易上手。<



四、测试工具平台。我们在测试工具基础上结合企业金融业务开发了测试工具平台,它是基于 springMVC 框架的前后端系统。目前总访问次数近三万次,覆盖约十几个业务线系统,单功能访问次数达几百次,在面对复杂业务场景、重复营造和查询数据、频繁业务联调时,可直接让对方访问此平台,一键生成和查询想要的数据,一键实现复杂的业务流程,极大的解脱了研发人员的时间,也避免了不必要的等待时间。


五、BUG 监控分析平台。在测试工具的基础上对 redmine 进行数据提取、处理,通过 web 页面图表直观展示,可简洁明了的查看 bug 数据及项目质量情况。




以上是对测试开发工程师发展的一些思考,希望能抛砖引玉,引起大家对测试平台的兴趣。 欢迎大家一起探讨测试的发展,若以上平台对大家工作有帮助,对京东大家庭的发展有帮助,欢迎大家技术接入,联系企业金融测试部邮箱:cft@jd.com。


2020-03-22 20:493129

评论

发布
暂无评论
发现更多内容

volatile 底层是如何实现的?

javacn.site

实用自定义 Mac Dock 的隐藏终端命令

Rose

Mac Dock 自定义Dock

跨平台开发的优势:ReactNative与小程序容器

没有用户名丶

Python实现KNN算法

TiAmo

算法 决策 KNN算法

科兴未来|深圳创新创业大赛开始啦!

科兴未来News

企业 深圳 #双创赛事# 新能源行业 深创赛

基于Spring Boot+VUE Java小程序商城项目(附源码),接私活利器

Java你猿哥

Java 小程序 源码 Spring Boot Vue

Mac电脑怎么删除VMware Fusion虚拟机系统,vmware fusion如何删除虚拟机

Rose

VMware Fusion虚拟机 Mac虚拟机 删除虚拟机教程 Win系统

MySQL踩坑笔记,加了唯一索引还会出现重复数据?

Java你猿哥

Java MySQL sql ssm 索引

从2000ms缩短到50ms,亿级ES数据搜索性能调优实践

Java你猿哥

Java elasticsearch ELK ssm ES

软件测试 | 应用程序签名机制实现的源代码分析

测吧(北京)科技有限公司

测试

2023年互联网Java工程师高级面试八股文汇总(1260道题目附解析)

Java你猿哥

MySQL redis Spring Boot mybatis 多线程

揭秘!为何阿里P8亲身经历撰写的架构师核心笔记竟如此成功

Java你猿哥

Java 领域驱动设计 软件架构 架构师 分布式架构

DMG镜像制作软件:DMG Canvas 激活版

真大的脸盆

Mac Mac 软件 镜像文件制作工具 镜像文件管理

IDEA 终端命令行设置

Andy

终极指南!Terraform的进阶技巧

SEAL安全

IaC Terraform 5月 企业号 5 月 PK 榜

Parallels使用到期怎么办?PD17虚拟机无限试用版安装教程

Rose

Parallels Desktop 17下载 Parallels到期 PD17虚拟机 PD无限试用版

软件测试 | 软件开发的几个阶段

测吧(北京)科技有限公司

测试

基于数据驱动 U-Net 模型的大气污染物扩散快速预测,提升计算速度近6000倍

飞桨PaddlePaddle

人工智能 深度学习 百度飞桨

Hazel for Mac(自动化清理软件)v5.2.2激活版

Rose

Mac清理软件 Hazel 下载 Hazel Mac版 自动化文件管理工具

破防了!阿里大佬DDD(领域驱动设计)不破不立,GitHub直接霸榜

Java你猿哥

Java 领域驱动设计 DDD ssm 领域驱动

你了解LED显示屏的安装方式吗?

Dylan

安装 LED LED显示屏

史上最全MySQL各种锁详解

Java你猿哥

MySQL 乐观锁 悲观锁 事务/行级锁

Mac版PS2023 24.5 大更新,新增4大AI功能,看完忍不住换了!

Rose

PS2023最新版 PS支持AI功能 Photoshop破解

万众瞩目的Nautilus Chain即将上线主网,生态正式起航

西柚子

RocketMQ 顺序消费机制

Java你猿哥

Java RocketMQ 获取 topic等信息 ssm

简洁高效:Java代码中If-Else结构的优化实践与技巧

xfgg

Java 代码优化

StampedLock:高并发场景下一种比读写锁更快的锁

华为云开发者联盟

开发 华为云 华为云开发者联盟 企业号 5 月 PK 榜

OpenHarmony 3.2 Release新特性解读之驱动HCS

OpenHarmony开发者

OpenHarmony

测试开发工程师的进阶之路_文化 & 方法_京东数字科技产业AI中心_InfoQ精选文章