HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

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

  • 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:492815

评论

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

为什么安全性在托管中变得越来越重要

九河云安全

惠及百万用户 医保“上云”有了新思路

云计算

面试进阶齐飞!霸榜GitHub的 Java 全栈笔记太香了!

Java 编程 程序员 IT 计算机

渣本全力以赴33天,四面阿里妈妈(淘宝联盟),拿下实习岗offer

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

2021 年主要网络安全威胁,及时发现提早规避风险

九河云安全

高频面试题-请把Java垃圾回收器说清楚

Java 编程 架构 面试 JVM

spring cloud 在国内中小型公司能用起微服务来吗?

Java 程序员 架构 面试 IT

Spring Boot 实战派,让开发像喝水一样简单!

Java 程序员 架构 面试 IT

xposed 入门之修改手机 IMEI

Qunar技术沙龙

android 程序员 App 经验分享 安卓

百分点科技参加MIT数智未来创新峰会 入选产业数字化生态图谱

百分点科技技术团队

社招三面阿里“落榜”,幸获内推名额,4面揽下美团offer

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

全面到哭!BAT内部Java求职面试宝典,应届生必须人手一份

Java~~~

Java 面试 微服务 多线程 架构师

低代码开发平台的出现会是开发者的威胁吗

雯雯写代码

开发者 低代码 低代码开发平台

清爽视频编辑器 Tech Support

凌天一击

Tensor:Pytorch神经网络界的Numpy

华为云开发者联盟

神经网络 数组 PyTorch Numpy Tenso

Java 程序性能优化“学习日记”

Java 编程 面试 IT 计算机

“助力金九银十”25 大Java后端面试指南,3000道面试题解析

Java 编程 程序员 面试 IT

使用Micronaut框架构建一个微服务网络.

Java 编程 架构 面试 程序人生

凭借一份“面试真经pdf”,我四面字节跳动,拿下1-2级offer

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

毕业六年本科,去年疫情期间备战二个月,阿里巴巴四面成功!定级 P7

Java 程序员 架构 面试 IT

读完SpringBoot,Cloud,Nginx与Docker技术,我拿到了阿里offer

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

987页的Java面试宝典,看完才发现,应届生求职也没那么难

Java~~~

Java 面试 微服务 多线程 架构师

28天读完349页,这份阿里面试通关手册,助我闯进字节跳动

Java~~~

Java 面试 算法 多线程 架构师

终于有人把“SpringCloudAlibaba学习笔记”整理出来了

Java 程序员 架构 微服务 计算机

Java测试框架九大法宝

FunTester

自动化测试 JUnit 测试框架 selenium testNG

算法有救了!GitHub 上神仙项目手把手带你刷算法,Star 数已破500k

Java 编程 程序员 面试 算法

2021 斩获 90K 月薪的 Spring 全家桶:文档 + 面试题 + 学习笔记 + 思维导图

编程 架构 微服务 IT 计算机

经验分享:我是如何拿下微软、滴滴、百度等 20家大厂的 Offer?

Java 程序员 架构 面试 IT

经过两年努力,我终于进入腾讯(PCG事业群4面总结)

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

一文搞懂指标采集利器 Telegraf

尔达Erda

学习 微服务 开发者 云原生 插件开发

又一里程碑!阿里首推Java技术成长笔记,业内评级“钻石级”

Java~~~

Java redis spring 面试 架构师

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