基于QTP的自动化测试本科毕业论文.doc

上传人:爱问知识人 文档编号:3314886 上传时间:2019-08-11 格式:DOC 页数:48 大小:2.23MB
返回 下载 相关 举报
基于QTP的自动化测试本科毕业论文.doc_第1页
第1页 / 共48页
基于QTP的自动化测试本科毕业论文.doc_第2页
第2页 / 共48页
基于QTP的自动化测试本科毕业论文.doc_第3页
第3页 / 共48页
基于QTP的自动化测试本科毕业论文.doc_第4页
第4页 / 共48页
基于QTP的自动化测试本科毕业论文.doc_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《基于QTP的自动化测试本科毕业论文.doc》由会员分享,可在线阅读,更多相关《基于QTP的自动化测试本科毕业论文.doc(48页珍藏版)》请在三一文库上搜索。

1、 本科毕业论文(设计)题目:基于QTP的自动化测试 姓 名: 张 海 波 学 号: 1042157124 专 业: 计算机科学与技术 院 系: 信息工程学院 指导老师: 钱 丽 职称学位: 讲师硕士 完成时间: 2014年5月12日 教务处制安徽新华学院本科毕业论文(设计)独创承诺书本人按照毕业论文(设计)进度计划积极开展实验(调查)研究活动,实事求是地做好实验(调查)记录,所呈交的毕业论文(设计)是我个人在导师指导下进行的研究工作及取得的研究成果。据我所知,除文中特别加以标注引用参考文献资料外,论文(设计)中所有数据均为自己研究成果,不包含其他人已经发表或撰写过的研究成果。与我一同工作的同志

2、对本研究所做的工作已在论文中作了明确说明并表示谢意。毕业论文(设计)作者签名: 日期: 安徽新华学院2014届本科毕业论文(设计)基于QTP的自动化测试摘 要 在软件开发过程中,软件测试是发现软件缺陷的最直接手段,也是作为控制软件缺陷最主要的手段。在不断寻找有效的测试方法同时,自动化测试已经成为提高软件测试效率和解决覆盖面的重要技术手段。本次毕业设计,首先对现阶段国内外对自动化测试的研究成果及发展前景进行了调研,比较了传统手动测试与自动化测试的优缺点。然后利用自动化软件测试工具Quick Test Professional(简称QTP),以飞机订票系统(Flight)为测试对象,针对Fligh

3、t的具体功能进行自动化测试。测试过程包括各功能测试场景设计和用例的编写,测试脚本的创建、编辑,对测试脚本的增强、调试,以及对测试执行结果进行分析,检查测试运行过程的正确性。同时通过手工测试与自动化测对比,凸显自动化测试在测试效率等方面的优势。关键词:软件测试;自动化测试;QTP;功能测试QTP -based automated testingAbstractIn the process of software development , software testing is the most direct means to find software defects , but also a

4、s a means to control the most important software defects . Constantly looking for effective testing methods at the same time , improve the automated testing software testing has become an important technical means to solve the efficiency and coverage .The graduation project , the first stage at home

5、 and abroad for research and development prospects of automated testing conducted an investigation to compare the advantages and disadvantages of the traditional manual testing and automated testing . The use of automated software testing tools Quick Test Professional ( referred QTP), to airline res

6、ervation systems (Flight) of the test object , automated testing of specific functional Flight . The functional testing process , including the design and preparation of test scenarios use cases , test scripts to create , edit, enhance test scripts , debug , and analyze the results of the test execu

7、tion , test run to check the correctness of the process . By simultaneously measuring manual testing and automated comparison , highlighting the advantages of automated testing efficiency and other aspects of the test .Keywords:Software Testing;Automated Testing;QTP;Functional TestingI目 录1 概 述11.1 课

8、题研究背景11.2 国内外研究现状11.3 课题研究目的22软件缺陷与软件测试32.1软件缺陷32.1.1 软件缺陷与硬件缺陷异同32.1.2 如何通过软件测试发现软件缺陷32.2软件质量与软件测试42.2.1软件开发模式与自动化测试42.3软件自动化测试与手动测试52.3.1自动化测试与手工测试比较52.3.2如何开展自动化测试52.3.3自动化测试方案62.4自动化测试工具介绍63 QuickTest Professional的简介93.1 QTP的安装与配置93.2 QTP的使用103.2.1制定测试计划113.2.2创建测试脚本113.2.3增强测试脚本功能113.2.4运行与分析11

