欢迎来到天天文库
浏览记录
ID:22754029
大小:1.96 MB
页数:37页
时间:2018-10-31
《cto下载qtp自动化测试实践》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、《QTP自动化测试实践》,第8章数据驱动测试 测试脚本的开发和维护是自动化测试的重要环节,适当地调整和增强测试脚本,能提高测试脚本的灵活性,增加测试覆盖面,以及提高应对测试对象变更的能力。数据驱动方式的测试脚本开发是解决这类问题的重要手段。 本章介绍如何在自动化测试过程中使用数据驱动的测试脚本开发方式,对测试脚本进行参数化,包括如何使用QTP的DataTable参数化、Action参数化、环境变量参数化等脚本参数化的方法。8.1 数据驱动测试方法 数据驱动的测试方法要解决的核心问题是把数据从测试脚本中分离出来,从而实现测试脚本的参数化。8.1.1 什
2、么时候使用数据驱动测试方法 自动化测试对录制和编辑好的测试步骤进行回放,这种是线性的自动化测试方式,其缺点是明显的,就是其测试覆盖面比较低。测试回放的只是录制时做出的界面操作,以及输入的测试数据,或者是脚本编辑时指定的界面操作和测试数据。 如何让测试脚本执行时,不仅仅局限于测试录制或编辑时的测试数据呢?数据驱动的测试方式是解决这个问题的最佳方案。数据驱动测试把测试脚本中的测试数据提取出来,存储到外部文件或数据库中,在测试过程中,从文件动态读入测试数据。 注意:如果希望测试的覆盖面更广,或者让测试脚本能适应不同的变化情况,则需要进行测试脚本的参数化,采
3、用数据驱动的测试脚本开发方式。8.1.2 数据驱动测试的一般步骤 通常,数据驱动测试按以下步骤进行: (1)参数化测试步骤的数据,绑定到数据表格中的某个字段。 (2)编辑数据表格,在表格中编辑多行测试数据(取决于测试用例以及测试覆盖率的需要)。 (3)设置迭代次数,选择数据行,运行测试脚本每次迭代从中选择一行数据。 QTP提供了一些功能特性,让这些步骤的实现过程得以简化。例如,使用“DataTable”视图来编辑和存储参数,如图8.1所示。 图8.1 DataTable视图 另外,还提供“DataDriver向导”
4、,用于协助测试员快速查找和定位需要进行参数化的对象,并使用向导进行一步一步的参数化过程。51Testing丛书连载:(三)QTP自动化测试实践发布时间:2008-6-2316:42 作者:陈能技 来源:51Testing软件测试网字体: 小 中 大
5、上一篇下一篇
6、打印
7、我要投稿
8、每周一问,答贴有奖8.2.3 使用随机数来进行参数化 对于选择航班这个测试步骤的参数化来说会有所不同,因为航班会跟随所选择的起点和终点而变化,因此,需要做特殊的处理。如下代码所示:'取得航班列表的行数ItemCount=Window("FlightReservation").Dialog(
9、"FlightsTable").WinList("From").GetItemsCount'随机选取其中一项SelectItem=RandomNumber(0,ItemCount)'选择航班Window("FlightReservation").Dialog("FlightsTable").WinList("From").SelectSelectItem 先通过访问GetItemsCount属性,获取航班列表的行数,然后使用RandomNumber随机选取其中一项,最后,再通过Select方法选择航班。参数化后的测试步骤如图8.9所示。图8.9 参数化后的测试步骤
10、 提示:使用随机数也是测试脚本参数化的一种重要方法,在QTP的测试代码中,可用RandomNumber来实现,在关键字视图编辑的界面如图8.10所示,其效果与在脚本中直接编辑是一样的。图8.10 选择参数化方式为“RandomNumber”8.2 参数化测试 在QTP中,可以通过把测试脚本中固定的值替换成参数的方式来扩展测试脚本,这个过程也叫参数化测试,能有效地提高测试的灵活性。8.2.1 通过参数化测试来提高测试的灵活性 可以通过参数化的方式,从外部数据源或数据产生器读取测试数据,从而扩大测试的覆盖面,提高测试的灵活性。在QTP中,可以使用多种方式来对测试脚
11、本进行参数化,数据表参数化(DataTableParameters)是其中一种重要的方式,还有环境变量参数化(EnvironmentVariableParameters)、随机数参数化(RandomNumberParameters)等。 下面以QTP自带的“Flight”程序为例,介绍如何对测试脚本进行参数化。假设在名为“FlightReservation”的订票界面中,输入航班信息后,插入订票记录,然后,希望重新打开该记录,检查航
此文档下载收益归作者所有