使用 IBM Optim 和 IBM Rational 测试工具来创建测试数据库

转自:http://www.ibm.com/developerworks/cn/rational/09/optim-with-rational-testing-tools-to-create-test-databases/index.html

本文向您展示怎样使用 IBM Optim 的数据库以及数据生成功能,来进一步扩展 IBM Rational Performance Tester 和 IBM Rational Functional Tester 的测试功能,以简化测试过程的难度,并深化测试的深度。

引言

所有的软件测试都需要进行测试,Rational 测试工具可以帮助您创建测试、自动化测试过程,以及报告测试的结果。本文向您展示了,怎样使用 IBM Optim 的数据库以及数据生成功能,来尽量开发 IBM Rational Performance Tester 和 IBM Rational Functional Tester 的测试功能,以简化测试过程的难度,并深化测试的深度。它一步步地描述了,怎样使用 IBM® Optim™特性,来创建扩展性以及定制好的测试数据库,然后将数据导入 IBM® Rational® Functional Tester 或者 IBM® Rational® Performance Tester 测试性工具,以将数据集成到测试中。

本文采用模块化的工作方法写成,以便对 Optim、Rational Functional Tester,以及 Rational Performance Tester 软件有不同程度经验的读者阅读学习。根据您自己的兴趣和研究需要,您可以跳过其中的一些章节。

概述

我们介绍了从一个实际数据库,定制和导入数据到 Rational Performance Tester 和 Rational Functional Tester 所需要的步骤:

  1. 首先,我们创建一个基础或者对象模型,从分析需求、访问定义,以及数据提取的列映射开始。
  2. 然后我们介绍了 Comma-Separated Values (CSV)文件的生成过程,从分析需求、表映射以及列映射开始。
  3. 接下来,我们将会向您介绍,怎样将 CSV 文件导入 Rational Functional Tester 或者 Rational Performance Tester 数据汇创建向导。
  4. 在上面的章节中,我们向您描述了,怎样使用 Rational Performance Tester 进行测试,以确保 Optim 的完整性。

本例中和准备工作中使用的软件

  • IBM Optim Version 6.5.1
  • IBM® DB2® Version 9.5
  • IBM Rational Performance Tester Version 8.0.0
  • IBM Rational Functional Tester Version 8.0.0

如果您还没有安装这些软件,那么根据 附录中下载的内容,去下载、安装以及配置软件。您只需要这些测试产品中的一件,要么是Rational Performance Tester ,要么是 Rational Functional Tester。

软件概述

Optim

IBM Optim 软件提供了一系列数据库管理特性(查看 Resources 中的内容以获得更多信息)。但是在本文中,我们只关注测试数据管理特性。这些特性通过优化创建和管理测试环境的方式,来加快程序的部署。

Optim 集成化的数据管理,还可以帮助您生成数据和迁移数据引用上的完整子集,以构建现实的以及适合大小的测试数据库。它帮助您降低了维护多个产品复制数据库的费用和工作。您还可以更改私密性的信息以保护隐私。如果您需要进一步的帮助或者信息,那么 Optim 用户信息就是安装在 Your_Optim_Installation_Directory \RT\DOC 处的一系列 PDF 文档。

Rational Performance Tester

这个工具用于识别系统性能瓶颈的所在以及产生原因。Rational Performance Tester 为功能性的测试、回归测试、GUI 测试以及数据驱动测试,提供了自动化的测试功能。查看 Resources 以得到更多信息。

Rational Functional Tester

Rational Functional Tester 是一个自动化的功能性测试以及回归测试工具。它为功能性的测试、回归测试、GUI 测试以及数据驱动测试,提供了自动化的测试功能。(查看参考资源)。

创建访问定义

接下来的一步是创建一个 访问定义,它是用于数据提取的模板以及路线图。该访问定义指定了为 Optim 指定了一系列的相关数据和元数据。使用访问定义来为 Optim 程序定义关系,例如重新存储、获取、移动以及比较数据库。每当 Optim 阅读数据库源时都会引用该对象 。

按照以下步骤,来创建访问定义:

  1. 通过选择 Start > IBM Optim > Optim ,来打开 Optim。
  2. 选择 Definitions > Access Definition ,以打开如图 1 所示的 Access Definition Editor 。
  3. 点击 Table 项以打开 Table 页面。
  4. 在 Table 页面上,指定默认的修饰符。它就是创建表格用户的昵称以及 ID。该例使用 ALIAS.BEN。
  5. 选择起始表格。对于该例我们使用 Customers
  6. 右键点击第二行,然后点击 Add Tables
  7. 通过选择 Ref Tbl 来选择 Details 表格。尽管我们不使用该表格,它对于探索 Optim 还是比较有用的。
  8. 保存访问定义。本例中使用的是 ben.accdef。


