返回介绍

数据银行最佳实践

发布于 2024-05-30 23:00:45 字数 22622 浏览 0 评论 0 收藏 0

1. 前言

本文介绍了使用阿里云云效-专有云版本的数据银行产品,来实现自动化准备测试数据,进而提升手工/自动化测试的效率。本文以一个电商网站业务为例,提供数据银行的组织方式、开发准备、管理规范及持续运营的参考示例,为客户在数据银行落地中提供方法及实践双层面的指导。


2. 最佳实践概述

测试数据准备是软件测试过程中至关重要环节之一。无论是手工测试、自动化测试、页面测试、接口测试、功能测试、还是性能测试,均避不开测试数据的准备工作。测试数据的丰富程度会给测试的完备性带来巨大影响,同时,测试数据准备的难易也在一定程度上决定了测试效率。

另外,DevOps 倡导通过开发自测、自运维提升软件研发的效率,而开发自测遇到的最大难题就是数据准备。此问题不解决,开发自测就不可能真正落地。阿里云云效-专有云版本数据银行产品的设计初衷是:降低数据准备的能力门槛,提升测试数据准备效能。该产品的设计方案是,将散落在各个测试同学手中的数据准备能力沉淀到平台,研发人员使用平台能力完成数据准备工作。数据银行在落地过程中存在几大问题:配置单如何组织、由何角色开发和维护、配置单如何开发、数据银行如何持续运营。因此,便有了这份最佳实践,以供大家参考。

【适用场景】 数据准备是软件测试过程不可或缺的环节之一,可谓是 “无数据不测试”。数据银行解决的是数据准备门槛和效率问题,适用于所有软件研发场景,如 WEB、APP 等。不同角色的适用场景如下:

  • 测试团队:功能/自动化/性能测试数据准备
  • 开发团队:开发自测数据准备
  • 产品/UAT人员:产品体验数据准备

实施步骤

  • 下图为数据银行的实施步骤及每个步骤的负责人:image.png

方案优势

  • 降低数据准备成本,节省测试资源,缩短工时。
  • 多维度组合数据准备,秒级复杂场景数据准备。
  • 实现零门槛数据准备,赋能开发自测,实现质量前移及 DevOps,提升技术团队端到端的效能。

3. 前置条件

在执行本文操作前,请完成以下准备工作:

  • 所在公司已购买并开通云效数据银行产品模块。
  • 已注册云效账号并完成认证,可以登录云效平台。
  • 完成云效产品培训并通过相关考试。
  • 加入云效的钉钉答疑群(联系本公司云效接口负责人入群)。

4. 工具准备

  • 本方案使用 Chrome 浏览器,需提前准备。
  • 安装钉钉或企业微信。

5. 自动化准备测试数据

5.1 数据银行组织

测试 Leader 梳理所负责业务的部门和产品线信息,产出下图所示的组织树。而数据银行根据部门和产品线组织配置单,所有的配置单归属于具体的产品线下。然后,测试 Leader 需成立数据银行落地虚拟小组,每条产品线都需要一个对应的负责人,该负责人完成配置单需求梳理,以订单为例,其大致需求如下:

  • 上下游产品线需求:待支付订单(测试支付)、已提交退款申请订单(测试退款),已确认收货订单(测试评价)
  • 产品线内需求:已支付订单(测试发货)

数据银行

5.1.2 录入部门及产品线等信息

操作步骤】:

  1. 数据银行 > 系统设置 > 部门产品线管理 > 添加部门和产品线,进入部门及产品线管理。数据银行
  2. 点击添加部门和产品线,完成信息填写并确定数据银行

5.2 数据银行开发(配置单开发)

负责某条产品线数据银行开发的业务测试,根据步骤 5.1 产出的需求进一步去梳理业务架构及数据架构,为数据银行配置单开发做准备,相关的内容如下:

  • 业务架构:业务架构图、业务流程图、状态转换图
  • 数据架构

例如,对于订单支付场景,需要的测试数据是一条待支付的订单。那么,数据准备的工作是向订单相关表中写入一条完备的订单数据,且该订单的状态为 “待支付状态”。通过数据架构图,我们能够知道往哪一张表中写入数据及对应的 SQL,业务架构中的状态转换能够明确对应的订单状态值。该配置单的开发流程如下:

5.2.1 生成 SQL

数据银行提供 Insert 语句的 SQL 准备功能,消除用户手写 SQL 的成本,数据银行开发仅需关注具体的数据逻辑即可。

操作步骤】:

  1. 数据银行 > 高级功能 > SQL助手 > 新增,进入数据源(数据库)配置页面。数据银行
  2. 配置数据源。在数据源管理页面增、删、改数据源。数据银行
  3. 数据银行 > 高级功能 > SQL助手,选择数据源及表。数据银行
  4. 生成 SQL。数据银行会自动扫描数数据源下的所有表,只需要以下 3 步即可使用数据银行生成 SQL:

    1. 插入的数据库表;
    2. 配置字段的插入值;
    3. 点击生成 SQL按钮。数据银行

    数据银行9

5.2.2 使用 SQL 创建配置单

操作步骤】:

  1. 数据银行 > 数据池 > 我的配置单 > 新增配置单,进入新增配置单页面。数据银行

    数据银行

  2. 配置基本属性,如产品线、配置单名称等。数据银行

  3. 配置执行任务类型,如 SQL 任务、插入 redis 任务、执行 Linux 命令等。数据银行

    数据银行

  4. 配置任务执行信息,对于 SQL 配置单而言则需要配置操作的数据源、环境类型、需要执行的 SQL 语句等。数据银行

  5. 执行配置单,验证配置单的有效性。数据银行

    数据银行

    数据银行

5.3 数据银行使用(使用配置单造数据)

数据银行配置单的使用者(开发/测试/产品/UAT)无需关注配置单的生成逻辑,仅需根据自身需求找到对应的配置单执行即可。

操作步骤】:

  1. 数据银行 > 配置单 > 生成数据,找到对应配置单。数据银行
  2. 选择待执行环境及配置执行次数,执行配置单生成数据。 注:执行次数即生成数据的条数。数据银行
  3. 获取数据执行结果。 执行配置单后平台会自动跳转到执行结果页面,该页面会自动刷新拉取后台的执行结果。数据银行

5.4 数据银行持续运营

5.4.1 持续维护

随着产品的演进,其业务架构、数据架构也会发生持续不断的变化。配套的数据银行不可能是一招鲜,而是需要随着业务的变化(研发项目)仅需持续的维护。若研发项目中对于数据准备逻辑有修改,测试负责人需要在项目中评估数据银行相关的改动,在项目中完成配置单的升级改造。

5.4.2 数据运营

数据银行只有经过用户真实地使用,才能提升测试数据准备的效能。因此,作为数据银行的建设者,需要持续关注配置单的执行情况。执行情况有两类:

  1. 执行次数:证明数据银行产生了对应的价值。
  2. 执行成功率:成功率低的配置单非但不能提升效率,反而会适得其反。因此,配置单的负责人需要持续关注成功率,即使是维护成功率低的配置单。

数据银行提供数据运营能力,将配置单的执行次数及成功率可视化(入口:数据银行 > 高级功能 > 数据统计)。数据银行

数据银行

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文