• 0
  • 0
分享

  本文将概述测试工程师的现状及发展方向,并着重介绍测试开发工程师的发展及所需具备的技能,以及本部门搭建的测试平台的概况和意义。

  一、测试工程师的现状

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

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

  ·管理方向

  · 技术型方向

  · 转行

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

15-1.jpg

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

15-2.jpg

15-3.jpg

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

15-4.jpg

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

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

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

15-5.png

(静态资源引用)

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

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

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

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

  持续集成:git,jenkins

  开发工具:idea和eclipse

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

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

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

15-6.jpg

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

15-7.jpg

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

15-8.jpg

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

15-9.png

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

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

15-10.jpg

15-11.jpg

  以上是对测试开发工程师发展的一些思考,希望能抛砖引玉,引起大家对测试平台的兴趣。 


作者:自动化测试冰茶    

来源:http://www.51testing.com/html/73/n-7792473.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 一、软件测试的生命周期(软件测试的流程是什么?)需求分析——测试计划——测试设计/开发——测试执行——测试评估需求分析对需求进行合理化筛选,分析需求对需求明确细化测试计划: 测试进行的人员、时间、测试范围、测试目的等具体进行计划测试设计/开发: 根据需求提炼出的功能点开发测试用例测试执行 执行测试用例 找BUG 回归测试测试评估 评估本次测试的情况二、如何描述一个BUG?首先BUG就是和需求分析说明书中不匹配的功能,我们在实际测试中就需要将测出来的BUG记录在BUG管理工具(禅道,tapd,jira)里,以便开发人员查看,为了能让开发人员更能清楚的了解到BUG,我们就要规范书写BUG,包含以下...
            0 0 1499
            分享
          •   服务器的接口测试通常从功能开始,如请求参数和响应参数的验证,业务逻辑或业务规则的验证,数据库操作的验证。功能正常后,将根据需要进行安全相关的检查、性能测试和一系列扩展测试,如与版本历史的兼容性测试、接口超时验证和设计合理性验证等。用例设计也是从这些方面进行分析和设计的,下面的思维导图是测试关注的一个大致方向:  详情如下:  用于输入  输入主要指界面的参数。在我们通常的测试中,我们会首先考虑正常参数和异常参数,包括异常参数和数据。在用例设计中,等价类划分和边界值分析被广泛使用。  A.正常参与  正常参数通俗易懂,即根据界面设计文件的参数标准,输入正常参数,响应按照界面设计文件约定的条件...
            0 0 876
            分享
          • 子查询含义:出现在其它语句中的select语句,称为子查询、内查询、嵌套查询外部的查询语句,称为为主查询或外查询 分类:案子查询出现的位置:select后面      仅支持标量子查询from后面       支持表子查询※where或having后面    标量子查询※、列子查询※、行子查询(较少)exists后面(相关子查询)按结果集的行列数不同:标量子查询(结果集只有一行一列)行子查询(结果集只有一行多列)列子查询(结果集只有一列多行)表子查询(结果集一般为多行多列) 一、whe...
            15 14 2082
            分享
          • 作为一个在测试一线奋斗多年的老捉虫达人,经常会被人问道这样一个问题,「转行人员应该如何进入测试领域?」今天,我就这个问题做一个完整的回答,顺便说一下进入软件测试这个行业后持续努力的方向,供各位想转行做测试还没转的、已经转行做测试但时间不久的、刚刚进入测试领域的,这几类的小伙伴都可以参考下。对于其中有疑问的,也欢迎持续探讨。软件测试的门槛软件测试,作为软件研发流程中的一环,是软件研发质量的重要保证,而随着互联网产业、软件等需求持续增加,这样的人才需求也持续旺盛,因此,有越来越多的人看准这个机会想进入这个行业。一方面,这一行作为信息基础行业,有着相比于其他行业更高的薪酬待遇;另一方面,随着信息技术...
            0 0 2315
            分享
          • 最新一期TW的技术雷达上出现了一款端到端的开源测试神器Cypress,号称是不懂代码的测试人员、业务人员都可以使用,同时还不依赖于已经是端到端测试扛把子的Selenium,CC先生很好奇,以下是开箱试用报告: 1. 安装cypress https://www.cypress.io/ cypress官网下载,Windows下的安装包大概有233M,下载耗费时间依赖于你的网速咯。 也可以直接到github的cypress项目下获取 : https://github.com/cypress-io/cypress Windows下解压后点击cypress的安装文件,一路默认,直到出现以下画面:1)打开...
            0 0 1665
            分享
      • 51testing软件测试圈微信