9、4 基于QTP自动化测试的实施134.1 登录功能测试134.1.1 测试用例134.1.2 脚本录制144.1.3 测试脚本154.1.4 执行结果164.2 订票功能测试184.2.1 录制脚本过程184.2.2 调试测试脚本及注解194.2.3 执行结果214.3 修改订单功能测试214.3.1 测试用例214.3.2 录制脚本过程224.3.3 调试测试脚本及注解244.3.4 执行结果254.4 删除订单功能测试264.4.1 测试用例264.4.2 录制脚本过程264.4.3 调试测试脚本及注解284.4.4 执行结果284.5 传真功能测试294.5.1 录制脚本过程294.5.

10、2 调试测试脚本及注解304.5.3 执行结果315 测试结果分析335.1 测试用例汇总表335.2 检查项345.3 对比与分析345.4 分析与建议35结 论37参考文献38致 谢391 概 述1.1 课题研究背景按时、高质量地发布软件产品是软件开发的最基本要求,而软件测试是软件质量保证的最重要的手段之一。对于软件,不论采用什么技术和方法来进行开发,软件产品中都会存在或多或少的错误和问题1。于是,软件测试便扮演了极其重要的角色,贯穿于整个软件生命周期,检验各个阶段的成果是否符合质量要求和达到预先定义的目标。据大量统计资料显示,在典型的软件开发的项目中,软件测试投入的成本和工作量往往占到软

11、件的总成本和总工作量的40%以上。传统的软件测试方式大多停留在内部测试、手工测试阶段,并不能完全适用于应用测试。由于较多的企业采用瀑布模型进行开发,往往在软件开发结束后才开始进行测试。这些都在极大程度上降低了测试的覆盖率,增加了测试的成本,影响了软件质量的可靠性4。因此,软件测试自动化技术的出现,从真正意义上把测试人员从简单重复的劳动中解放出来,弥补了手动测试在应付大规模测试中疲态的缺陷,尤其是面对大量的数据需要检查时,人工的比较和搜索不仅效率低,而且容易出错,覆盖面偏低。它为软件开发团队节约了测试成本,提高了软件质量,缩短了产品发布周期。1.2 国内外研究现状软件测试是软件质量的护航者,只有

12、通过了测试软件的设计、编码和规约的评审才能通过,在软件的整个生命周期中具有与软件开发相同的地位。在许多大型的软件公司,其测试人员和开发人员比例达到了1:1,甚至更多4。然而,在早期软件测试常常被忽视,软件经过开发人员简单的单元测试后进行发布,导致的后果可想而知。在美国北卡罗来纳大学召开的软件测试的正式技术会议,是软件测试技术发展历史上的一个转折点,它标志着软件测试成为了软件工程领域中一个独立而重要的分支。此后,Gerhart进一步总结原来的测试理论,将软件测试提升到理论的高度,作为实践性学科的参考2。为了更好的实现测试的自动化,用自动化测试代替手工劳动,许多IT厂商推出了以工具为中心的测试,是

13、测试人员只需要关注脚本技术和配置文件的编写。常用的测试工具有Mercury Interactive公司的QTP、LoadRunner、TestDirectior,IBM的Web自动化测试工具Rational Function Tester,Segue Software公司的Segue,Compuware公司的QACenter。这些测试工具融入了许多新的技术,如面向对象技术,当针对不同的测试重点,可以采用相应的工具3。国内的软件测试技术起步较晚,但随着国内软件企业规模的壮大,人才的引进和培养,越来越多的软件生产商开始在自动化测试领域中进行软件分析和测试工具的研究和开发。西北工业大学在C/S系统的

