初学测试自动化工具的一点感悟及教你认识自动化测试工具QTP
初学自动化测试工具,总结了几点应该注意的重点问题:
使用测试工具进行测试工作的第一步并不是录制脚本。而是应该在理解被测对象的基础上,进行用例设计和测试过程设计。用例设计包括用例数据、用例测试过程、预期结果等。然后将用例测试过程录制成测试脚本,将用例数据进行参数化。
完成一项功能或多项相关功能的测试时,需要设计合理的测试过程。不同的测试场景使用独立的一项测试操作实现(表现为一个独立的测试脚本文件)。多项相关功能测试时,按设计的测试过程进行测试操作的组合(如使用QTP的操作调用)。这样,每一个测试场景使用不同的测试数据,且各个测试场景独立存在,但有有机地结合起来形成一个完整功能的测试。
2、检查点是需要进行判断的
初学者大多会按照教程设置各种检查点,但并不会看测试结果中检查点的结果。其实,许多检查点只表明了两种结果:“通过”或“失败”。
关键的问题是:失败的理由、场景、状态等在结果中很难看出来。所以,在设置检查点后,还必须对检查点结果按照测试过程的业务逻辑进行判断,然后输出更为详细的结果。具体示例见我的上篇日志中的“ reporter.ReportEvent 1,"新增学生信息错误","信息存入数据库,但数据没有在保存后立即显示,数据编号:"+ DataTable("stu_ID", dtLocalSheet)”。
此外,检查点的参数化至关重要,因为只有参数化检查点,才能真正体现系统运行过程中动态的变化!
3、录制测试与编写测试脚本的目的是便于重复测试
既然是为了重复测试,那么就必须认真考虑和设计每个测试活动的前置条件(如在什么样的数据环境下才能开始这个测试活动?)和后置条件(如:本测试活动所录入的数据是否需要保留?)。否则就会很容易出现问题(如:录入数据时关键字重复!)。
4、测试工具不能解决所有问题
许多初学者总希望测试工具能帮助他们解决所有问题。其实许多测试项目是必须靠手工完成的。如:界面布局的合理性、系统使用的方便性等。
自动工具永远只是辅助手段!所以测试工作的关键还是对测试对象的理解、测试用例与测试过程的设计。有了完善的用例,不管是手工测试还是自动测试,都是可以很好地完成测试任务的。
说到自动化测试,就不得不提大名鼎鼎的QTP了,Mercury QTP简称QTP,是一个先进的
先进的自动化测试工具,它可以用于创建功能和回归测试。自动捕获、验证和重放用户的交互行为。
QTP为每一个重要软件应用和环境提供功能和回归测试自动化的行业最佳解决方案,它是新一代自动化测试解决方案,采用了关键词驱动(Keyword-Driven)测试的理念,能完全简化测试的创建和维护工作。QTP关键词驱动方式独有之处在于,测试自动化专家可以通过一个整合的脚本和纠错环境,拥有对基础测试脚本和对象属性的完全访问权限,这些脚本和纠错环境与关键词视图(Keyword View)可以互为同步。
QTP同时满足了技术型和非技术型用户的需求,让各个公司有能力部署更高质量的应用,同时部署的速度更快,费用更低,风险也更小。QTP和我们新的测试自动化系统Mercury Business Process Testing™的紧密结合,可以将非技术型的业务专家(SME, Subject-Matter Experts)引入质量流程,这一意义重大的引入可以将IT和业务更好地融合,最终建立起更出色的应用。
有了该产品,您的QA部门可以获取多方面的优势:
1.
用最少的培训赋予整个小组创建成熟测试方案的能力。
2.
确保跨所有环境、数据包和业务流程的正确功能点。
3.
为开发人员全面记录和复制缺陷,使他们能更快地修复缺陷,满足最后上线期限。
4.
对不断变化的应用和环境展开便捷的回归测试。
5.
成为帮助整个机构实现高质量产品和服务、提高总收入和收益率的关键角色。
QTP是如何工作的
QTP易于操作,即使是初级的测试人员也能在短时间内对其驾轻就熟。您可以使用无需脚本的关键词视图来表现测试的每个步骤,仅由此就可创建一个测试。您还可以通过QTP所集成的录制能力来捕获测试步骤。该产品用简单的英语以文档形式记录每个步骤,并通过活动屏幕将文档与一个集成截屏相结合。传统的脚本记录工具所生产的脚本不易修改,与此不同的是,QTP的关键词驱动方式能让您便捷地插入、修改、数据驱动(data-drive)和移除测试步骤。
QTP可以自动引入检查点来验证应用的属性和功能点,比如确认输出量或检查链接的有效性。在关键词视图的每一步骤中,活动屏幕可显示被测应用在该步骤中的确切状态。您还可以为任意对象加入几种检查点,仅仅在活动屏幕中点击该对象,就可以验证该组件行为是否达到了期望值。
然后您可以将测试数据输入数据表(Data Table),它拥有和Excel同样完善的功能特性,是一个集成的电子数据表格。您可以使用数据集并创建多种重复测试,无需编程就可以扩展测试案例的覆盖面。数据可以通过键入的方式输入或从数据库、数据表格或文本文档中导出。
高级测试人员可以在专家视图(Expert View)中查看和修改他们的测试,在专家视图中显示了由QTP自动生成的基于行业标准的基本VBscrīpt语言。在专家视图中所做的任何改动将自动与关键词视图同步。
一旦测试人员运行了一个脚本,TestFusion报告将显示测试运行各方面的信息,包括:高水平的结果纵览;一个可扩展的测试脚本树状视图(Tree View),其明确指出了应用错误的发生位置;被使用的测试数据;每个步骤的应用截屏,其中并标明了所有的差异;以及通过或未通过每个检查点的详细解释。您可以将TestFusion报告和QTP结合,从而与整个QA和开发小组分享这些报告。
QTP处理一些应用的新版本问题。当一个被测应用发生变化时,比如把一个”Login”按钮被改名为”Sign in”,您可以在共享对象容器(Shared Object Repository)中做一次更新,接着此次更新将扩展到所有涉及这个对象的脚本。您可以将测试脚本公布给Mercury Quality Management,使其它的QA小组成员也可以使用您的测试脚本,从而减少了重复工作。
通过与Business Process Testing的整合,在一个基于Web的系统中,QTP被用于实现自动化操作,使非技术型用户可以便捷地在一个完全的无脚本环境中也能够建立起测试。
QTP支持多种企业环境的功能测试,包括Windows、Web、.NET、 Java/J2EE、SAP、Siebel、Oracle、PeopleSoft、Visual Basic、ActiveX、Mainframe terminal emulators和Web services。
Mercury功能测试
那些在Mercury WinRunner®测试工具上投入大量资金,并想转入Mercury QTP™的用户,可以使用Mercury Functional Testing™来实现这种转变。Mercury Functional Testing将QTP和WinRunner结合成一种集成产品,它不仅可以使用WinRunner脚本,也可以使用QTP脚本,使测试资源得到极大地利用。质量工程师可以使用Mercury Functional Testing来创建“复合脚本”测试,这些脚本是在WinRunner和QTP中建立的。Mercury Functional Testing是WinRunner和QTP的集成,产品间可以相互调用脚本,测试结果可以在一个共有的报告界面上呈现。
Mercury QTP是Mercury质量中心(Mercury Quality Center™)的组成部分之一,Mercury质量中心集成了一整套软件、服务和最佳实践,用于自动化关键质量活动,包括需求管理、测试管理、缺陷管理、功能测试和业务流程测试。
特点和优势
1.
具有行业领先的便于使用的特性,以及支持提前配置环境的功能,确保了快速的投资回报。
2.
可独立运行,也可以同Mercury Business Process Testing和Mercury质量中心集成。
3.
引进了QTP 8.0中新一代的“零配置”关键词驱动测试技术,从而实现了快速建立测试、测试脚本更易维护,和更强大的数据驱动能力。
4.
使用独特智能对象识别(Unique Smart Object Recognition)来发现对象,即使对象创建不断在改变,但仍可保证无监控方式脚本执行的可靠性。
5.
恢复管理器(Recovery Manager)可处理不可预知的应用意外事件,实现24x7的不间断测试,赶上测试项目的最后期限。
6.
自动文档技术把测试文档的建立与测试脚本的建立同步。
7.
通过集成的数据表,可数据驱动任意对象、方式、检查点和输出值。
8.
为QA工程师提供全面的集成开发环境。
9.
通过使用QTP和WinRunner集成的TSL资源,使您在Mercury WinRunner测试脚本上的投资得以保值。
10.
TestFusion报告可快速隔离和诊断缺陷。
11.
通过完善检查点,实现应用的全面验证。