自动化测试管理之困(为什么要做TestMP?)- 测试数据管理

leodzw 11年前

测试用例执行所需要输入的数据,以及所依赖的环境数据,都可以被称作测试数据。任何自动化测试都离不开测试数据,但很少人会在实施自动化早期发现测 试数据管理的重要性。最常见的做法是在自动化测试代码中硬编码数据,或使用一组XML或者Excel文件作为数据源。这种做法的缺点是不够灵活和智能,还 不足以适应自动化代码快速增长和变更的现实。

例如某大型网站的测试团队,维护着一套Web自动化功能测试代码,这套代码负责对该网站多个国家/地区站点进行回归,使用到的测试数据包括商品信息、测试账号、商品评论等等,一个数据多个版本。随着自动化测试代码不断的扩充与增长,发现了以下问题:

  1. 很难对数据进行查找,导致无法复用已有的数据。
  2. 无法方便地添加、删除和更新测试数据。
  3. 无法方便地实现脚本化的数据校验和管理。

另一个例子如某个国内公司的业务团队,处于自动化测试体系建设的起步阶段,希望首先对业务服务层的接口建立自动化测试。接口测试的代码逻辑很简单,难点在于如何准备测试数据,其中最明显的问题是:

接口参数对象有比较复杂的结构和继承关系,如果使用传统的测试数据存储方式,需要对每个用例重复创建某一部分属于父类的数据,而且需要有专门代码组装为符合参数类型的对象后才能使用。

问题的症结在哪里呢?我们认为测试数据的管理需要系统化和服务化:

  1. 测试数据的重要性和体量,需要一个专门的系统进行管理,可以使QA方便地查找满足特定条件的数据,以及添加、更新和删除数据。
  2. 测试数据管理系统提供远程访问API,使得可以脚本化地操作被组织起来的数据,实现多种管理,例如数据校验等。
  3. 足够智能的API,可以根据用户指定的类型自动将原始数据转换为该类型的对象实例,而不需要用户编写额外代码进行复杂的转换工作。
  4. 足够智能的API,可以根据用户需要,将多个数据片段组装为指定类型的数据对象,使得某些共享数据片段可以一次添加,多次复用。

TestMP自动化测试管理平台就是按照以上四点,为测试数据管理提供了一种解决方案。

官方网址: http://testmp.org
中文博客: http://testmp.org/blog

TestMP介绍.png