14、测试方面进行了许多的研究工作,并且取得了一定的成绩。北京航空航天大学和北京大学经过技术的攻关,共同研制了一系列测试工具和程序理解工具,例如具有典型代表的SafePro/javao和SafePro C/C+。南京大学和航空局计算研究所开发的静态分析工具和测试用例自动生成工具,在嵌入式系统测试方面取得了较大的成功10。拥有自主知识产权的泽众软件是国内领先的专业功能测试工具、测试管理工具的供应商,从2004年起就推出了AutoRunner、TestCenter等优秀产品。1.3 课题研究目的本文旨在通过QTP在具体案例中的使用,包括设计测试案例、录制、优化脚本功能等,来具体认识自动化测试对于普通应用

15、软件,都可以发挥其功能测试和回归测试的优点,省去了手工测试的繁琐,更加低成本,便捷而快速的找出软件的BUG所在,是软件开发中一个不可或缺的重要的一部分。2软件缺陷与软件测试2.1软件缺陷2.1.1 软件缺陷与硬件缺陷异同对于用户来说,软件缺陷与硬件缺陷一样,会对用户在使用时造成困扰。但是软件缺陷在一般情况下,不会对用户造成直接的人身伤害或经济损失,也因此很多人意识不到软件缺陷的危害性和严重性。然而在一些比较依赖软件进行业务处理的领域,便可能造成重大的经济损失,甚至危及生命,例如2007年4月,某个软件缺陷导致某地铁系统的列车火灾,软件未能检测和防止剩余动力在设备中的使用,导致车过热而起火。因此

16、,软件缺陷与硬件缺陷一样,都需要人们重视他们可能造成的危害与损失。不同在于,硬件缺陷大多是可预见的,比较容易被发现。软件缺陷的可预见性就没有那么强,其一个重要特点就是隐蔽性。由于软件的复杂度高,状态空间广阔,因此,要覆盖软件所有的可能行为几乎是不可能的。2.1.2 如何通过软件测试发现软件缺陷手工测试仍然是主要的查找错误的方式,自动化测试能部分地解决覆盖面的问题和测试效率的问题,但是不能从根本上解决问题。而在软件测试之前的开发环节中,开发人员已经对对软件进行缺陷控制,尽管大多停留在“调试”阶段的测试水平。也因此软件测试成为了软件缺陷的主要控制手段和解决方法。测试人员通过产品需求,以及用户的实际

17、业务背景,设计出各种测试用例,通过执行测试用例,判断被测试的应用程序是否满足用户需求。在测试用例中,主要分为两种。一是验证软件功能正确的;另一种适用于证明软件错误的。如果将这这些用例转化为可被自动化测试工具执行的脚本,那么就成了一个自动化测试用例,使用自动化的方式执行,提高效率。2.2软件质量与软件测试软件质量是软件产品的核心价值体现,也是企业竞争力的体现,重视软件质量的企业通常能获得更多的收益。软件质量也是软件项目管理的重要组成部分,在不同的开发模式中,都会围绕软件质量管理提出相应的做法。1986年,ISO8492给出了质量定义:质量是产品或服务满足明示或暗示需求能力的固有特性和特征的集合。

18、而在IBM RUP(统一过程)中,质量被定义为“满足或超出认定的一组要求,并使用经过的认可的评测方法和标准来评估,还使用认定的流程生产”。因此,质量不是简单地满足用户需求,还得包含证明质量达标所使用的评测方法及标准,以及如何实施可管理、可重复使用的流程,以确保由此流程生产的产品已达到预期的、稳定的质量水平。1983年,ANSI IEEE STD729给出了软件质量的定义 6,包括:(1) 软件产品质量满足用户要求的程度;(2) 软件各种属性的组合程度;(3) 用户对软件产品的综合反映程度;(4) 软件在使用过程中满足用户要求的程度。简而言之,功能、性能和可靠性是衡量软件质量的三个维度指标。2.

19、2.1软件开发模式与自动化测试在不同的开发模式中,软件测试的地位和作用略有不同,但却不可能消失。在传统的瀑布开发模型中,软件测试作为一个独立的阶段出现,在进入测试阶段之前,应该完成编码并且提供完善的需求、设计和文档。如果在需求定义方面做得很好,对自动化测试十分有益,可以尽早的选择测试策略,让自动化测试高层次整体地进行。而在RUP迭代模型中,实施自动化测试时,需要与开发策略紧密结合,关注早期构建、迭代的速度、风险、覆盖目标等。敏捷方法则打破了传统的自动化测试方法,第一个破坏点集中在自动化的可接受性测试,很难被其他类型的自动化重用。细粒度的迭代让每次的测试很难击中目标和定义标准。2.3软件自动化测

