测试基础 【自肝脚本平台 Uranus】让测试更轻松!

秦杰 · 2023年12月12日 · 最后由 秦杰 回复于 2023年12月15日 · 7108 次阅读

一、背景

注意:本文所介绍的平台是工作中按照需求实际开发使用的,只是为了给大家分享一种思路,欢迎大家一起交流!

为了能提高公司软件项目测试效率和准确率,需要开发一些通用的测试脚本来减少某些需要大量人工操作时间的流程,从而为公司节省人工成本,更好地促进公司项目的 QA/QC。同时,为了满足脚本能在不同的项目中重复使用、所有的测试小伙伴都能使用,那么我们决定自肝一个脚本平台来承载脚本,方便使用。

二、Uranus 脚本平台简介

Uranus 脚本管理平台,将开发的通用测试脚本集成在平台上并使其可视化、配置化,可以让测试人员更加方便、灵活、高效地调用测试脚本,从而极大提高测试效率和正确性。
Uranus 脚本管理平台由八大基本模块构成:脚本管理、项目资源配置、项目环境配置、项目参数配置、公共配置、项目管理、角色管理、用户管理。平台将脚本单独抽离,使其成为一个 “脚本库”,所有的项目均可以调用 “脚本库” 中的脚本,而脚本所依赖的环境,则只需要通过项目资源配置、环境配置、参数配置即可。

三、Uranus 脚本平台特点

1.通用:脚本可以在任何环境(如预发布、测试服、正式服等),任何项目下执行,因为脚本只依赖于配置。
2.提效:脚本的主要目的就是为了提高生产效率以及保障产品的质量,每一个脚本都大量减少了人工耗时,同时,也间接性加强了测试的准确性和稳定性。
3.易使用:“一次配置,永久生效”,每一个项目只需要进行配置最基础的环境和脚本执行条件即可,触发脚本只需要简单地点击按钮操作即可。
4.可拓展性:平台开发完成之后,基础模块功能基本就不用变动了,我们只需要不断根据业务需求开发相应的脚本功能,再把脚本集成在平台即可。同时,开发出来的脚本,在平台的高配置性下,也可以增加脚本的通用性。

四、Uranus 脚本平台基本功能

1.创建项目

非常简单地输入项目名称、简介,选择一个封面即可。项目的作用在于区分不同项目的数据库、IP 配置,以及不同的项目需要使用的脚本也不同,我们都可以根据项目进行灵活配置。创建好项目后,我们就可以进入项目进行相关操作了。

2.配置项目环境

根据项目配置其 Mysql、Redis、IP 相关的基本信息即可,配置完成后根据项目需求(有些项目没有使用 Redis 或 IP 地址,则只需要组合 Mysql 即可),进行环境组合。

3.配置项目参数

a.基本参数配置
你可以配置任何一个 Mysql 数据库、数据库表、参数作为基本参数,本项目的基本参数主要应用于查询硬件设备采集上来的数据,所以定制了设备编号字段、采集类型、统计类型。(因为与项目实际情况强相关,此处不做过多阐述)。配置完成之后,会按照规则每一个小时去目标数据库拉取数据存到项目数据库中进行存储,方便后续脚本调用时进行使用。

b.动态参数配置
配置一些脚本需要使用到的值。(因为项目中这些值可能会发生变化,所以叫动态值)

c.公式配置
配置项目需要使用到的公式,这里配置公式时,就可以引用上方所配置的 “基本参数” 和 “动态参数”。引用时,需要使用指定的规则,如:基本变量引用使用单引号,动态变量使用双引号。引用后,公式脚本在进行调用时,会自动将引用的参数转换为对应的值参与计算。

4.公共配置

公共配置目前只有一个——脚本,脚本新建成功后,不依赖于当前项目,任何项目都可以进行分配使用,实现了脚本通用的基本条件。

5.项目资源配置

a.项目数据库
根据需求,配置项目需要使用到的数据库。

b.项目脚本分配
根据需求,配置项目需要使用到脚本(此处的脚本列表来自于上方的公共配置)。

