首页 测试 工具 查看内容

浅谈QTP的数据库检查点使用流程

2014-8-29 00:33| 发布者: | 查看: 586| 评论: 0

摘要:   QTP的检查点是基于录制回放机制的,只有你把要测试的软件录制到对象仓库里才能使用检查点。 QTP提供了标准检查点、文本检查点、图像检查点、数据库检查点。因为在开发的过程中,软件经常改变,所以对象仓库的管 ...

  QTP的检查点是基于录制回放机制的,只有你把要测试的软件录制到对象仓库里才能使用检查点。 QTP提供了标准检查点、文本检查点、图像检查点、数据库检查点。因为在开发的过程中,软件经常改变,所以对象仓库的管理非常不方便。检查点又是基于对象仓库的,所以使用起来也是极其不方便的。在QTP提供的检查点里面,本人认为最实用的就是数据库检查点(Database checkpoint)了,使用QTP数据库检查点技术含量要求最高。需要你懂数据库语句,懂得ODBC数据源的知识。

  书籍上介绍的数据库检查点的使用总是有点差强人意。

  一般使用QTP数据库的流程:

  假设是飞机订票程序,订票后的结果是要写入数据库的订票数据表(orders表)。

  1.先通过控制面板--》管理工具--》数据源 (ODBC)  建立连接数据库的数据源假设数据源的名称为:flight.dsn

  2.录制订票(插入数据)的脚本,假设姓名为abc的人要订票。

  3.插入数据库检查点

  通过flight.dsn连上数据库,然后通过查询语句把数据库中某个表(假设是orders表)的数据查询出来存到QTP的数据表(Data Table)中,选择你要检查的行,或者某个表格(cell)。

  4.回放录制的程序。

  5.查看回放后的输出结果。检查数据库检查点(Database checkpoint)是成功或者失败。

  上面的流程为一般的使用数据库检查点(Database checkpoint)的过程,但这样使用有一个非常明显的错误是:当你回放录制后的脚本时,那么姓名为order_me的人要再一次订票,那么相当于order_me定了两次票。这个在飞机订票时允许的,假设你需要在一个网站注册邮箱,邮箱名是不允许重复的。那如果按照上面的流程,那么脚本再次运行的时候就会出错。如果按照上面所说的流程,那么数据库检查点就没有了意义啊!

  对,是没有意义了,但稍作修改就会使数据库检查点有意义。

  假设是飞机订票程序,订票后的结果是要写入数据库的订票数据表(orders表中。

  那下面使我们修改后的使用数据库检查点的流程:

  1.先通过控制面板--》管理工具--》数据源 (ODBC)  建立连接数据库的数据源假设数据源的名称为:flight.dsn

  2.录制订票(插入数据)的脚本,假设姓名为abc的人要订票。

  3.参数化订票姓名,假设使用Data Table存储100个人姓名。

  4.运行脚本后,100个人的订票记录会写到数据库中。

  5.插入数据库检查点(注意插入数据库检查点的位置,必须确保检查点插入在数据写到数据文件后的位置。一般位置是程序关闭以后,会有一个数据存盘的操作。)

  通过flight.dsn连上数据库,然后通过查询语句把数据库中某个表(假设是orders表)的数据查询出来存到QTP的数据表(Data Table)中,选择你要检查的行,或者某个表格(cell)。

  6.删除数据库订票数据表(orders表)中的所有数据。

  7.回放录制的程序。回放的过程会从第3步参数化的Data Table中读取数据,运行100次。

  8.查看回放后的输出结果。检查数据库检查点(Database checkpoint)是成功或者失败。

  9.返回到第6步,反复执行。

  这样做,数据库检查点的优势,就体现出来了。

  因为我们知道,QTP是一种回归测试工具,特别适合反复的测试。所以我们第一次不使用数据库检查点,而是从数据库中获得要反复测试的数据。第一次相当于给数据库检查点确定预期结果,然后再利用数据库检查点进行检查。


鲜花

握手

雷人

路过

鸡蛋

扫一扫关注最新动态

毒镜头:老镜头、摄影器材资料库、老镜头样片、摄影
爱评测 aipingce.com  
返回顶部