当前位置:文档之家› 功能自动化测试方案-V1.1

功能自动化测试方案-V1.1

建设银行质量管理体系中国建设银行功能自动化测试实施方案建议书(讨论稿)中国建设银行信息技术管理部2006年12月目录1前言 (3)1.1文档目的 (3)1.2名词术语 (3)2功能自动化测试实施原则 (5)2.1实施原则 (5)2.2实施功能自动化测试的优缺点 (5)3实施范围和目标 (7)3.1实施范围 (7)3.2实施目标 (7)4技术方案实施内容 (8)4.1使用QTP测试的阶段 (8)4.1.1创建测试或组件 (8)4.1.2运行测试或组件 (8)4.1.3分析结果 (8)4.2使用QTP测试的具体步骤 (9)4.2.1测试分析准备 (9)4.2.2录制测试脚本 (9)4.2.3加强测试脚本 (9)4.2.4调试脚本 (10)4.2.5执行测试脚本 (10)4.2.6分析测试结果 (10)4.2.7汇报测试缺陷 (10)4.3准入检查 (10)4.4测试数据环境与脚本管理 (11)4.5功能自动化测试复用规范 (11)4.6功能自动化测试系统部署 (13)4.7组织管理要求 (14)5功能自动化测试方法比较 (16)5.1录制回放技术 (16)5.2脚本技术 (17)5.3数据驱动技术 (18)5.4各种自动测试技术比较 (20)6实施管理建议 (21)6.1实施策略建议 (21)6.2人员组织结构 (21)6.3实施计划 (22)6.4交付物 (23)1前言1.1文档目的功能自动化测试方案是为中国建设银行北京开发中心功能测试使用自动化工具,实现以自动化测试为主的目标而编写的技术和实施方案。

文档的主要目的是提供自动化测试的技术方案、实施内容、实施步骤,以及关键的技术实现手段等。

本文的预期读者为建行测试中心相关人员。

1.2名词术语✧QTP:Mercury公司的功能自动测试工具,是一种企业级的用于检验应用程序是否如期运行的功能性测试工具。

通过自动捕获,检测,和重复用户交互的操作,QTP能够辨认缺陷并且确保那些跨越多个应用程序和数据库的业务流程在初次发布就能避免出现故障,并且保持长期可靠运行。

✧MQC:Mercury公司的测试管理工具,用于在广泛的IT系统和应用环境下执行质量保证。

它包含一套基于角色的集成应用程序和最佳实践,以及开放式、可伸缩、可扩展的基础架构。

Quality Center设计用于对关键质量活动进行优化和自动化,包括要求、测试和故障管理、功能测试以及业务流程测试。

✧功能测试:功能测试又称正确性测试,它检查软件的功能是否符合规格说明。

由于正确性是软件最重要的质量因素,所以其测试也最重要。

✧自动化测试:使用商业提供的自动化测试工具或者自己开发的工具对目标系统进行测试。

机器自动执行的测试,替代人完成重复性劳动,但不能完全取代人。

自动化测试需要用到测试工具,测试工程师的参与,自动化测试技术可应用于所有的测试阶段✧业务组件:表示应用程序中单任务的步骤集合。

业务组件(也称为组件)在MercuryQuality Center 中由业务流程测试组合为特定的场景以建立业务流程测试。

✧Action:在QTP中Action是一个可以被重复使用的最小单位,当建立一个全新的测试脚本时,测试脚本中只有一个Action名为Action1,可以将整个测试脚本切割成多个Actions,让测试脚本更为模块化且更容易被重复使用。

✧CheckPoint检查点:用来验证脚本执行结果是否达到预期。

可以在录制的过程中建立检查点,也可以在录制完成之后再建立检查点。

✧测试对象模型:是一大组对象类型或类,QTP用这些对象类型或类来表示应用程序中的对象。

每个测试对象类都有一个可以唯一标识属于该类的对象的属性列表,以及一组QTP 可以对其进行录制的方法。