20、试与手动测试2.3.1自动化测试与手工测试比较软件测试的一个显著特点就是重复性,重复的工作除了机器人没人忍受的了。在精确性的问题上,当手动测试遭遇大量的数据需要检查的时候,数据比较和搜索定位不仅效率不高而且易出错,达不到预期的覆盖率。伴随着产品的完善,软件功能的逐步完善,需要测试的内容有时候会呈现几何倍数增长,人工进行回归测试便显得捉襟见肘。当然不意味着手动测试就这样被淘汰,手工测试有这其不可替代的地方:(1) 测试用例的设计:测试人员的经验和判断能力是一切工具不具备的(2) 界面和用户体验:人类的审美和感官及心理体验是其他无法代替的(3) 正确性的检查:工具是不具备推理和逻辑思维的。而在借助

21、计算机强大的计算能力下,可以不知疲倦、重复的运行,对于大量的数据也能在短时间内处理结束。于是自动化测试的优势则表现如下:(1) 可重复性强(2)计算精确(3)大批量操作(4)覆盖面广(5)搜索效率高2.3.2如何开展自动化测试在软件测试的阶段,自动化测试应该被当作一个项目来开展。首先要确定所开发的软件项目采用自动化测试是否适用。短期的或者一次性的项目不宜采用,因为这反而增加开发周期和成本。同样,在一个非常紧迫的项目中也是不合适的,因为需要测试人员开发编写测试脚本,并需要开发人员的配合使得整个进程更加紧张仓促,适得其反。其次,什么时候开始自动化测试项目?不能过早,太早的话,软件不成形,界面、编码

22、等不稳定,改动频繁,这时候开展自动化徒增成本,得不偿失。可以在雏形期做一些准备,考虑测试工具的选择。熟悉和了解各种编程语言、编程工具,以及各种控件会使得在开展测试时得心用手。2.3.3自动化测试方案在选择测试方案的时候,要参照下列因素4:(1) 项目的影响:制定的方案是否对整个项目有积极作用,或者让开发更敏捷(2) 复杂度:自动化是否容易实现(3) 时间:自动化测试的实现需要多少时间(4) 早期需求和代码的稳定性:如果不能稳定,那么自动化测试介入会很尬尴(5) 覆盖率:能否覆盖程序中的关键特性和功能(6) 资源:有没有足够的人力资源、数据资源、硬件资源来支持自动化的开展在确定方案后,测试脚本的

23、编码阶段,编写方法也左右着自动化测试的效率和质量。自动化功能测试的开发方式主要有:(1) 线性的(2) 结构化的(3) 共享的(4) 数据驱动的(5) 关键字驱动的2.4自动化测试工具介绍QTP全名HP QuickTest Professional software ,2012年12月6日发布了11.5版本,并更名为Unified Functional TestingQTP是Quick test Professional的简称,是一款自动化测试工具。自动化工具出现目的是想用它来执行重复的手动测试,主要是用于回归测试和测试同一软件的新版本。在测试前要考虑好如何制定相应的测试计划,例如要测试那些功

24、能、操作步骤、输入数据和期望的输出数据等。WinRunner是Mercury Interactive公司的一种企业级的功能测试工具,用于检测应用程序是否能够达到预期的功能及正常运行。通过自动录制、检测和回放测试用户的操作,WinRunner能够有效地帮助测试人员对复杂应用的不同发布版进行测试,提高测试人员的工作效率和质量,且保障跨平台的、复杂的企业级应用能够无故障发布及长期稳定运行。Rational Robot作为业界最顶尖的自动化功能测试工具,它可以在测试人员学习高级脚本技术同时帮助其进行成功的测试。集成在测试人员的桌面IBM Rational Test Manager上,测试人员可以计划、

