QTP 自动化测试实践第 8 章 数据驱动测试测试脚本的开发和维护是自动化测试的重要环节,适当地调整和增强测试脚本,能提高测试脚本的灵活性,增加测试覆盖面,以及提高应对测试对象变更的能力。数据驱动方式的测试脚本开发是解决这类问题的重要手段。本章介绍如何在自动化测试过程中使用数据驱动的测试脚本开发方式,对测试脚本进行参数化,包括如何使用 QTQTPP的 DataTable参数化、Action参数化、环境变量参数化等脚本参数化的方法。8.1数据驱动测试方法数据驱动的测试方法要解决的核心问题是把数据从测试脚本中分离出来,从而实现测试脚本的参数化。8.1.1什么时候使用数据驱动测试方法自动化测试对录制和编辑好的测试步骤进行回放,这种是线性的自动化测试方式,其缺点是明显的,就是其测试覆盖面比较低。测试回放的只是录制时做出的界面操作,以及输入的测试数据,或者是脚本编辑时指定的界面操作和测试数据。如何让测试脚本执行时,不仅仅局限于测试录制或编辑时的测试数据呢?数据驱动的测试方式是解决这个问题的最佳方案。数据驱动测试把测试脚本中的测试数据提取出来,存储到外部文件或 数据库中,在测试过程中,从文件动态读入测试数据。注意:如果希望测试的覆盖面更广,或者让测试脚本能适应不同的变化情况,则需要进行测试脚本的参数化,采用数据驱动的测试脚本开发方式。8.1.2数据驱动测试的一般步骤通常,数据驱动测试按以下步骤进行:(1)参数化测试步骤的数据,绑定到数据表格中的某个字段。(2)编辑数据表格,在表格中编辑多行测试数据(取决于测试用例以及测试覆盖率的需要)。(3)设置迭代次数,选择数据行,运行测试脚本每次迭代从中选择一行数据。QTP 提供了一些功能特性,让这些步骤的实现过程得以简化。例如,使用“DataTable”视图来编辑和存储参数,如图 8.1所示。图 8.1DataTable视图另外,还提供“DataDriver向导”,用于协助测试员快速查找和定位需要进行参数化的对象,并使用向导进行一步一步的参数化过程。8.2参数化测试在 QTP 中,可以通过把测试脚本中固定的值替换成参数的方式来扩展测试脚本,这个过程也叫参数化测试,能有效地提高测试的灵活性。8.2.1通过参数化测试来提高测试的灵活性可以通过参数化的方式,从外部数据源或数据产生器读取测试数据,从而扩大测试的覆盖面,提高测试的灵活性。在QTP中,可以使用多种方式来对测试脚本进行参数化,数据表参数化(DataTableParameters)是其中一种重...