✧测试对象:是QTP 在测试或组件中创建的用于表示应用程序中的实际对象的对象。

QTP 存储有关该对象的信息,这些信息有助于它在运行会话期间标识和检查该对象。

✧运行时对象:是网站或应用程序中的实际对象,在运行会话期间执行针对该对象的方法。

2功能自动化测试实施原则2.1实施原则功能自动化测试过程中工具不可能完成所有的工作,工具仍然是测试过程中的辅助手段。

对于工具主要是解决测试过程中的重复性的工作任务。

另外实施自动化的测试,对被测系统也有更高的要求,总结功能自动化测试的实施原则如下:1)使用自动化工具测试,要求被测系统开发比较稳定,较少发生功能的变更;2)在自动化测试脚本录制前,被测系统的界面相对稳定;3)功能测试自动化要求测试数据环境中的测试数据相对充裕,满足多次重复回归测试的要求;4)要求被测系统的版本运行比较稳定,较少发生测试中止的情况;5)分期分步骤实施,优先选择产品功能比较稳定的系统进行;6)完善的、可复用的数据参数、脚本库是一个长期的积累过程。

2.2实施功能自动化测试的优缺点功能的自动化测试与手工测试虽然有很多局限,但是同样有其优势,随着自动化测试技术和工具的发展,对于比较稳定的产品的功能测试中,自动化测试占有越来越重要的地位。

使用QTP可以加快整个测试的过程,在产品的版本发布之后,可以重复使用测试脚本进行测试,具体来说:自动化测试的优点:✧提高测试效率,降低测试成本;✧重复性强的手工劳动独立用自动化实现;✧快速的回归测试,提高新版本发布的速度和质量;✧避免人工测试容易犯的错误,如:错误测试,漏测试,多测试等;✧很容易就实现并发性测试;✧测试可重用,采用脚本和数据可以很容易实现重用。

自动化测试的缺点:✧规范的测试管理,测试需求,测试用例;✧不能创造性发现测试脚本没有设计的缺陷;✧高质量的测试用例;✧高素质的自动化测试工程师;✧对测试环境要求比较严格;✧测试需求变化可能引起大量的测试用例,自动测试脚本的修改、维护。

3实施范围和目标3.1实施范围1)工具范围:目前考虑QTP、MQC、TAR、配置管理工具、Excel等工具的使用和集成;持续集成工具暂时先不考虑;2)系统范围:定位在建行测试中心基础测试环境中的交易类系统;3)测试阶段的范围:局限在SIT后期、以及上线后的功能回归测试,目前暂不包括LT、内部测试中的功能测试部分。

3.2实施目标1.功能自动化测试系统应该能完成SIT、以及上线后功能的回归测试;2.方案目标对有界面和无界面的交易测试都能完成,有界面的交易支持如下方式:a)支持字符终端界面;b)支持B/S的Web界面;c)支持C/S的Windows应用程序界面;3.功能自动化测试方案对目前建行存在的大部分应用系统都可以进行测试;4.实现自动化脚本录制、自动化脚本执行、自动化缺陷报告和管理。

3.3总体实施策略1.首先从目前建行的系统中选择适合自动化测试的项目和系统;2.其次确定实施功能自动化测试的阶段和时机;3.第三从适合的项目中选择适合自动化测试实施的功能和交易。

具体实施策略参见第6节的实施管理建议。

4技术方案实施内容4.1使用QTP测试的阶段使用QTP 测试包括三个主要阶段:4.1.1创建测试或组件创建阶段可以通过在应用程序或网站上录制会话,或者建立对象库并使用关键字驱动功能向关键字视图中手动添加步骤来创建测试或组件。

然后,可以使用特殊的测试选项和/或编程语句来修改这些测试或组件。

4.1.2运行测试或组件创建测试或组件后,测试工程师可以运行这些测试或组件。