图 1. Access Definition Editor
显示 Defaul Qualifier,Start Table 选项 

创建列映射

列映射会从定义表中的源表格中复制列。当您在将数据库中的提取数据转化为新的屏蔽数据时,您将会用到它。

To create a column map:

  1. 选择 Definitions > Column Map 以打开列映射编辑器。
  2. 点击 New 以创建一个新的列映射。
  3. 浏览 Database Table Name 区域的下拉菜单,并为如图 2 所示的源文件和目标文件选择 如图 2 所示的 ALIAS.BEN.CUSTOMERS


图 2. 新列映射窗口
源数据库和目标数据库表格选择

  1. 将销售员 ID 更改为 RAND(0,999999),以用随机的数字来替换 ID。
  2. 保存列映射。该例使用名字 BEN.COLMAP


图 3. Column Map Editor 视图
没有选择任何事物 

创建表映射

表映射源表格到目标表格。Optim 可以使用这些表映射来更改列映射中的数据。在屏蔽数据以及将数据转化为 CSV 文件时,这些映射文件将会得到引用。

按照以下步骤,来创建一个表格映射:

  1. 选择 Definitions > Table Map 以启动 Table Map Editor(图 4)。
  2. 点击 New 以创建一个新的表格映射。
  3. 确定访问定义是准确的,并且得到了处理。
  4. 为了指定目标表格,您可以右键点击目标表格,然后点击 Populate
  5. 用数据库昵称填充 Qualifier 框。
  6. 添加您在前面步骤中创建的列映射。
  7. 保存表格映射。


图 4. 表格映射编辑器
Arrow to Column Map 或者 'LOCAL' 列单元

提取数据

在这一步中,您会创建一个提取请求以定义提取,然后运行请求。提取的文件是一种二进制编码的文件,它可以并将会被转化为一个 CSV 文件。如果您想要重复这个步骤,那么请确保您已经保存了提取请求。此外,您还需要考虑一下,保存 extracted.xf 文件,以用于下一步的数据比较。

  1. 选择 Actions > Extract 以打开 Extract Request Editor (图 5)。
  2. 为提取的文件输入一个名字。
  3. 选择您在前面创建的访问定义。
  4. 保存提取请求。
  5. 点击 Run 以提取数据。
  6. 验证在报告中没有出现错误。


图 5. 提取请求编辑器
从下拉菜单中选择的 BEN.ACCDEF

将 .xf 文件转化为 CSV 文件

该过程使用列映射,来将提取的数据转化为屏蔽的数据。然后再将其导入到一个 CSV 文件中,以便能够导入到 Rational 测试软件中。如果发生了 RUNSTATS 错误请查看 DB2 安装设置

按照以下步骤来将一个 .xf 文件转化为 CSV 文件:

  1. 点击 Actions > Convert 以打开 Convert Request Editor (图 6)。
  2. 选择您在前面创建的表格映射。
  3. 输入目标文件的名字。这里就是存储屏蔽数据的地方,直到它被转化成了一个 CSV 文件。
  4. 为控制文件选择一个位置。
  5. 运行转化。
  6. 保存转化请求以便将来的使用。


