前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数据管理策略的三个案例

数据管理策略的三个案例

作者头像
Criss@陈磊
发布2020-07-01 10:06:05
9070
发布2020-07-01 10:06:05
举报
文章被收录于专栏:测试技术圈测试技术圈

本文不是讲述测试数据管理的具体技术,而是测试数据管理的策略。

Seed Data

之前在外企做UI自动化的时候,有一套所谓的Seed data。这套数据是产品的一部分,安装完就有,业务上主要给客户做demo用。我们用它来做自动化的上下文。 譬如在项目管理系统JIRA中,如果需要报告一个缺陷,需要的上下文是:项目、缺陷工作流、系统、版本、报告人员、开发人员等业务对象。 所谓的Seed Data就是类似一个项目A、几个系统B/C,若干个人员(甲乙丙丁、admin)以及默认的工作流等等这些业务对象的集合。 有了这个套数据之后,类似新建缺陷、新增任务等测试用例就可以直接在包含了这套数据中运行了。 如以下的一个用例:

代码语言:javascript
复制
作为用户(甲),我可以登陆项目A,报告一个缺陷。该缺陷可以关联到系统B。

只要被测系统已经被安装,上述用例就可以被运行。

Dump Data

第二个套路是针对某个金融系统的。这类系统的问题是里面的业务对象都是在变化的,譬如产品/合约/价格/客户等等。例如,贵州茅台这个股票的价格每天都是变化的。这与第一个案例中的固定数据是不同的。 我们采用的是自给自足控制上下文的套路。每次业务改造的测试开始前,先基于基础环境准备一套数据dump,然后所有人的测试用例是基于这套数据写的,也只能在这套dump下运行。 运行时先部署环境,在一个干净的只有二进制的环境里倒入数据,包括系统配置,再运行用例,如:

代码语言:javascript
复制
作为一个股民,我希望通过多普达手机,购买1000手贵州茅台,成交价格为100元。

回归测试的时候,只要和用例配套的dump data已经导入系统,相关的用例就能保证可以正确运行。甚至极端情况下,如数据库接口/配置项异常测试时,每个用例都有一套属于自己的Dump Data,用来控制系统以确保在用例运行时处于正确的上下文。 所以日积月累,就累积了几十套数据,体积上有10G左右。除了体积庞大之外,如果新版本改造过程中涉及数据格式、配置文件等调整,就需要维护所有的用例集的dump 数据,有不少的工作量。

动态数据

这块目前还在试点,应用范围较小。主要目标是解决第二套方法中,用例和数据绑定的问题。希望能够通过用例与数据解耦,可以不用维护庞大的dump data,而是在运行时根据规则,可以动态的去query/filter,产生可用的数据来作为输入/预期结果,如以下的案例:

代码语言:javascript
复制
Bean order = new Order;
order.stock=findAStockWithHighestPrice();
order.number=MimValidQuantity();
order.price=LastPrice();
buy(order);

目前主要是在系统线上运行,发挥冒烟测试的功能。

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

本文分享自 质问 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Seed Data
    • Dump Data
      • 动态数据
      相关产品与服务
      项目管理
      CODING 项目管理(CODING Project Management,CODING-PM)工具包含迭代管理、需求管理、任务管理、缺陷管理、文件/wiki 等功能,适用于研发团队进行项目管理或敏捷开发实践。结合敏捷研发理念,帮助您对产品进行迭代规划,让每个迭代中的需求、任务、缺陷无障碍沟通流转, 让项目开发过程风险可控,达到可持续性快速迭代。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档