一个高级测试工程师从23岁到33岁,经历过时间才会懂的这个行业

news2024/10/7 10:18:04

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

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

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

管理方向

技术型方向

转行

在此重点说下技术型方向的发展。曾几何时,提的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层提供一些公共服务或业务处理逻辑。    

 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使用

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

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

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

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

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

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

     

    以上是对测试开发工程师发展的一些思考,希望能抛砖引玉,引起大家对测试平台的兴趣。 欢迎大家一起探讨测试的发展,若以上平台对大家工作有帮助,对京东大家庭的发展有帮助,欢迎大家技术接入 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/539426.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

加密解密软件VMProtect教程(六):主窗口之控制面板“项目”部分(2)

VMProtect 是新一代软件保护实用程序。VMProtect支持德尔菲、Borland C Builder、Visual C/C、Visual Basic(本机)、Virtual Pascal和XCode编译器。 同时,VMProtect有一个内置的反汇编程序,可以与Windows和Mac OS X可执行文件一起…

代码随想录算法训练营day44 | 完全背包,518. 零钱兑换 II,377. 组合总和 Ⅳ

代码随想录算法训练营day44 | 完全背包,518. 零钱兑换 II,377. 组合总和 Ⅳ 完全背包完全背包问题概述例题遍历顺序分析 518. 零钱兑换 II解法一:动态规划 377. 组合总和 Ⅳ解法一:动态规划 总结 完全背包 教程视频:h…

听说你们都在问?(摇人儿啦)

嗨嗨嗨,🤗 宝子们,今天咱们来一则招聘公告!这是 Hugging Face 的 Post-Sales Machine Learning Solutions Engineer - Asia Remote 职位,感兴趣的宝宝请继续往后看: Description Here at Hugging Face, we’…

算法---被围绕的区域

题目 给你一个 m x n 的矩阵 board ,由若干字符 ‘X’ 和 ‘O’ ,找到所有被 ‘X’ 围绕的区域,并将这些区域里所有的 ‘O’ 用 ‘X’ 填充。 示例 1: 输入:board [[“X”,“X”,“X”,“X”],[“X”,“O”,“O”…

Jetson 套件使用VS-Code远程操作经验分享

远程操作Jetson Nano时,笔者一开始使用FinalShell这个便利的SSH工具,并搭配Nomachine图形界面软件。在前期的单纯学习与简易开发时还能游刃有余,但随着复杂度的提升,不仅需要在几个关联文件中进行交叉修改,可能还需要查看图像/视频这类的输出结果,必须在几个视窗之间不断…

有限合伙企业与有限公司的区别

1、设立要求不同: 有限合伙企业:根据《合伙企业法》设立,第61条规定必须由2个(包含2个)以上的合伙人出资设立,有限合伙企业合伙人中至少有一名是普通合伙人。有限责任公司:根据《公司法》设立&…

七大语言模型PK,ChatGPT内容基线测评稳居第一

随着ChatGPT的爆火与流行,大型语言模型(LLM)与生成式人工智能(AIGC)不断跃入大众视野,随之也带来了许多内容风险隐患。 近日,知道创宇内容安全专家对互联网上流行的7款大型语言模型进行了全面和…

Android Service 使用

在Android应用开发中,Service是一种非常重要的组件。Service可以在后台执行长时间运行的任务,例如播放音乐、下载文件等。在本文中,我将会介绍如何使用Service组件,并通过代码实现来说明它的作用。 Android Service概述 在Androi…

微信小程序xr-frame实现交互(地月案例)

基础知识: 1.轮廓 如果想要与场景中的物体进行互动,比如说点击、拖拽物体,那么这个物体得先拥有一个轮廓才行。轮廓是一个组件。与某个物体互动,实际上是在与这个物体的轮廓进行互动,轮廓让这个物体在物理世界中拥有…

C++职工管理系统(类继承、文件、指针操作、中文乱码解决)

文件目录及界面 CMakeLists.txt避免中文乱码配置。 # C的解决办法 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -fexec-charsetGBK") # C 的解决办法 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -fexec-charsetGBK") 一、退出管理程序 退出当前管理…

不需要#魔#法就能直接访问chatgpt

你还在付费使用chatgpt吗?你还在使用魔法访问chatgpt吗?你还在忍受每分钟刷新一下页面才能继续与gpt聊天吗? 今天给大家分享2种方法,可以使用国内网络在本地就能直接访问chatgpt。 这两种方法都是基于GitHub上的开源项目chatbot-u…

基于SSM的网上宠物店

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…

低代码赋能生物药企数字化

一、关于复宏汉霖 汉霖是复星在2010年投资孵化的一家生物医药公司,经过这十几年的发展,2019年在港股上市,是生物药企18A企业之一。 经过这些年的发展,我们在管线方面布局了肿瘤、肢体、免疫、眼科类,从早研阶段到临床…

Midjourney|文心一格prompt教程[Text Prompt(下篇)]:游戏、实物、人物、风景、动漫、邮票、海报等生成,终极模板教学

Midjourney|文心一格prompt教程[Text Prompt(下篇)]:游戏、实物、人物、风景、动漫、邮票、海报等生成,终极模板教学 场景6:游戏 Prompt 真的越长越好吗? 按照 Midjourney 的官方文档里的说法&#xff0…

基于html+css的图展示76

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…

人类禁止进入的“微博”,我的AI机器人在那里吹牛,“勾搭”AI小姑娘

最近球友推荐了一个非常有趣的网站,叫“奇鸟”(https://chirper.ai/zh)。 简单来说,这是一个AI专属的微博,人类禁止发言,但是你可以创建一个叫“奇鸟”的机器人代理,让它在里边发帖,…

扫眼球换“世界币” ChatGPT之父“剥削穷人”?

ChatGPT火爆全球后, 山姆奥特曼(Sam Altman)创立的加密项目Worldcoin(世界币)重回大众视野。这个项目诞生于2年前。那时,埋头迭代GPT模型的OpenAI还未如此知名,该公司的CEO 山姆奥特曼也位列科技…

【计算机视觉】CLIP实战:Zero-Shot Prediction(含源代码)

一、代码实战 下面的代码使用 CLIP 执行零样本预测。 此示例从 CIFAR-100 数据集中获取图像,并预测数据集中 100 个文本标签中最可能的标签。 import os import clip import torch from torchvision.datasets import CIFAR100# Load the model device "cuda…

Android Parceable 使用和原理

简介 在 Android 开发中,我们经常需要在不同的组件之间传递数据,比如在 Activity 之间传递数据、在 Service 和 Activity 之间传递数据等。为了实现数据的传递,Android 提供了两种常用的方式,一种是使用 Intent,另一种…

opencv_c++学习(十)

一、图像尺寸变化 图像插值原理 在图像变换的过程中往往需要对像素进行相关的操作。如上图(左)所示,我们会遇到两个相邻的像素块需要映射到同样的位置中,或者两个相邻的位置的像素中间需要映射出一个位置的像素块。这时候我们就需…