您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 其它办公文档 > 自动化测试在BH上的应用
自动化测试在BH上的应用简介自动化测试(AutomatedTesting)是指借助自动化测试工具,模拟手工测试步骤,通过执行程序语言编制或者录制的测试脚本自动的测试软件,这个执行过程可以是全自动和半自动。自动化测试所具有的一致性和可重复性,是一般的手工测试所达不到的,利于软件缺陷的重现,这些特性使得自动化测试非常适用于回归测试和压力测试。当然自动化测试也不是万能的,大多数的缺陷还是需要测试人员手工发现,只有那些烦琐的,需要重复测试的测试任务比较适合自动化测试去做,就像一个测试机器人一样,IBMRational的自动化测试工具“Robot”就是取的测试机器人的意思。有些测试内容,自动化测试是无法完成的,比如界面规范测试、需要外部设备交互的测试,比如:打印、读写卡…、软件本身的严重错误也会造成自动化测试中断而失败。自动化测试工具自动化测试工具比较有名的有:Mercury公司的WinRunner、QTP(QuicTestProfessional)产品和IBMRational公司的Robot产品。IBMRational的Robot比较难用,脚本语言用的是一种类C的语言,学习成本较高。Mercury公司,现在被HP公司收购,推出的测试工具软件比较多,如:WinRunner、LoadRunner、QTP、TD(TestDirector,现在叫QualityCenter),其中WinRunner和QTP同为Mercury公司开发的自动化功能测试工具,WinRunner在1995年推出,QTP是在2002年正式推出,其中QTP具备有WinRunner几乎所有的特性,同时具备有一些独有的特性,并且应为推出时间的缘故,QTP对J2EE和.Net程序支持较好。Winrunner只支持C/S架构程序,QTP同时支持C/S架构和B/S架构应用。WinRunner使用的是TSL语言,为Mercury公司所独有,与C语言类似,QTP采用的微软的VBScript语言,比较简单,更容易学习。以目前的情况来看应该可以说Winrunner已经被淘汰了。在BH之上构建C/S架构的大型应用,是比较符合自动化测试的应用条件的。首先,BH构建的应用系统不用过多的关心界面因素,因为BH是可以在运行期通过布局进行调整的;其次是BH构建的应用程序在界面初始化后不会出现编程开发所出现的应用程序编码级错误,即不会因为应用本身的严重错误使得自动化测试被动中断;最后是BH构建的大型应用其中有大量的界面构建需要进行反复繁琐的功能测试、回归测试,通过使用自动化测试可以大大减轻功能测试的工作量,提高测试质量和效率。最佳选择-QuickTestPrefessional“工欲善其事必先利其器“,就目前几种流行的自动化测试工具而言,Robot过于高深,WinRunner太老了;我认为QTP是最合适的选择,如果结合到TD,即现在的HPQC,测试工作的工具化水平可能比玩Excel表格里面输bug,手工截图,现代化多了。原来玩过一段时间的QTP,简单易学,算是傻瓜型的。完成简单的回归测试,连测试脚本都不需要写。测试步骤使用QTP进行测试的过程包括6个主要步骤:●准备录制打开你要对其进行测试的应用程序,并检查QTP中的各项设置是否适合当前的要求。●进行录制打开QTP的录制功能,按测试用例中的描述,操作被测试应用程序。●编辑测试脚本通过加入检测点、参数化测试,以及添加分支、循环等控制语句,来增强测试脚本的功能,使将来的回归测试真正能够自动化。●调试脚本调试脚本,检查脚本是否存在错误。●在回归测试中运行测试在对应用程序的回归测试中,通过QTP回放对应用程序的操作,检验软件正确性,实现测试的自动化进行。●分析结果,报告问题查看QTP记录的运行结果,记录问题,报告测试结果。关键字驱动测试在QTP8.0版本后加入了一个新的关键字驱动测试(keyword-driventesting)特性,通过“关键字驱动测试”,测试人员不需要“录制”测试脚本,而可以改成“设计”测试脚本。即:先将应用程序的GUI对象添加到QTP的对象仓库(ObjectRepository)中,然后针对每一个需要操作到的对象设计每个测试步骤。它使我们可以不必实际去操作应用程序,就可以编写出测试脚本,这样做既节省了时间,而且还有一个更大的好处就是可以在应用程序还没有设计完成,或者由于出错无法正常执行的时候仍然可以编写我们的测试脚本。应用程序只需要有使用界面(UI),而不必实际运行,测试人员就可以开始建立测试脚本,有时候采用录制无法捕获的应用程序操作,使用关键字驱动测试可以直接捕捉到。测试界面QTP的四个界面KeywordView、ExpertView、DataTable、ActiveScreen,将脚本回放时将脚本运行情况直观的进行显示。测试分析结果QTP在测试运行结束后,会自动的显示对应的测试分析结果。测试结果窗口如下:窗口左半部分是一个树状视图,以树形列出了测试执行过程中的每一个操作步骤。窗口右半部分给出了本次测试执行过程的概要信息。展开树状视图各个节点,可以查看到每个步骤的实际执行情况,如下图所示:我们按照图中的数字编号解释一下各部分的内容:编号1区域:这部分在树状视图展开后,显示了测试执行过程中的每一个操作步骤。选择某一个步骤,会在2、3区域显示相应的信息。编号2区域:对应你当前选中的步骤,显示了该操作执行时的详细信息。编号3区域:对应你当前选中的步骤,显示了该操作执行时应用程序的屏幕截图。QTP的测试自动化验证QTP通过在测试脚本中设置检测点(CheckPoint)实现测试自动化验证。QTP所支持的检测点类型如下表:QuickTest支持的检测点类型检测点类型描述应用举例Page检测点检查Web页面的属性。检查Web页面中是否包含“死”连接,或者检查连接一个Web页面所需要的时间。Text/Text区域检测点检查在窗口或Web页面的指定位置是否显示了内容正确的文本。检查在一个对话框中的指定位置,是否显示了内容正确的文本。Text检测点用于检测基于Web的应用,Text区域检测点用于检测传统的Windows应用。Standard检测点也叫做Object检测点,用于检测标准界面元素的状态。检查一个编辑框的值是否正确,或者是检查一个复选框是否被选中。Image检测点检查界面上图片的正确性。检查Web页面上图片的正确性。Table检测点检查表格中内容的正确性。检查表格中的内容是否正确。Database检测点检测Windows应用或Web应用访问数据库时,数据内容的正确性。检查数据库查询的正确性。XML检测点检查XML文档内容的正确性XML检测点有两种——XML文件检测点和XML应用检测点。XML文件检测点用于检查一个XML文件;XML应用检测点用于检查一个Web页面的XML文档。Bitmap检测点检查从Web页面或Windows窗口中捕获的某一部分区域。检查一个Windows窗口(或这个窗口的某一部分)显示的正确性。QTP的参数化测试QTP通过参数化测试脚本实现对同一个操作中填入不同的数据的测试,参数化测试脚本包括数据输入的参数化和检测点的参数化。总结原来对于QTP的资料并不多,现在HP收购了Mercury公司,将其发扬光大,设立了QTPKnowledgeBase知识库,其中包含了很多实用的QTP技术文章。HP的QTPKnowledgeBaseHPSelf-solveKnowledgeSearchHP的QTP官方网站,现在最新的QTP版本是10.0^1352_4000_313__
本文标题:自动化测试在BH上的应用
链接地址:https://www.777doc.com/doc-20410 .html