前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >关于数据工厂平台的路线投票

关于数据工厂平台的路线投票

作者头像
我去热饭
发布2022-05-19 13:43:11
2210
发布2022-05-19 13:43:11
举报
文章被收录于专栏:测试开发干货

数据工厂平台,也就是快速构造各种测试数据的平台。

这个重要性和实用性不言而喻。很多人都需要,隔壁小孩都馋哭了哪种。

平台的基本原理其实就是 通过一些输入数据,然后操作shell/数据库/一些算法/接口/第三方等等来输出 你需要的数据。

而这些数据的构造有个显著特点,就是需要大量麻烦繁琐的步骤。

这里我们要考虑到,输入的数据从哪来?

  1. 用户手动输入
  2. 代码调用接口获取
  3. 代码调用一些文件/表格获取
  4. 代码去查数据库

以上这些,是常见的入口数据。所以平台的打造应该是如下:

用户手动输入一部分,其他凡事能你用代码拿到的数据都交给代码。然后通过后台函数返回用户期待的数据:

以下我举个例子:

比如我是做房地产行业的,我需要建造一套测试环境房源用来测试。

手动构造的步骤是:

打开app-登陆账户-进入构造页面-开始构造-输入房源标题-价格-地址-类型-各种规则等等-然后拍照上船-然后提交审核-然后去我们后台审核平台去找到这个审核申请-然后选中一些补充一些点击确认-然后需要测试环境登陆堡垒机-进入特定目录-执行跑批脚本-然后app上房源点击上线。

整个过程麻烦程度可见一斑,而这还只是简化了说。比如其中一个地址,就要包含 国家-省-市-区-县-街道-门牌号 等等。规则包含-入住/退订价格/配套设施/加客人.........等等数十条。其中的价格又包含 日价/包月/特殊价/会员价/节日价/几点后的折扣 等等等等。

如果你用手去构造一套房源,就算是对业务流程非常熟悉的老测试,都需要十几分钟,新手?那就是根本建造不出来。 更主要的是麻烦啊。谁愿意这么累啊~

这种情况很多很多,这种需求成百上千,什么优惠卷。什么消息通道,什么订单,什么点评。每一个 都是让人头疼的存在,这严重拉低了 测试效率 ,提高了大家对测试无聊过程的反感,浪费了我们的生命,浪费了我们本该花在如何设计用例的时间。

所以这种数据构造平台就显得非常非常重要。而且不只是我们测试自己在用,开发同学,产品同学,运维同学等 也都是常客。

上面说了这么多,那么具体这种平台长啥样呢?

这就给大家来个图:

这个房源构造 截图是我缩小了浏览器🔍比例,所以排版看起来不是很好。

但是这个页面就很简单了。其实如果没有特殊要求,只需要输入测试同学的房东账户密码,点击构造按钮就可以了~

甚至还可以控制次数~

而下面那么多输入框,其实全都有最常用的默认值,使用者什么都不用管直接点构造就可以,除非是有特殊需求,比如说要构造一个 日价200块钱的~ 那么就去下面找到价格一改,然后点构造就可以。

这就是传统的快速构造平台。那么它从页面上拿到用户的特殊输入数据,然后又有自己的默认值。

整个过程之前也说了。极为复杂,到底多复杂,让人不敢回忆的那种复杂。

当时就单这一个功能,半条命进去了~ 但是好在这工程属于一劳永逸的,而且几乎无人敢动这的代码,除了你。

整个执行过程非常复杂和漫长,所以难免会经常有改动,这时我们为了不去重构项目代码,然后重新部署到服务器。所以就开发出来了在线维护所有步骤的功能。

如上图,可见,这个页面可以在线进行步骤设置,是调接口,还是调数据库,还是调shell ,都可以。看到上面id害怕么?104. 没错,需要104步才能构造完这个房源,毕竟一个房源的画像真的是几百个维度,这也是我们小猪的擅长专业所在,所以欢迎大家旅游出门都用小猪民宿哦~ 我们那是相当负责且专业的呢~

试想一下,如果这些步骤让人去操作。半条命估计不够~