25、组织、执行、管理和报告所有测试活动,包括手动测试报告。这种测试和管理的双重功能十分利于刚进入测试领域的人员。AdventNet QEngine.AdventNet QEngine是一个应用广泛且独立于平台的自动化软件测试工具,可用于Java API测试、web性能测试、Java应用性能测试、Web功能测试、SOAP测试、回归测试和Java应用功能测试。支持对于使用HTML、JSP、ASP、.NET、PHP、JavaScript/VBScript、XML、SOAP、WSDL、e-commerce、传统客户端/服务器等开发的应用程序进行测试。此工具为Java技术开发,十分便于移植并可提供多平台支持

26、。SilkTest,是用于对企业级应用进行功能测试的领先产品,可用于测试Web、Java或是传统的C/S结构。SilkTest提供了丰富的功能,使用户能够高效地进行自动化测试。包括以下功能:测试的计划和管理,数据库访问及校验,便捷、强大的4Test脚本语言,内置恢复系统(Recovery System),并具有使用同一套脚本进行跨平台、浏览器进行测试的功能。QA Run。QARun的测试实现方式是通过检测鼠标移动、键盘点击操作等被测应用,即而得到相应的测试脚本,对该脚本可以进行需要编辑和调试。在记录的过程中可针对被测应用中所包含的功能点进行基线值的建立,即在插入检查点的同时建立预期值。在这里检

27、查点是目标系统的一个特殊方面在一特定点的期望状态。一般,检查点在QARun提示目标系统执行一系列事件之后被执行。检查点用于确定当前实际结果与预期值是否一样。Test Partner作为一个自动化的功能测试工具,它专为测试基于微软、Java和Web技术的复杂应用而设计。它使测试人员和开发人员都可以使用可视的脚本编制和自动向导来生成可重复的测试,用户可以在任何水平层次和细节条件下,调用VBA的所有功能进行测试。TestPartner通过采用通用的、分层的方式来进行脚本的开发。各水平的的测试人员都可以通过TestPartner的可视化导航器来快速创建测试并执行。通过可视的导航器录制并回放测试,每一个

28、测试都将以树状结构展示,以清楚地显现测试通过的应用路径。Holodeck-强大的故障植入软件测试工具Holodeck is an advanced fault-injection tool that gives you the power to attack an application while it monitors and logs everything your application does - every function call, registry entry, piece of data read or written.AutoRunner。AutoRunner是黑盒测试

29、工具,可以用来完成功能测试、回归测试,可以提高测试效率,降低测试人工成本。产品可以对以下类型对象进行GUI功能性测试:(1)Windows类型对象,一般为用C+/Delphi/VB/VFP/PB/.NetForm等技术开发的桌面程序。(2)IE网页对象,一般性的网站,比如大的门户类网站。(3) Java对象,一般为用AWT/Swing/SWT等技术开发的桌面程序。(4)Flex对象,网页的内容是用Flex开发的。(5) Silverlight对象,网页的内容是用Silverlight开发的。(6) WPF对象,一般为用WPF技术开发的桌面程序。(7) QT对象,一般为用QT技术开发的桌面程序。

30、3 QuickTest Professional的简介QTP是Quick test Professional的简称,是一款自动化测试工具。自动化工具出现目的是想用它来执行重复的手动测试,主要是用于回归测试和测试同一软件的新版本。在测试前要考虑好如何制定相应的测试计划,例如要测试那些功能、操作步骤、输入数据和期望的输出数据等13。QTP测试的对象,包括传统的Windows应用程序,Web应用等等。它可以覆盖绝大多数的软件开发技术,不仅简单高效而且具备测试用例可重用的特点。其中包括:创建测试脚本、插入检查点、增强测试脚本、运行测试与分析结果和维护测试等方面。3.1 QTP的安装与配置第一步:点击Q

31、TP的执行文件,选择路径进行安装第二步:安装完成后会出现下图的对话框,然后点击”OK”,如图3.1.1;图3.1 初始界面图第三步:选择“Blank Test”选项,如图3.1.2;图3.2 空白测试创建3.2 QTP的使用QTP进行功能测试的测试流程包括(1)制定测试计划(2)创建测试脚本(3)增强测试脚本功能(4)运行测试(5)分析测试结果 五个步骤:创建测试脚本制定测试计划分析测试结果运行测试增强测试脚本功能 图3.3 测试流程图3.2.1制定测试计划自动测试的测试计划是作为测试全工程的指导,根据被测项目的具体需求,和使用的测试工具特征而制定。QTP作为功能测试工具,主要用于软件的功能测

