提升测试工具开发的思考

本文针对测试部效率提升测试工具开发、管理、维护暴露出来的问题的一些思考以及一些个人改进观点。

写在前面

  本文提到的效率提升测试工具不是指的部门中固有的自动化测试工具,这里提到的测试工具统一指测试人员在工作之余自主开发用于期望替代重复、繁琐、耗时的手工操作的测试工具,开发的目的是希望提升测试工作效率。不是针对专业工具开发部门团队的测试工具。

测试工具管理暴露的问题

  总体来说,测试内部发布的用于效率提升的测试工具整体质量不高,工具功能、性能、易用性、可维护性质量都不高。大部分测试工具通常都是谁开发的谁用的比较顺手,工具推广度不高。并没有真正让部门其他测试人员效率得到提升。针对这些问题简单调研了一下身边的同事原因,主要以下几个问题。

  1、工具不知道从哪里可以获取。这是测试部工具管理的问题。没有统一的发布路径、测试人员不知道当前测试部都有哪些测试工具可以用,不知道从哪里可以获取到。

  2、工具不会用。测试人员拿到工具不知道怎么使用。对一些相对复杂功能的测试工具没有使用指导书、没有联机帮助。甚至有一些工具开发的菜单、标签、工具名称起的都很含糊。不知道这个工具是要干嘛的。这些通常都是测试人员在开发工具时不考虑工具的易用性问题导致其他测试人员很难上手使用。举个例子,测试工具开发人员用 Python开发了一个windows平台工具但是并没有编译成可执行的.exe程序发布,其他人很难用,首先可能要下载python程序、其他要下载程序依赖的各种类库。用个工具这么麻烦很多人就不想用了。。

  3、工具不好用、经常出现问题。测试工具开发在实现工具时可能只针对某一个具体的场景、某一个具体的业务版本进行开发导致工具并不具备推广性。另外,一些工具交互太多甚至使用时有一些依赖外部条件需要设置程序才能正常执行等等都是导致不好用、没人用的原因。

  4、工具很难维护(可维护性问题)。工具开发人员技能不一、能力高低有区别、对编码规范的遵循程度也不一样。实现工具开发的语言多样化,主流的开发语言Python、Java等还好,如果是AutoIt、vbs等这些比较少用的语言开发的工具后期维护就很麻烦甚至就没人维护了。另外,测试人员毕竟没有对编码规范有很好的理解,代码怎么写的都有、几千行代码注释几乎为0,也没有开发文档说明,维护起来特别困难。

  5、工具需求开发随意、发布路径不统一、工具发布格式不规范。这也是管理的问题。工具没有统一的管理就会衍生出很多额外的问题。比如前文提到的不知道从哪里获取工具、工具没有指导书,我没有编码能力但是我识别出了工作中的短板需要开发工具可以把需求提交给谁。。等等。。这里,不是一定要强制某些工具不能开发,某些工具可以开发。从测试部整体角度来说,将工作量聚焦测试部topN效率短板提升的工具开发肯定是必要的。。

工具开发改进几点意见

  上面暴露的问题在我呆过的很多产品都遇到过,并不是个例。针对这些问题的解决方法,谈一下个人观点。

  1、工具统一管理。测试部内部发布工具开发规范、统一工具发布路径、工具发布格式(工具名称+版本号、工具主要功能、工具作者、工具维护历史、工具开发IDE等)。建议使用主流编程语言开发(Python、Java等),内部强调编程规范等。

 2、工具开发提高易用性。一是减少交互而是方便交互。减少交互主要是指没有必要的输入或者可以固化的输入就集成到软件中,需要依赖的步骤也可以直接在工具中实现。方便交互主要是指在windows系统使用时尽量提供界面化形式的交互窗口。windows上使用的程序培养的习惯是这样。对于linux下,命令行交互没有问题,但是每一步的输入提示描述尽量简单清晰。尽量可以达到傻瓜式的使用。实现的时候就从这个角度考虑。你不期望你给别人工具还要教他怎么用吧。。

 3、提高工具可用性。这是功能的问题。通常这些效率提升工具都是个人在工作之余花时间实现的,要求面面俱到也是很困难,但是尽量还是要保证主场景在绝大多数情况下运行正常,可以正常输出预期结果。不能换一个测试版本工具就出问题就好了,别人可能就不想用了。对于工具的完善可以在下一次迭代优化。这是每一个工具开发人员都是应该思考的问题。。你也不期望自己发布的工具别人一用就出问题。。对自己的形象也不好。。是吧

 4、提高工具可维护性。要求不高,就是多加一些注释,代码自己觉得可读性还可以。函数/类尽量划分的合理。至少保证自己过半年一年再回来看自己的代码还能快速读懂修改就差不多了。。

 5、工具定期宣传。定期挑选一些好用的、具有一定普遍性的工具进行推广。酒香也怕巷子深,每个工具开发作者也希望自己的劳动成果可以真正的让其他人受益,让自己的付出得到别人的认可。

  6、编码技能交流。测试人员整体编码技能还是相对较弱,工具的开发主要还是集中在一小部分人身上。可以将这部分人员统一集中起来多交流、探讨。也可以在测试内部推一些编码基础培训课程或者是一些基础文章,可以帮助有兴趣提升编码能力的测试人员。

