基于基于QTP的数据驱动测试开发的数据驱动测试开发
提出采用面向自动化测试的测试用例设计格式,通过QTP的编程功能,使用外部数据源来实现较复杂的数据驱
动测试。具体方法是采用Excel作为测试数据源,制定Excel中测试数据的设计格式,建立专用的函数库来操作
Excel数据,实现以数据为驱动的自动化测试。这一方法能有效地实现测试数据与测试脚本的分离,同时,测试
数据的设计操作变得方便,数据的可读性增强,提高了测试效率和测试数据的维护效率。
摘摘 要:要: 提出采用面向自动化测试的
关键词:关键词: QTP;函数库;测试脚本;测试用例;测试报告
近年来,软件测试工具逐步得到应用和普及,在软件测试的各个领域发挥着应有的作用[1]。但也有不少软件企业耗巨资购
买了软件测试工具而被闲置,其主要原因是人们对测试工具本身提供的功能抱以了过高的期望值,如果对测试人员缺乏必要的
自动化测试的理论培训和测试工具的使用培训,一旦遇到困难就容易放弃测试工具,回归到人工测试状态。实际上,大多数测
试工具只是提供了一个测试平台,要使测试工具给项目带来效率,必须通过长期的经验积累和资源积累才能实现,其中资源积
累主要是基于测试工具的可重用测试脚本的开发[2-3]。
功能测试工具QTP是目前比较流行的测试工具之一,它可以通过录制操作步骤、在关键字视图参数化数据、设置各类检查
点来实现自动化测试[4]。但对于较为复杂的测试过程,仅仅通过关键字视图的简单操作很难实现测试过程的自动化,QTP提
供了专家视图来进行测试脚本的开发,通过这种方式能开发更强大和更灵活的测试脚本。在脚本开发中采用数据驱动方式进行
脚本开发能提高测试脚本的灵活性,增加测试覆盖面。因此,脚本开发与数据驱动测试常常是相辅相成的技术。
数据驱动的测试方法解决的核心问题是把数据从测试脚本中分离出来。QTP可以通过Data Table参数化和环境变量参数化
来实现数据驱动,但Data Table中只包含两个工作表,且Data Table工作表的参数化数据只能通过列标题来识别,这样设计的
测试数据可读性欠佳,虽然可以将外部Excel工作表的数据导入到Data Table来变向地增加工作表,但由于只能通过列标题识
别数据,故仍然存在数据可读性和灵活性问题,不便于测试数据的维护;采用环境变量来参数化数据的方法,每一个变量只能
对应一个取值,只适合少量的参数化数据,不便于对同一变量不同取值的循环测试。因此,要使数据驱动测试的方法在较复杂
的测试过程中发挥作用,上述两种方法均不能较圆满地实现,这就需要采用其他外部数据源,并针对数据源进行脚本开发。
1 面向自动化测试的测试用例设计面向自动化测试的测试用例设计
软件工程提出了很多文档、图形设计和代码规范,其目的是便于维护和实现对这些对象的自动化操作,即通过编程来处理
这些对象。同样,制定一个较为规范的测试用例设计格式,用于实现以数据为驱动的测试脚本开发,可以降低测试脚本开发的
复杂程度,也可省略将测试用例向测试脚本转化这一步骤。
在实际项目中,测试用例设计人员一般选用表格化的Excel来进行测试用例的设计[5],这里,也沿用这一方式并以常用的管
理信息系统设计模式为例来制定测试用例的设计格式。
测试用例由测试输入、执行条件和预期结果构成[6],因此,测试用例设计应包含这3个要素。由于软件类型千差万别,目前
尚无一个较好的形式化语言来定义测试用例,通常采用的是自然语言,而对于数据量较多的测试用例,往往采用描述和附加数
据的方式来进行测试用例设计。采用Excel进行测试用例设计时,一个测试实体通常用两个工作表来进行设计,即测试用例设
计工作表和测试数据工作表,测试用例设计工作表以表格形式呈现,用自然语言对测试用例的三要素进行描述,测试数据工作
表以数据为主体呈现数据。另外,为了方便确认测试结果和测试管理,还会增加一个测试结果工作表用来保存实际执行的结
果,采用QTP进行GUI相关的软件测试时,它能录制执行界面,因此测试结果无需人工截图,只需要保留测试执行中QTP不便
捕获的数据(如数据库中的数据)。该工作表不属于测试用例设计范围,但与测试用例设计工作表和测试数据工作表保存于同
一工作簿文件中,便于在测试执行过程中即时保留相关数据。
本研究主要针对测试数据工作表的格式进行设计,目标是使测试数据既具有较好的可读性又便于编程实现数据驱动测试。
以学生信息管理模块为例来说明测试用例设计格式。这里,主要以一般管理信息系统常用的增删改查功能来说明。测试对象界
面如图1所示。
对图1所示的界面进行功能测试,测试的主要功能为界面操作与数据库数据是否吻合,为了使测试过程通过数据驱动在QTP
上自动完成,设计了如图2所示的测试数据设计格式(限于篇幅,图2中只包含修改功能的用例)。其中,测试用例编号
Case002、执行前数据标志BeforeTest、数据库数据标志DataBase、执行动作标志【Delete】和【Insert】、数据结束标志
***END***、界面数据标志Form、测试执行后标志AfterTest均为设计格式中的关键字,其中,测试用例编号不能重复。在后续
的数据驱动测试脚本开发中,将根据这些关键字查找数据自动完成测试。
图2所示为对学生基本信息管理界面的修改功能进行测试的测试用例。测试用例执行前,由于界面中的“所属”显示的内容来
评论0
最新资源