图 6. Customers 表格的 Convert Request Editor
源文件、控制文件和目标文件的区域

  1. 点击 New 以创建一个新的转变。新的转变就是 CSV 文件。
  2. 使用以前的控制文件,因为它已经被覆盖了。
  3. 通过输入源文件名字,来为 .xf 文件指定源文件。该文件将会成为 CSV 文件。
  4. 选择您在前面创建的表格映射。
  5. 点击 Create a Comma separated file 以创建一个 CSV 文件。
  6. 点击 Comma Separated 项。
  7. 选择 Customers 作为起始表格。
  8. 右键点击表格名,并编辑列,这样它就会使用所有的列了。
  9. 运行转变。不要去管关于未使用列映射的警告信息,因为在第一次转变中会使用列映射。

    编辑 CVS 文件并创建数据汇

    当然,您需要定义怎样来存储您的数据。

    编辑 CVS 文件

    Optim 不会在 CSV 文件中命名列;因此,您必须给它们起一个名字。在 CSV 文件的开头部分添加一行,以定义列名。在图 7 中的范例中,ID, Name, Address, City, State等等组成了列名。


    图 7. 带有列名的 CSV 文件
    CVS 文件中代码的屏幕截图

    创建数据汇

    通过将 CSV 文件导入到 Rational 测试产品中,来创建一个数据汇:

    1. 打开 Rational Performance Tester 或者 Rational Functional Tester。
    2. 在 Test Navigator 中右键点击,并选择 New > Datapool [sic]。
    3. 给数据汇命名,并使用默认的维数(稍后您可以忽略这些维数)。
    4. 选择 CSV 文件,并选择 First Record is Variable Information ,因为稍后您将会添加它们。
    5. 点击 Finish ,并打开编辑器以编辑您导入的数据 。

    图 8. 带有导入数据汇的 Rational Performance Tester
    Test Navigator 视图

    使用 Optim 来帮助维持测试数据库的完整性

    除了将数据导入到 Rational Performance Tester 中,您还可以使用 Optim 与 Rational Performance Tester 来测试数据的完整性,Rational Performance Tester 会将这些数据保存在您的服务器上。如果在将 .xf 文件转化为 CSV 文件之前,您从 .xf 文件中保存了原始的数据,那么您可以链接到测试服务器上的数据库,并比较基于服务器的数据和原始的数据,原始的数据正是所要导入的数据。这个比较过程,可以帮助您确定数据被正确地放到了服务器数据库的某个位置。

    接下来的程序使用前面步骤中使用的两个 .xf 文件验证了这个原则:data.xf,它有原始的销售员 ID,以及 data2.xf,它拥有一个随机的号码而不是销售员 ID。

    按照以下步骤来比较数据库条目:

    1. 点击 Actions > Compare 以打开 Compare Request 编辑器。
    2. 为保存的比较文件选择一个位置。
    3. 点击 Source 项。
    4. 指定源文件,Data.xf 以及 Data2.xf
    5. 运行比较。

    如图 9 所示,一个报告窗口会出现,以显示两个文件之间的差异。


    图 9. 关于两个比较文件之间差异的详细报告
    具体表格的屏幕截图

    总结

    本文概述了使用 Optim 以为 Rational Performance Tester 和 Rational Functional Tester 生成测试数据的过程。

    1. 创建一个数据库昵称以用于引用您的数据库。
    2. 创建一个访问定义,以定义出于各种目的考虑怎样访问数据库,然后创建一个列映射和表格映射,以进一步地定义您想对数据执行什么操作。
    3. 在完成定义之后,您提取出数据,将条目转化为一个屏蔽的 .xf 文件,然后将 .xf 文件转化为 CSV 文件。
    4. 然后编辑 CSV 文件并将其导入到 Rational Performance Tester。

    注意:
    将它们导入到 Rational Functional Tester 也是十分容易的。

    通过这些步骤,可以很清晰地看清怎样使用 Optim、Rational Performance Tester,、Rational Functional Tester,来创建测试数据。因此,与 Rational Performance Tester 和 Rational Functional Tester 的集成是快捷而方便的。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14780873/viewspace-626045/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/14780873/viewspace-626045/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SQLAlchemy 是一个 SQL 工具包和对象关系映射(ORM)库,用于 Python 编程语言。它提供了一个高级的 SQL 工具和对象关系映射工具,允许开发者以 Python 类和对象的形式操作数据库,而无需编写大量的 SQL 语句。SQLAlchemy 建立在 DBAPI 之上,支持多种数据库后端,如 SQLite, MySQL, PostgreSQL 等。 SQLAlchemy 的核心功能: 对象关系映射(ORM): SQLAlchemy 允许开发者使用 Python 类来表示数据库表,使用类的实例表示表中的行。 开发者可以定义类之间的关系(如一对多、多对多),SQLAlchemy 会自动处理这些关系在数据库中的映射。 通过 ORM,开发者可以像操作 Python 对象一样操作数据库,这大大简化了数据库操作的复杂性。 表达式语言: SQLAlchemy 提供了一个丰富的 SQL 表达式语言,允许开发者以 Python 表达式的方式编写复杂的 SQL 查询。 表达式语言提供了对 SQL 语句的灵活控制,同时保持了代码的可读性和可维护性。 数据库引擎和连接池: SQLAlchemy 支持多种数据库后端,并且为每种后端提供了对应的数据库引擎。 它还提供了连接池管理功能,以优化数据库连接的创建使用和释放。 会话管理: SQLAlchemy 使用会话(Session)来管理对象的持久化状态。 会话提供了一个工作单元(unit of work)和身份映射(identity map)的概念,使得对象的状态管理和查询更加高效。 事件系统: SQLAlchemy 提供了一个事件系统,允许开发者在 ORM 的各个生命周期阶段插入自定义的钩子函数。 这使得开发者可以在对象加载、修改、删除等操作时执行额外的逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值