小结

   工具开发管理维护使用暴露出的问题挺多的,其实没有啥。毕竟都是测试人员在业余时间开发的。做出来了总比没做出来好,做出来的东西只要稍加引导就可以不断迭代优化改进。不可取的是没有改进意识,容忍低效、重复、繁琐的手工执行工作,这样对自己没有什么好处。。


              【下面是我整理的2023年最全的软件测试工程师学习知识架构体系图】


一、Python编程入门到精通

二、接口自动化项目实战

三、Web自动化项目实战


四、App自动化项目实战

五、一线大厂简历


六、测试开发DevOps体系

七、常用自动化测试工具


八、JMeter性能测试

九、总结(尾部小惊喜)

生命不息,奋斗不止。每一份努力都不会被辜负,只要坚持不懈,终究会有回报。珍惜时间,追求梦想。不忘初心,砥砺前行。你的未来,由你掌握!

生命短暂,时间宝贵,我们无法预知未来会发生什么,但我们可以掌握当下。珍惜每一天,努力奋斗,让自己变得更加强大和优秀。坚定信念,执着追求,成功终将属于你!

只有不断地挑战自己,才能不断地超越自己。坚持追求梦想,勇敢前行,你就会发现奋斗的过程是如此美好而值得。相信自己,你一定可以做到!

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

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

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

相关文章

Nature 确认:大语言模型只是没有感情的「学人精」

DeepMind、EleutherAI 科学家提出,大模型只是在角色扮演。 ChatGPT 爆火后,大语言模型一跃而至,成为了行业与资本的宠儿。而在人们或是猎奇、或是探究地一次次对话中,大语言模型所表现出的过度拟人化也引起了越来越多的关注。 其实…

【数据结构】哈希经典应用:布隆过滤器(哈希+位图)——[深度解析](9)

前言 大家好吖,欢迎来到 YY 滴 数据结构 系列 ,热烈欢迎! 本章主要内容面向接触过C的老铁 主要内容含: 欢迎订阅 YY滴 数据结构 专栏!更多干货持续更新!以下是传送门! 目录 一.布隆过滤器产生的…

第31期 | GPTSecurity周报

GPTSecurity是一个涵盖了前沿学术研究和实践经验分享的社区,集成了生成预训练Transformer(GPT)、人工智能生成内容(AIGC)以及大型语言模型(LLM)等安全领域应用的知识。在这里,您可以…

Plasmocin® Treatment (ant-mpt)可用于干细胞支原体污染清除

Plasmocin™作为Invivogen的支原体抗生素产品之一,受国内外许多科研工作者使用并大力推广。其包含大环内酯物及对苯二酚两种主要成分,可有效作用于支原体复制的蛋白合成阶段和DNA复制阶段,只需两周即可清除支原体污染,并且不会影响…

【CANoe】CANoe手动发送XCP报文读取观测量

文章目录 1、硬件连接:配置CANoe的CAN端口,连接到ECU标定对应的CAN口2、配置CAN IG模块报文:连接XCP,读取观测量,断开XCP3、报文解析4、参考资料 1、硬件连接:配置CANoe的CAN端口,连接到ECU标定…

构筑安全之城:迅软DSE助力大型建筑企业打造数据防泄密方案

电子文件如今已成为各大建筑机构和设计院进行信息存储的主要方式,以及信息交换的重要载体。而对于如何保护好单位内的设计图纸、工程方案等重要资料的数据防泄密问题,就需要相关单位规划好一套合规有效的数据防泄密解决方案。 企业简介 该企业是我国最早…

压缩pdf怎么压缩又小又清晰?超级实用!

当PDF文件过大时,很容易遇到无法上传等现象,这时候我们可以借助一些专业的压缩工具,将PDF文件压缩变小,如果你还不知道怎么做,下面就来看下具体的压缩方法吧。 方法一:使用嗨格式压缩大师 1、打开电脑上安…

Leetcode 78 子集