✧运行测试或组件检查被测系统。

✧运行测试或者组件对录制和编写的脚本进行调试。

4.1.3分析结果运行测试或组件之后,就可以查看测试执行的结果。

✧在“结果”窗口中查看结果。

✧报告在运行会话过程中检测到的缺陷。

4.2 使用QTP 测试的具体步骤 录制/编写脚本定义参数增加逻辑控制运行测试集脚本调试生成报告加入检查点测试分析准备加强脚本4.2.1 测试分析准备在测试前需要先确认被测应用程序是否符合自动化测试的需要,是否满足自动化测试工具的要求。

确认测试的范围和测试目标,比如要测试哪些功能、以及测试的时机等。

在准备阶段要根据被测系统的业务需要分析被测系统的功能,整理出测试需求和测试数据需求。

熟悉被测系统为后期指定测试集做准备。

配置QTP 工具的设置,为脚本录制做准备。

4.2.2 录制测试脚本启动QTP 工具的录制功能,手工操作被测系统的应用程序,QTP 将自动录制人工的操作过程,并将操作的步骤显示在QTP 工具中。

对于工具不能录制或者不能识别的界面对象需要手工识别和添加。

4.2.3 加强测试脚本在测试脚本中加入检查点,检查点可以是标准检查点、对象检查点、文本检查点、数据库检查点等,以验证应用程序的功能是否正确;将录制的脚本中的固定值(Hard Code)以参数取代,使得测试脚本跟测试数据结合;使用逻辑或者条件判断,增加脚本的逻辑以实现对复杂的功能的测试。

4.2.4调试脚本对修改增强完成的脚本进行调试,修改脚本中的逻辑错误,确保测试脚本能够正常顺利执行。

对于由于被测系统的功能需求发生变化后,测试脚本需要维护和修改,然后重新进行调试,以保证测试脚本的有效性。

4.2.5执行测试脚本调试完成的测试脚本,将在被测系统的版本上执行测试,检查被测系统的功能是否满足需求。

执行脚本一般将脚本导入MQC中管理和定义测试案例执行集,由MQC来调度执行测试脚本。

4.2.6分析测试结果分析测试执行的结果,找出问题所在。

如果是刚开始实施自动化测试,分析结果还可以帮助分析和定位测试脚本的正确性。

以便提高测试脚本的可靠性。

4.2.7汇报测试缺陷通常QTP工具与MQC工具结合使用,这样QTP发现的缺陷可以自动提交到MQC中对缺陷进行管理和跟踪。

4.3准入检查准入检查机制是测试管理中的重要的环节,同时对于实现自动化测试方案中,更是一个重要的机制。

准入检查对被测系统的版本、系统功能开发的稳定性等都能够有效验证,保证了自动化测试的顺利执行,同时也减少了自动化测试脚本的维护工作量。

准入检查的内容和方式:✧被测版本静态检查:通过静态检查被测版本的《版本发布单》、版本的文件、版本的部署安装是否正确。

✧被测系统版本验证:通过MQC运行覆盖主要业务功能的脚本案例执行的成功率判断被测系统能否进入自动化测试。

4.4测试数据环境与脚本管理QTP可以将测试数据参数化,数据参数与测试脚本相对应,在测试脚本中可以调用这些数据参数,实现同一个脚本可以针对不同的数据执行多遍。

可以根据参数的设置实现测试业务流程的多个分支。

测试数据的参数化有四种基本方法:1)使用QTP的DataTable,直接在QTP中将测试数据录入参数表中;2)使用QTP的正则表达式,根据测试数据的需求,使用正则表达式可以简化DataTable中的重复、序列以及匹配数据;3)使用外部文件:通过Excel导入QTP中,或者脚本直接访问外部文件的方式得到数据,可以方便实现脚本之间的数据共享;4)使用外部关系数据库,QTP脚本可以直接访问其他的数据库,从数据库中取测试数据。

相关主题