c.告警设置
如果脚本需要向钉钉发送告警信息,则需要配置钉钉相关数据。

6.脚本调用

上方的 5 个步骤均是为了实现这一步脚本调用而做的准备,实际使用时,完成一次配置后,只需要在此进行脚本调用即可。脚本调用列表来自于上方的项目脚本分配,分配了的脚本都会出现在该列表中,提供给测试人员进行调用。调用时,可以选择脚本的执行环境,执行环境也是来自于上方配置的环境组合,这就实现了一个脚本可以在不同的项目环境中进行使用。

五、脚本使用

这里给大家简单阐述我平时工作中用得最多的两个脚本,“采集监控” 和 “公式计算”。
a.采集监控
背景:实际项目中,拥有大量的硬件设备,软件平台需要采集硬件的相关基础数据(整栋楼大概有几千台设备需要采集),这些基础数据是构成其他业务功能最基本的组成部分,所以这部分采集数据非常重要。我们作为测试,不可能整天盯着这几千台设备产生的数据来看吧,那么如何第一时间发现采集异常问题,及时告知开发人员处理解决呢?答案是:监控。

脚本介绍:采集监控脚本,使用之前,需要先选择监控的环境(来自于上方的基础配置),然后需要配置监控的时间间隔(多久监控一次,数据多久没有入库便产生告警提醒),配置监控是否启,以及需要监控的数据库表。配置完成后,即可根据配置进行实时监控。同时,可以查看告警记录(多久未采集,上一次采集时间)和采集故障率,产生告警后也可以直接向钉钉群发送告警。

b.公式计算
背景:实际项目中,也会有许多公式计算相关的需求,比如通过大楼每一天的用电量来计算碳排放,大楼一个月的用电量来计算、大楼一年的用电量来计算等.....。测试如果需要测试这种需求,不仅需要了解公式本身,还得去找基础数据(每天、每月、每年等),如果公式很多,且基础数据又很多,一个可以,十个可以,一百个上千个呢,所以我们需要一个自动根据公式计算的脚本来测试公式计算结果的正确性。

脚本介绍:公式计算,首先我们在配置公式前需要配置基础参数和动态参数(如何配置上面已经阐述),配置完参数后就可以配置公式。最后直接调用公式脚本即可查看所有已配置公式的计算结果,同时还可以看到每一个基础参数和动态参数的值,顺便还可以测试基础变量的值是否存在异常的现象。

六、平台高可扩展性

我们做一个团队自己经常使用的平台,必须要关注平台本身的可扩展性和维护性才行,不然一直都在维护平台本身的路上。
Urnaus 平台主要分为基础模块、配置模块和脚本模块。其中,基础模块和配置模块开发完成后,整个平台的大体框架基本定型,后续无需再进行太多功能上的升级扩展便足以支撑脚本的调用运行。脚本模块中,已开发的脚本可以一直重复使用,如若需要升级优化,也可以在单个脚本上进行优化,不会影响其他模块的使用和运行。同时,后续也可以根据业务需求不断增加脚本,只需要专注于脚本本身进行开发即可。

七、总结

以上文章是本人根据工作中实际经验和需求所开发编写的,简单分享了一下整个脚本平台的核心思路,有了这个平台的基础,今后可以根据需求不断增加一些能提升工作效率的脚本,同时这些脚本又具有高可重复使用性。

最后,欢迎各位大佬一起交流,提出宝贵的意见,让我们的测试之路更加简单!

共收到 6 条回复 时间 点赞

支持一下 ~

开源?

cooling 回复

暂时不开源哦,目前就公司内部在使用,后期打磨好了会开源,现在就是分享交流一下~

你这前端是 TDesign?

。。。。。每个测开的工具都说让测试更轻松,结果都是徒增工作量

测试新人 回复

文章中提到的脚本都是我们公司实际在使用的哈,就比如说计算公式脚本,没有这个脚本的时候,测试人员在测试一个计算公式需求的时候大概花了 5 个小时左右,后面有这个脚本之后相同工作量只花了 30 分钟的配置时间,而且配置好了之后做回归只需要看结果对比就行了,这不是提效是什么呢

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册