题意理解: 求一个集合的所有子集。该集合中没有重复元素。 首先明确什么是子集:子集中的元素都在全集里。 [1,2,3] 子集:[]、[1]、[2]、[3]、[12]、[13]、[23]、[123] 注意:[]空集是所有集合的子集。 解题思路: 类似于…

【obs】官方最强插件obs-websocket入门

▒ 目录 ▒ 🛫 导读需求开发环境 1️⃣ obs-websocket简介OBS版本说明obs-websocket版本说明安装(27.x版本OBS)配置插件 2️⃣ OBS-web介绍特征使用方法-5.xhttp vs https 3️⃣ obs-websocket-js开发tester.html 4️⃣ 其它开源项目obs-stud…

vue2-使用vue-i18n搭建多语言切换环境

安装 注意:vue2.0要用8版本的,使用9版本的会报错 npm install vue-i18n8.27.0 --save 创建相关的语言包文件 在src目录下,新建i18n文件夹 在新文件夹i18n中新建langs文件夹,里边放语言文本文件.js zh.js:存…

ADC学习总结

ADC的架构分类: 1、Delta-Sigma 采样率一般是在1M以内,位数一般可以做的很高,比如24位,Delta-Sigma ADC采用了过采样技术,不需要在模拟输入端加抗混叠滤波,由后端数字滤波器进行处理,通过信噪…

Yearning安装及使用

Yearning是基于go和vue开发的一款SQL审核工具。在实际开发中,生产环境DDL、DML脚本一般需要走工单流程进行审批后执行,Yearning可以制定MySQL的SQL审核流程、规范及审批等功能。 一、主要功能 1.支持自定义SQL审核流程2.自动化SQL语句审核,可对SQL进行…

初学者如何入门 Generative AI 之 Stable Diffusion 与 CLIP :看两篇综述,玩几个应用感受一下先!超多高清大图,沉浸式体验

文章大纲 4种 图片生成 的算法扩散模型的起源Stable DiffusionUNetCLIP参考文献与学习路径A synthography of an astronaut riding a horse created in NightCafe Studio with Stable Diffusion XL (SDXL). Prompt is a photograph of an astronaut riding a horse with weight…

MySQL之DML语句

DML语句 数据操作语言DML(Data Manipulation Langua) 是SQL语言的一个分类,用于对表的数据进行增,删,改,查 创建表 CREATE TABLE 语句用于创建数据库中的表。 语法: CREATE TABLE 表名称 (列…

DDD领域驱动架构设计学习网站和开源框架

文章目录 介绍1、国外Axon2、阿里Cola 介绍 近年来,关于DDD的讨论越来越多,关于网上的文章很多都是理论上的介绍,由于自己最近也在学习相关知识,所以分享几个关于DDD落地的开源框架。 1、国外Axon Axon是国外一款比较系统的DDD…

matlab信号分选系统算法-完整算法结构

matlab信号分选系统算法 针对得到的脉冲流PDW进行信号分选,包括重频恒定、重频抖动、重频参差和重频滑变四种脉间调制类型。   这里我们先进行数据的仿真,后续边仿真边分享思路:首先根据信号类型,分别产生重频恒定、重频抖动、重…

el-tree-select 如何使用不规则的数据作为数据来源

el-tree-select 如何使用不规则的数据作为数据来源 在项目中可能使用的 tree 数据并不是那么标准,这样不要紧,只要我们通过 props 指定一下数据结构即可。 比如,项目中的数据结构是这样的: 我们只需要使用 pros 字段指定 tree …

GateWay网关介绍以及整合knife4j聚合所有服务的接口文档

为什么使用网关? 因为多个微服务的端口不同,前端调用不方便,使用网关可以统一接收处理前端的请求,同时方便接口的集中处理,比如鉴权、聚合接口文档、限流等等.. 这里使用Knife4j文档工具来实现接口文档:K…

高校刮起元宇宙风!3DCAT实时云渲染助力川轻化元校园建设

元宇宙,是一个虚拟的网络世界,它与现实世界相互连接,为人们提供了一个身临其境的数字体验。元宇宙的概念并不新鲜,早在上个世纪就有科幻作家和电影导演对它进行了想象和创造。但是,随着科技的发展,特别是5G…

【JMeter】使用nmon进行性能资源监控

一、前言 ​ 在工作中可能会遇到需要在压测的时候对Linux服务器进行性能资源监控的情况。这时可以用nmon来对服务器进行监控。 二、nmon的下载安装 1.查看系统信息 shell cat /etc/os-release结果为 shell PRETTY_NAME"Debian GNU/Linux 12 (bookworm)" NAME&qu…