32、试。当然QTP是不能完全取代测试人员的手工操作,如测试脚本的创建和测试用例的设计。但是在批量操作时,使用QTP的确能够帮助测试人员高效的完成很多工作。在测试计划阶段,首先要做的就是分析被测应用的特点,决定应该对哪些功能点进行测试,可以考虑细化到具体页面或者具体控件。在普通的应用程序测试应用方面,QTP在回归测试中是非常有效的。3.2.2创建测试脚本QTP的自动录制机制能够将测试人员的每一个操作步骤及被操作的对象记录下来,自动生成测试脚本。相较于其他自动测试工具录制脚本更方便的是,QTP除了以VB Script脚本语言的方式生成脚本语句以外,还将被操作的对象及相应的动作按照层次和顺序保存在一个基

33、于表格的Keyword View(关键字视图)中。比如,当测试人员单击一个链接或选择一个Check Box或者提交一个表单,相应的操作流程都会被记录在关键字视图中。3.2.3增强测试脚本功能脚本的录制只是为了实现创建或者设计脚本的第一步,基本脚本录制完毕后,测试人员可以根据需要增加所需要的功能,QTP允许测试人员通过脚本编辑器,在脚本中增加或更改测试步骤来修正或自定义测试流程,如增加多种类型的检查点功能,既可以让QTP检查一下在程序的某个特定位置或对话框中是否出现了需要的文字。以及通过变量的参数化功能,使用多组的数据驱动整个测试过程。3.2.4运行与分析QTP从脚本的第一行开始执行语句,运行过

34、程中会对设置的检查点进行验证,从DataTable中获取实际数据代替参数值,并给出相应的输出结构信息。测试过程中测试人员还可以调试自己的脚本,直到脚本完全符合要求。图3.4 关键字视图运行结束后系统会自动生成一份详细完整的测试结果报告。包括测试名称。测试开始和结束的时间,测试脚本运行的迭代次数、测试通过状态等。通过报告中的测试信息,发现错误并增强脚本。4 基于QTP自动化测试的实施本篇论文使用的是Flight这个Windows应用程序,这个程序所实现的是关于机票预订、查询、传真等操作,下面通过设计各功能的测试用例,借助QTP这款自动化测试工具,进行回归测试,实现对Flight功能测试的自动化,

35、从而展现出自动化测试的优势,并测试该应用软件是否有需要改进的地方。4.1 登录功能测试4.1.1 测试用例表4-1 登录测试用例表测试编号NamePassword预期结果实际结果测试结果Flight_01TexText提示错误passFlight_02TexMercury提示错误passFlight_03Tex提示错误passFlight_04Text提示错误passFlight_05Mercury提示错误passFlight_06提示错误failedFlight_07Text提示错误passFlight_0812345提示错误passFlight_09TextMercury正确,进入Flig

36、ht正确,进入Flightpass续表4-1 登录测试用例表Flight_10TextText提示错误passFlight_11queenqueen提示错误passFlight_12*)123提示错误passFlight_13+-/45mry提示错误passFlight_14mercurymercury提示错误正确,进入FlightpassFlight_15axhumercury正确,进入Flight正确,进入FlightpassFlight_16AXHUMERCURY正确,进入Flight正确,进入Flightpass4.1.2 脚本录制第一步:对于登录界面,首先对登录进行了录制,分别输入用

37、户名及密码,生成了最简单的VB脚本。如图4.1所示:图4.1 登录界面第二步:为了能全面的测试在任何输入的情况下都会有预想的结果,根据设计出来的测试用例,在Data Table中设置了AgentName及Password列,把可能的情况均输入进去,之后让其自动的逐个运行测试。第三步:测试要具有全面性,根据登录界面的按钮分布,先对Help按钮进行设计,用IF语句来控制确定Help之中的内容后的确认。第四步:接着运用For语句,来实现对Data Table中Name和Password的逐个执行测试。第五步:对容易出错的地方设置检查点,以便在自动测试时对其进行检测,有对话框上标题“Login”,按钮

