数据银行最佳实践
1. 前言
本文介绍了使用阿里云云效-专有云版本的数据银行产品,来实现自动化准备测试数据,进而提升手工/自动化测试的效率。本文以一个电商网站业务为例,提供数据银行的组织方式、开发准备、管理规范及持续运营的参考示例,为客户在数据银行落地中提供方法及实践双层面的指导。
2. 最佳实践概述
测试数据准备是软件测试过程中至关重要环节之一。无论是手工测试、自动化测试、页面测试、接口测试、功能测试、还是性能测试,均避不开测试数据的准备工作。测试数据的丰富程度会给测试的完备性带来巨大影响,同时,测试数据准备的难易也在一定程度上决定了测试效率。
另外,DevOps 倡导通过开发自测、自运维提升软件研发的效率,而开发自测遇到的最大难题就是数据准备。此问题不解决,开发自测就不可能真正落地。阿里云云效-专有云版本数据银行产品的设计初衷是:降低数据准备的能力门槛,提升测试数据准备效能。该产品的设计方案是,将散落在各个测试同学手中的数据准备能力沉淀到平台,研发人员使用平台能力完成数据准备工作。数据银行在落地过程中存在几大问题:配置单如何组织、由何角色开发和维护、配置单如何开发、数据银行如何持续运营。因此,便有了这份最佳实践,以供大家参考。
【适用场景】 数据准备是软件测试过程不可或缺的环节之一,可谓是 “无数据不测试”。数据银行解决的是数据准备门槛和效率问题,适用于所有软件研发场景,如 WEB、APP 等。不同角色的适用场景如下:
- 测试团队:功能/自动化/性能测试数据准备
- 开发团队:开发自测数据准备
- 产品/UAT人员:产品体验数据准备
【实施步骤】
- 下图为数据银行的实施步骤及每个步骤的负责人:
【方案优势】
- 降低数据准备成本,节省测试资源,缩短工时。
- 多维度组合数据准备,秒级复杂场景数据准备。
- 实现零门槛数据准备,赋能开发自测,实现质量前移及 DevOps,提升技术团队端到端的效能。
3. 前置条件
在执行本文操作前,请完成以下准备工作:
- 所在公司已购买并开通云效数据银行产品模块。
- 已注册云效账号并完成认证,可以登录云效平台。
- 完成云效产品培训并通过相关考试。
- 加入云效的钉钉答疑群(联系本公司云效接口负责人入群)。
4. 工具准备
- 本方案使用 Chrome 浏览器,需提前准备。
- 安装钉钉或企业微信。
5. 自动化准备测试数据
5.1 数据银行组织
测试 Leader 梳理所负责业务的部门和产品线信息,产出下图所示的组织树。而数据银行根据部门和产品线组织配置单,所有的配置单归属于具体的产品线下。然后,测试 Leader 需成立数据银行落地虚拟小组,每条产品线都需要一个对应的负责人,该负责人完成配置单需求梳理,以订单为例,其大致需求如下:
- 上下游产品线需求:待支付订单(测试支付)、已提交退款申请订单(测试退款),已确认收货订单(测试评价)
- 产品线内需求:已支付订单(测试发货)
5.1.2 录入部门及产品线等信息
【操作步骤】:
- 由数据银行 > 系统设置 > 部门产品线管理 > 添加部门和产品线,进入部门及产品线管理。
- 点击添加部门和产品线,完成信息填写并确定。
5.2 数据银行开发(配置单开发)
负责某条产品线数据银行开发的业务测试,根据步骤 5.1 产出的需求进一步去梳理业务架构及数据架构,为数据银行配置单开发做准备,相关的内容如下:
- 业务架构:业务架构图、业务流程图、状态转换图
- 数据架构
例如,对于订单支付场景,需要的测试数据是一条待支付的订单。那么,数据准备的工作是向订单相关表中写入一条完备的订单数据,且该订单的状态为 “待支付状态”。通过数据架构图,我们能够知道往哪一张表中写入数据及对应的 SQL,业务架构中的状态转换能够明确对应的订单状态值。该配置单的开发流程如下:
5.2.1 生成 SQL
数据银行提供 Insert 语句的 SQL 准备功能,消除用户手写 SQL 的成本,数据银行开发仅需关注具体的数据逻辑即可。
【操作步骤】:
- 由数据银行 > 高级功能 > SQL助手 > 新增,进入数据源(数据库)配置页面。
- 配置数据源。在数据源管理页面增、删、改数据源。
- 由数据银行 > 高级功能 > SQL助手,选择数据源及表。
生成 SQL。数据银行会自动扫描数数据源下的所有表,只需要以下 3 步即可使用数据银行生成 SQL:
- 插入的数据库表;
- 配置字段的插入值;
- 点击生成 SQL按钮。
5.2.2 使用 SQL 创建配置单
【操作步骤】:
由数据银行 > 数据池 > 我的配置单 > 新增配置单,进入新增配置单页面。
配置基本属性,如产品线、配置单名称等。
配置执行任务类型,如 SQL 任务、插入 redis 任务、执行 Linux 命令等。
配置任务执行信息,对于 SQL 配置单而言则需要配置操作的数据源、环境类型、需要执行的 SQL 语句等。
执行配置单,验证配置单的有效性。
5.3 数据银行使用(使用配置单造数据)
数据银行配置单的使用者(开发/测试/产品/UAT)无需关注配置单的生成逻辑,仅需根据自身需求找到对应的配置单执行即可。
【操作步骤】:
- 由数据银行 > 配置单 > 生成数据,找到对应配置单。
- 选择待执行环境及配置执行次数,执行配置单生成数据。 注:执行次数即生成数据的条数。
- 获取数据执行结果。 执行配置单后平台会自动跳转到执行结果页面,该页面会自动刷新拉取后台的执行结果。
5.4 数据银行持续运营
5.4.1 持续维护
随着产品的演进,其业务架构、数据架构也会发生持续不断的变化。配套的数据银行不可能是一招鲜,而是需要随着业务的变化(研发项目)仅需持续的维护。若研发项目中对于数据准备逻辑有修改,测试负责人需要在项目中评估数据银行相关的改动,在项目中完成配置单的升级改造。
5.4.2 数据运营
数据银行只有经过用户真实地使用,才能提升测试数据准备的效能。因此,作为数据银行的建设者,需要持续关注配置单的执行情况。执行情况有两类:
- 执行次数:证明数据银行产生了对应的价值。
- 执行成功率:成功率低的配置单非但不能提升效率,反而会适得其反。因此,配置单的负责人需要持续关注成功率,即使是维护成功率低的配置单。
数据银行提供数据运营能力,将配置单的执行次数及成功率可视化(入口:数据银行 > 高级功能 > 数据统计)。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论