好了上面介绍的,仅仅是一个功能。而我司的这个数据工厂平台包含数十个这样的功能。其实最难的不是写代码,而是很多诸如页面逻辑和接口,还有接口的参数,数据库的地址,shell的脚本,这些都需要你去发现,询问其他同事,不断的试错~ 才能构造成功。这个过程你也许会放弃,会退缩,会重复测试一百次,才可能最终成功~ 当然我说的这个算是比较复杂的,大家公司内也肯定有很多简单的小数据需求。

但是请记住,大多数情况下,越简单的功能越没人用,越像这种复杂的,越有人用~

好了 重点来了!!!

当年仅凭在下一人之力,打造出这个平台,然后又陆续搞了其他七八个不同领域的测试平台。本以为公司要卸磨杀驴了,结果发现这些平台覆盖的业务太大了,只要开发每天在改代码,产品在提需求,那么你的平台对应的快速构造数据基本也要同步更新,所以无止境的维护任务等待你,你闲不下来了~

这也是为什么建议大家 打造自己公司的数据工厂的原因之一~

好了,上面是开玩笑说的,大家别往心里去~

在这种情况下,我决定数据工厂平台

从【自营模式】走向【市场模式】

也就是我提供一个平台,然后由所有同学在上面自行设计/开发/维护 数据构造的小工具。这样才是从根本上转移维护压力,走出了一个可持续发展路线。

而且对于很多同学对代码技术的向往,自己也可以在上面创造工具,而不是等着我做好然后用,有理想的测试同学都会欢迎这样的市场化平台。然后我的平台存在的意义是什么呢?或者说凭什么人家不自己电脑本地写个脚本,非要到你平台上写脚本呢?

那就是我能提供很多便利和量化:

你不用考虑django的技术,也不用考虑做前端页面,也不用考虑控制数据库/shell/并发/线程/性能/数据管理等的复杂算法。只需要单纯写好python/java的简单调用代码即可(代码放在了页面上,可维护)

而且对于统一所有各种工具的风格上有很大作用,因为风格统一,其他人在用的时候没有什么学习成本。

而且对于工具脚本互相之间的流通,减少造轮子的重复成本也有本质上的改善,不然你写了个造订单的脚本,别人都不知道。就算知道了,每次还要麻烦你在本地执行,你也嫌累。

对于想秀出自己的同学,这个平台更好了。你利用统一全公司的流量给他进行工具推广,树立下名气~

对于某些需要用工具来量化okr/kpi的同学也很好。不然没人知道你的工具造出来到底好在哪,用了多少次,给组织创造了多少贡献,领导也好给你打分,给你升职加薪,也好跟上层领导做汇报~

对于维护更简单了。你创造的工具不一定非要你负责维护,之后谁对这比较熟悉新业务,谁就可以帮你进行维护~

那么给大家看一下这个热饭新设计的市场化数据构造平台的样子~

热饭给这个设计叫做,测试平台小程序~ (意思是任何人都可以自己在上面开发小程序)

新建一个空白的小程序是下面的样子:

使用者可以在上面添加各种输入框,环境选择,数据库选框等,构造出基本输入架构后。

打开下面的在线代码编辑:

开始写代码,然后保存,支持最多三个不同的脚本,当然有页面调试功能。

然后平台会自动生成对应的执行按钮等。

下面展示一个小的工具完成效果:

其他人进来后,看到的就是如上图的效果。

输入房源标题部分后,数据库发现作者已经选好了。自己可以选其他的数据库也。

然后点击执行按钮,下面就会出现 成功/失败的 结果和数据了~

好了,介绍完以上俩种数据平台,大家想学哪一种,可以在此进行投票了:

过几天有空就开始新开这个系列呢。

虽然上面我觉得第二种是更先进的,但是前提是公司的同事都有空且基础不低的情况,如果你的水平远超其他同事太多,建议还是第一种平台,让同事省心,你多费费心比较稳妥。不然其他同事写的工具脚本水平太差,那就失去了意义。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-11-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 测试开发干货 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档