38、“OK”。如图4.2所示:图4.2 Login检查点设置4.1.3 测试脚本Dialog(Login).WinButton(Help).Click 点击Help按钮If Dialog (Login).Dialog (Flight Reservations).Exist ThenDialog(Login).Dialog(Flight Reservations).WinButton(确定).ClickEnd If 判断在点击后是否出现对话框Dim iFor i=1 to datatable.GetSheet(Action1).GetRowCountDialog(Login).Check Check

39、Point(Login_2)Dialog(Login).WinEdit(Agent Name:).Set DataTable(name, dtLocalSheet)Dialog(Login).WinEdit(Password:).SetSecure DataTable(password, dtLocalSheet)Dialog(Login).WinButton(OK).Check CheckPoint(OK) 点击OK按钮添加检查点Dialog(Login).WinButton(OK).Click 从datatable中调取测试用例If Dialog(Login).Dialog(Flight

40、Reservations).Exist ThenDialog(Login).Dialog(Flight Reservations).WinButton(确定).ClickEnd Ifdatatable.GetSheet(Action1).SetNextRowNextDialog(Login).WinEdit(Agent Name:).Set mercuryDialog(Login).WinEdit(Password:).SetSecure mercuryDialog(Login).WinButton(OK).Check CheckPoint(OK) 点击OK按钮添加检查点Dialog(Logi

41、n).WinButton(OK).Click 输入正确的用户名和密码wait (5) 等待5秒Window(Flight Reservation).WinMenu(Menu).Select File;Exit 退出 本测试脚本通过点击Help按钮,查看密码;通过For循环语句来获取DataTable里设计的用户名和密码,验证正确的用户名和密码能够进入Flight订票系统,实现用户名及密码的输入自动化测试,并对其中的OK按钮添加检查点。4.1.4 执行结果如图4.3所示:图4.3 测试执行结果登陆测试的结果显示:测试执行了3次,并且全部未通过,说明在脚本里出现了错误。Datatable中的sta

42、tus与outmsg两列的参数值出现了误差,导致在测试中,赋值对比中找不到正确的对象。修改后选取一个用列再次测试。图4.4 测试执行结果登陆测试的结果显示:本次测试运行了一遍,并且通过,脚本错误得到修正。4.2 订票功能测试4.2.1 录制脚本过程为了体现自动化测试在测试中的高效率和便捷性,测试案例中对Flight订票系统中的出发地、目的地、航班及订购的票数进行了随机选取,用Randomnumber语句实现,使QTP的自动化更具说服力。第一步:打开QTP选择“Record”,录制脚本。第二步:在登录界面中,Agent Name和Password均以Mercury作为测试变量,点击“OK”按钮。

43、第三步:输入飞行时间、出发地、目的地,然后点击“Flights”选择航班,如图4.4所示:图4.5 订票界面第四步:选择要乘坐飞机的航班,然后点击确定。第五步:输入顾客的姓名、票数、票的类型、点击“Insert”第六步:点击“Stop”结束录制过程,脚本录制成功第七步:在容易出错的点上右击鼠标,选择“Insert Standard Checkpoint”,如图4.6所示:图4.6 Insert Order检查点4.2.2 调试测试脚本及注解Dim a1,b1,c1Window(Flight Reservation).ActiveX(MaskEdBox).Type 033112a1=Window

44、(FlightReservation).WinComboBox(FlyFrom:).GetROProperty(items count)Window(FlightReservation).WinComboBox(FlyFrom:).Select andomnumber(0,a1-1) 随机获取出发地b1=Window(FlightReservation).WinComboBox(FlyTo:).GetROProperty(items count)Window(Flight Reservation).WinComboBox(Fly To:).Select Randomnumber(0,b1-1)

45、 随机获取目的地Window(Flight Reservation).WinButton(FLIGHT).Check CheckPoint(FLIGHT) 为FLIGHT按钮添加检查点Window(Flight Reservation).WinButton(FLIGHT).Clickc1=Window(FlightReservation).Dialog(FlightsTable).WinList(From).GetItemsCountWindow(Flight Reservation).Dialog(Flights Table).WinList(From).Select Randomnumber(0,c1-1) 随机选择一航班

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/环境 > 装饰装潢


经营许可证编号:宁ICP备18001539号-1