《QTP测试工具在软件开发中的应用毕业论文.doc》由会员分享,可在线阅读,更多相关《QTP测试工具在软件开发中的应用毕业论文.doc(39页珍藏版)》请在三一办公上搜索。
1、QTP测试工具在软件开发中的应用摘要:软件测试是软件工程的重要部分,是确保软件质量的重要手段。最近几年,由于软件的复杂度不断增强、软件产品的不断发展,软件测试得到了越来越广泛的重视。自动化测试是把为人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,有测试人员根据用例中描述的规程一步步执行,得到实际结果与预期结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引进了自动化测试的概念。QTP是quicktest Professional的简称,是一种自动测试工具。使用QTP的目的时想用它来执行重复的手动测试,主要是用于回归测试和测试同一软件的新版本
2、。Mercury QuickTest Professional甚至可以使新测试人员在几分钟内提高效率。您只需通过按“记录”按钮,并使用执行典型业务流程的应用程序即可常见测试脚本。系统使用简明的英文语句和屏幕抓图来自动记录业务流程中的每个步骤。用户可以在关键字试图中轻松修改、删除或重新安排测试步骤。关键字:软件测试、自动化测试、回归测试、QTPThe application of QTP test tool in softwares developmentAbstract: The test of Software is the important part in software projec
3、t ,it is the important means of ensuring software quality. Recently in few years, the unceasing development of, software product strengthens continuously because of the complex degree of software, software test has gotten , it is more and more extensive to pay attention. Automation test is with the
4、test behavior transformation of artificial drive a kind of course of carrying out for machine. Usually, when having designed Test Case have test people after passing through evaluation the rules step of one step that basis describes in example carry out , get the comparison of actual result and expe
5、cted result. In this course ,it have led into the concept of automation test for saving manpower, time or hardware resource and raising test efficiency. QTP is the abbreviation of quicktest Professional , is a kind of voluntarily test tool. Using the purpose of QTP is that the by hand that wants to
6、carry out repetition with it tests , it is used in regressing test mainly and test the new edition of same software. Mercury QuickTest Professional can even make new test people raise efficiency in some minutes. You need to carry out the application program of typical business process through pressi
7、ng the button of record and using only, found test script. System uses concise English sentence and screen to grab picture come from to move every step in record business process. User can the relaxed modification in keyword view , delete or reordering test step. Keywords:The test of Software、The te
8、st of Automation、The test of Regression、QTP(QuickTest Professional)目 录前言5第1章 软件测试61.1定义61.2 软件质量与测试的关系61.3 主要技术61.4 自动化测试7第2章 QTP简介82.1特点82.2安装(截图)82.3基本操作(截图)13第3章 订票系统功能简介173.1订票功能173.1修改订票功能173.1删除订票功能17第4章 测试需求分析与计划184.1需求分析184.2测试计划18第5章 订票功能测试205.2测试用例205.2录制脚本过程(截图)225.2测试脚本255.2执行和结果25第6章 修改
9、功能测试265.2测试用例265.2录制脚本过程(截图)266.2测试脚本306.2执行和结果31第7章 删除功能测试325.2测试用例325.2录制脚本(截图)327.2测试脚本357.2执行和结果35第8章 测试结果分析37第9章 毕业设计小结38致谢39参考文献40前言Mercury QuickTest Professional 甚至可以使新测试人员在几分钟内提高效率。您只需通过按“记录”按钮,并使用执行典型业务流程的应用程序即可创建测试脚本。系统使用简明的英文语句和屏幕抓图来自动记录业务流程中的每个步骤。用户可以在关键字视图中轻松修改、删除或重新安排测试步骤。 QuickTest Pr
10、ofessional 可以自动引入检查点,以验证应用程序的属性和功能,例如验证输出或检查链接有效性。对于关键字视图中的每个步骤,活动屏幕均准确显示测试中应用程序处理此步骤的方式。您也可以为任何对象添加几种类型的检查点,以便验证组件是否按预期运行(只需在活动屏幕中单击此对象即可)。 然后,可以在产品介绍(具有 Excel 所有功能的集成电子表格)中输入测试数据,以便在不需要编程的情况下处理数据集和创建多个测试迭代,从而扩大测试案例范围。您可以键入数据,或从数据库、电子表格或文本文件导入数据。 高级测试人员可以在专家视图中查看和编辑自己的测试脚本,该视图显示 QuickTest Professio
11、nal 自动生成的基于业界标准的内在 VB 脚本。专家视图中进行的任何变动自动与关键字视图同步。 一旦测试人员运行了脚本,TestFusion 报告显示测试运行的所有方面:高级结果概述,准确指出应用程序故障位置的可扩展树视图,使用的测试数据,突出显示任何差异的应用程序屏幕抓图,以及每个通过和未通过检查点的详细说明。通过使用 Mercury TestDirector 合并 TestFusion 报告,您可以在整个 QA 和开发团队中共享报告。 QuickTest Professional 也加快了更新流程。当测试中应用程序出现变动(例如“登录”按钮重命名为“登入”)时,您可以对共享对象库进行一次
12、更新,然后此更新将传播到所有引用该对象的脚本。您可以将测试脚本发布到 Mercury TestDirector,使其他 QA 团队成员可以重复使用您的测试脚本,从而消除了重复工作。 QuickTest Professional 支持所有常用环境的功能测试,包括 Windows、Web、.Net、Visual Basic、ActiveX、Java、SAP、Siebel、Oracle、PeopleSoft 和终端模拟器。 QTP8.0带出了自动化测试革命的一个新名词:关键字驱动 QTP自身又带有数据表支持数据驱动的测试,数据驱动使得自动化测试代码复用率显著提高,E测工作室自动化测试专家认为一段自动
13、化测试脚本想要收回成本至少要被运行6次以上,数据驱动即提高了自动化测试收益。 第1章 软件测试1.1 定义软件测试是软件开发过程中的一个重要组成部分,是贯穿整个软件开发生命周期、对软件产品(包括阶段性产品)进行验证和确认的活动过程,其目的是尽快尽早地发现在软件产品中所存在的各种问题与用户需求、预先定义的不一致性。软件测试就是为了发现错误而执行程序的过程。软件测试是一个找错的过程,测试只能找出程序中的错误,而不能证明程序无错。软件测试要求以较少的用例、时间和人力找出软件中潜在的各种错误和缺陷,以保证软件的质量。在IEEE所提出的软件工程标准属于中,其目的在于检验它是否满足规定的需求后弄清楚语气结
14、果与实际结果之间的差别。1.2 软件质量与测试的关系软件归根姐弟是为了保证软件的质量,软件测试归根姐弟是为了保证软件质量。通常软件质量是以“满足需求”为基本衡量标准,IEEE提出的软件测试定义明确提出了软件测试以检验是否满足需求为目标。1.3 主要技术软件测试技术鬼节为两大类:白盒测试和黑盒测试。白盒测试有可分为静态测试和动态测试;静态测试主要包括代码检查法、静态结构分析法等;动态测试技术主要包括程序插桩、逻辑覆盖、基本路径测试等。黑河测试一般可分为功能测试和非功能测试两大类:功能测试主要包括等价类划分、边值分析、因果图法、错误推测、强度测试、兼容性测试、配置测试、安全测试等。1.4 自动化测
15、试软件测试自动化就是通过测试工具或其他手段,按照测试人员的预定计划对软件产品进行自动的测试,它是软件测试的一个重要组成部分,能够完成许多手工无法完成后者难以实现的一些测试工作。正确、合理地实施自动化测试,能够快速、全面地对软件进行测试,从而提高软件质量,节省经费,缩短产品发布周期。第2章 QTP简介2.1 特点使用QuickTest可以加速整个测试的过程,并且建置完新版本的应用程序或网站后,可以重复使用测试脚本进行测试。以QuickTest执行测试,就与人工测试一样。QuickTest会仿真鼠标的动作与键盘的输入,不过QuickTest比人工测试快乐很多。QuickTest自动化的好处有:快速
16、:QuickTest执行测试比人工测试速度快多了。可靠:QuickTest每一次的测试都可以正确的执行相同的动作,可以避免人工的错误。可重复:QuickTest可以重复执行相同的测试。可程序化:QuickTest可以以程序的方式,撰写复杂的测试脚本,以带出隐藏在应用程序中的信息。广泛性:QuickTest可以建立广泛的测试脚本,涵盖应用程序的所有功能。可再使用:QuickTest可以重复使用测试脚本,即使应用程序的使用接都已经改变。2.2 安装第一步:启动QTP的安装程序执行文件,结果如图(2-2-1)图(2-2-1)第二步:点击“QTP的安装程序”,结果如图(2-2-2)图(2-2-2)第三
17、步:点击“我接受许可证协议中的条款”,然后点击“是(Y)”,结果如图(2-2-3)图(2-2-3)第四步:在维护号下的文本框中输入“0123-2820602166”,然后点击“下一步(N)” ,结果如图(2-2-4)图(2-2-4)第五步:点击“是(Y)” ,结果如图(2-2-5)图(2-2-5)第六步:最好选择“自动设置这些选项(建议Quality Center用户)”选项,然后选择“下一步(N)” ,结果如图(2-2-6)图(2-2-6)第七步:如果连接了互联网可以选择“下载Microsoft Script Debugger”及“安装Microsoft Script Debugger”如果
18、没有连接互联网就不要选择了。目标文件夹最好是默认的,然后点击“下一步(N)” ,结果如图(2-2-7)图(2-2-7)第八步:最好选择“完全(F)”安装,然后点击“下一步(N)”,结果如图(2-2-8)图(2-2-8)第九步:点击“开始(S)”,结果如图(2-2-9)图(2-2-9)第十步:点击“下一步(N)”然后系统就安装QTP,安装完成后,会提示你是否立即重新启动,最好是立即重新启动。,结果如图(2-2-10)图(2-2-10)点击完成就可以正常使用。2.3 基本操作第一步:点击QTP的执行文件, 第二步:第一步完成后会出现上图的对画框,然后点击”OK” ,如图(2-3-2)图(2-3-2
19、)第三步:选择“Tutorial”选项,如图(2-3-3)图(2-3-3)第四步:关闭右上角的对话框,选择左上角的“Record”选项,如图(2-3-4)图(2-3-4)第五步:QTP会有对两个方向的测试,一个是对web的测试,一个是对具体软件程序的测试。如果选择对web测试,在上图制定输入地方网址,点击确定:如果是对软件程序的测试,选择“Windows Application”选项,如图(2-3-5)图(2-3-5)第六步:选择“+”按钮选择要执行程序的文件,如图(2-3-6)图(2-3-6)第七部:在“application”中选择你要执行程序的文件,然后点击“OK”按钮,如图(2-3-7
20、)图(2-3-7)第八步:点击“确定”,你就会对该系统执行测试。,如图(2-3-8)图(2-3-1)第3章 订票系统简介3.1订票功能第一步:用户Mercury登录到飞机订票系统。,如图第二步:用户可以在相应的栏目里输入日期、出发地、目的地、飞机班次、顾客的姓名、飞机票数、类型等后,点击“insert”按钮成功订票3.2修改订票功能第一步:用户Mercury登录到飞机订票系统。,如图第二步:用户根据原来订票的信息,打开原来自己订票的信息。第三步:用户修改原有的订票订票信息3.3删除订票功能第一步:用户Mercury登录到飞机订票系统。,如图第二步:用户根据原来订票的信息,打开原来自己订票的信息
21、。第三步:用户删除原有的订票订票信息,取消该次的订票第4章 测试需要分析与计划4.1需求分析4.1.1 功能点1飞机订票系统的订票功能用户输入要订票的日期、出发地、目的地、航班、票数、类型等信息,系统即可根据用户输入的信息给用户订票,4.1.2 功能点2飞机订票系统的修改订票的功能用户可以根据一些信息查看原有的订票信息,并能够修改原有的订票的信息。4.1.3 功能点3 飞机订票系统的删除订票的功能用户可以根据一些信息查看原有的订票信息,并能够删除原有的订票的信息。4.2 测试计划4.2.1 编写测试用例表如表(图(4-2-1)测试编号输入预期结果实际结果YL_*_001YL_*_002表(4-
22、2-1)4.2.2 根据测试用例执行测试4.2.3测试汇总表如表(4-2-2)用例编号测试步骤预期结果测试结果表(4-2-2)4.2.4汇总分析对QTP测试的结果进行分析,并得出结论,提交测试报告和建议,以备开发人员进行修改和维护第5章 订票功能测试5.1 测试用例测试编号输入预期结果实际结果YL_01_001空在Fly中选择一个地点,弹出警告信息不能为空的警告YL_01_00209/01/10在Fly中选择一个地点,弹出警告信息日期要在今天之后YL_01_00313/10/13在Fly中选择一个地点,弹出警告信息月份要小于13YL_01_00410/32/13在Fly中选择一个地点,弹出警告
23、信息天要在1-31之间YL_01_00511/31/13在Fly中选择一个地点,弹出警告信息天要在1-30之间YL_01_00610/23/13正确YL_01_007空在Flyto中选择一个地点,弹出警告信息Ff不能为空的警告YL_01_008LosAngeles正确成功YL_01_009空Flights按钮不可用成功YL_01_0010DenverFlights按钮可用成功YL_01_0011单击,选择6696航班在窗口显示航班信息出发点为LosAngeles,目的地为DenverYL_01_012在Ft中改选Frankfurt清空航班信息出发点为LosAngelesYL_01_013在Ff
24、中改选Paris清空航班信息, Flights按钮不可用,Ft自动清空成功YL_01_014zhangs,1,EconomyPrice:170.47Total:170.47出发点为LosAngeles,目的地为Denver, 选择6696航班YL_01_015zhang,2,EconomyPrice:170.47Total:340.94成功YL_01_016zhang,0,Economy自动改为1,Price:170.47Total:170.47成功YL_01_017zhang,99,EconomyPrice:170.47Total:16876.53成功YL_01_018zhang,100,E
25、conomy自动改为10,Price:170.47Total:1704.7成功YL_01_019zhang,1,FirstPrice: 511.41Total:511.41成功YL_01_020zhang,2,FirstPrice:511.41Total:1022.82成功YL_01_021zhang,1,BusinessPrice:340.94Total:340.94成功YL_01_022zhang,2,BusinessPrice:340.94Total:681.88成功YL_01_023在Ff中改选ParisFt,Flights,航班信息,Price,Total,Class全部清空成功YL
26、_01_024在Ft中改选Paris航班信息,Price,Total,Class全部清空出发点为LosAngeles,目的地为Denver, 选择6696航班,zhang,1 张票, EconomyYL_01_025待添加的隐藏文字内容210/30/13LosAngelesDenver6696陈国强insert按钮可用,update,Delete按钮不可用,单击,进程条工作,OrderNo:13 ,insert按钮不可用update,Delete按钮可用OrderNo:原来是空的,insert后改为具体数字。YL_01_026姓名为空Insert,update,Delete按钮不可用10/30
27、/10LosAngelesDenver6696zhangEconomyYL_01_027改变航班8855Insert,update,Delete按钮不可用姓名清空,原来的信息:10/30/13LosAngelesDenver6696zhangEconomyYL_01_028改变Ft为London航班信息,price,Total,Class清空Insert,update,Delete按钮不可用原来的信息:10/30/13LosAngelesDenver6696zhang,1EconomyYL_01_029改变Ff为Paris航班信息,Ft,Price,Total,Class清空,Flights,
28、Insert,update,Delete按钮不可用原来的信息:10/30/13LosAngelesDenver6696zhang,1EconomyYL_01_030单击insert进程条工作,OrderNo:原来是空的,现改为具体数字。例:OrderNo:13 ,insert按钮不可用, update,Delete按钮可用10/30/13LosAngelesDenver6696zhang,1Economy表(5-1-1)5.2录制脚本过程(截屏)第一步:录制脚本,选择“Record”如图()图(5-2-1)第二步:在Agent Nname和Password中都输入Mercury点击“OK”按钮
29、图(5-2-2)第三步:输入飞机的时间、出发地、目的地,然后选择“Flights”选择航班图(5-2-3)第四步:选择要乘坐飞机的航班,然后点击确定。图(5-2-4)第五步:输入顾客的姓名、票数、票的类型、点击“insert”图(5-2-5)第六步:点击“Stop”结束录制过程,脚本录制成功。图(5-2-6)第七步:在容易出错的点上右击鼠标,选择“Insert Standard Checkpoint”图(5-2-7)第八步:点击“确定”图(5-2-8)脚本(截图):图(5-2-9)第九步:在外面将飞机订票系统里的数据删除,点击“Run”运行脚本。图(5-2-10)5.3 测试脚本Dialog(
30、Login).WinEdit(Agent Name:).Type MDialog(Login).WinEdit(Agent Name:).Set MercuryDialog(Login).WinEdit(Password:).Type MDialog(Login).WinEdit(Password:).SetSecure 4da14eea230673a188a059df360a208f53f741b0Dialog(Login).WinEdit(Password:).Type micReturn Window(Flight Reservation).WinObject(Date of Fligh
31、t:).Type 101011Window(Flight Reservation).WinComboBox(Fly From:).Select LondonWindow(Flight Reservation).WinComboBox(Fly To:).Select ParisWindow(Flight Reservation).WinButton(FLIGHT).ClickWindow(Flight Reservation).Dialog(Flights Table).WinList(From).Select 12582 LON 08:00 AM PAR 10:00 AM AF $164.00
32、Window(Flight Reservation).Dialog(Flights Table).WinButton(OK).Check CheckPoint(OK)Window(Flight Reservation).Dialog(Flights Table).WinButton(OK).ClickWindow(Flight Reservation).WinEdit(Customer Name:).Set zhangWindow(Flight Reservation).WinButton(Insert).ClickWindow(Flight Reservation).Close5.4 执行和
33、结果执行QTP生成的脚本,结果如图图(5-4-1)第6章 修改功能测试6.1 测试用例测试编号输入预期结果实际结果YL_02_001点击open“按钮”弹出open order对话框成功弹出open order对话框YL_02_002选择“customer name”弹出“search results”对话框成功YL_02_003选择第一个订单,点击“ok”按钮对话框消失,订单的内容在飞机订票系统中显示Insert按钮不可用,update和delete按钮可用月份要小于13YL_02_004日期修改为11/31/12可以修改成功YL_02_005出发地改为London可以修改成功YL_02_0
34、06目的地修改为paris可以修改成功YL_02_007Flight修改为10638号航班可以修改成功YL_02_008Customer name修改为hua可以修改成功YL_02_009Tichet 修改为2可以修改成功YL_02_010Class 修改为first可以修改成功YL_02_011点击update按钮订票成功修改成功表(6-1-1)6.2 测试过程(截屏)第一步:录制脚本,选择“Record”,如图(5-2-1)第二步:在Agent Nname和Password中都输入Mercury点击“OK”按钮,如图(6-2-1)第三步:点击“”打开原有订票单图(6-2-3)第四步:选择原
35、有的订票,可以根据“顾客名”、“航班日期”、“订单的NO”选择要订单图(6-2-4)第五步:选择具体的航班图(6-2-5)第六步:对所定的票进行修改,点击“Update”按钮图(6-2-6)更新中图(6-2-7)第七步:点击“Stop”结束录制过程,脚本录制成功。第八步:在容易出错的点上右击鼠标,选择“Insert Standard Checkpoint”图(6-2-8)第九步:点击“OK”图(6-2-9)脚本(截图):图(6-2-10)第十步:点击“Run”运行脚本。图(6-2-11)6.3 测试脚本Dialog(Login).WinEdit(Agent Name:).Type MDialo
36、g(Login).WinEdit(Agent Name:).Set MercuryDialog(Login).WinEdit(Password:).Type MDialog(Login).WinEdit(Password:).SetSecure 4da15069b9b79471f037e5994fbbed913942ad8eDialog(Login).WinEdit(Password:).Type micReturn Window(Flight Reservation).WinButton(Button).ClickWindow(Flight Reservation).Dialog(Open
37、Order).WinCheckBox(Customer Name).Set ONWindow(Flight Reservation).Dialog(Open Order).WinEdit(Edit).Set zhangWindow(Flight Reservation).Dialog(Open Order).WinButton(OK).ClickWindow(Flight Reservation).Dialog(Open Order).Dialog(Search Results).WinButton(OK).ClickWindow(Flight Reservation).WinEdit(Tic
38、kets:).SetSelection 0,1Window(Flight Reservation).WinEdit(Tickets:).Set 4Window(Flight Reservation).WinRadioButton(Business).SetWindow(Flight Reservation).WinButton(Update).Check CheckPoint(Update)Window(Flight Reservation).WinButton(Update).ClickWindow(Flight Reservation).Close6.3执行和结果执行QTP生成的脚本,结果
39、如图图(6-4-1)第7章 删除功能测试7.1 测试用例测试编号输入预期结果实际结果YL_03_001点击open“按钮”弹出open order对话框成功弹出open order对话框YL_03_002选择“customer name”弹出“search results”对话框成功YL_03_003选择第一个订单,点击“ok”按钮对话框消失,订单的内容在飞机订票系统中显示Insert按钮不可用,update和delete按钮可用月份要小于13YL_03_004选择delete按你可以删除该信息成功表(7-1-1)7.2 测试过程第一步:录制脚本,选择“Record”第二步:在Agent Nn
40、ame和Password中都输入Mercury点击“OK”按钮第三步:点击“”打开原有订票单,如图(6-2-3)第四步:选择原有的订票,可以根据“顾客名”、“航班日期”、“订单的NO”选择要订单,如图(6-2-4)第五步:选择具体的航班,如图(6-2-4)第六步:对所定的票进行修改,点击“delete”按钮图(7-2-6)第七步:确认删除图(7-2-7)第八步:点击“Stop”结束录制过程,脚本录制成功。图(7-2-8)第九部:在容易出错的点上右击鼠标,选择“Insert Standard Checkpoint”图(7-2-9)第十步:点击“OK”图(7-2-10)脚本(截图):图(7-2-1
41、1)7.3 测试脚本Dialog(Login).WinEdit(Agent Name:).Type MDialog(Login).WinEdit(Agent Name:).Set MercuryDialog(Login).WinEdit(Password:).Type MDialog(Login).WinEdit(Password:).SetSecure 4da1309e122e4c63d752211d9dc7b5e63641aa8eDialog(Login).Click 151,140Dialog(Login).WinButton(OK).ClickWindow(Flight Reserva
42、tion).WinButton(Button).ClickWindow(Flight Reservation).Dialog(Open Order).WinCheckBox(Customer Name).Set ONWindow(Flight Reservation).Dialog(Open Order).WinEdit(Edit).Set zhangWindow(Flight Reservation).Dialog(Open Order).WinButton(OK).ClickWindow(Flight Reservation).Dialog(Open Order).Dialog(Searc
43、h Results).WinButton(OK).ClickWindow(Flight Reservation).WinButton(Delete).ClickWindow(Flight Reservation).Dialog(Flight Reservations).ActivateWindow(Flight Reservation).Dialog(Flight Reservations).ActivateWindow(Flight Reservation).Dialog(Flight Reservations).WinButton(是(Y).ClickWindow(Flight Reser
44、vation).ActivateWindow(Flight Reservation).Close7.4 执行和结果第九步:点击“Run”运行脚本。图(7-4-1)运行结果图(7-4-2)第8章 测试结果分析8.1测试用例的汇总表用例编号测试步骤、输入数据预期结果测试结果YL_01(1) 录制订票脚本(2) 根据测试用例执行测试。(3) 订票,并提交数据(4) 在外面删除数据,执行脚本飞机订票系统的订票功能按照理想运行,没有出现问题没有错误产生YL_02(1) 录制修改脚本(2) 根据测试用例执行测试(3) 打开已有的订票,并修改订票信息飞机订票系统的修改订票功能按照理想运行,没有出现问题没有错误产生YL_03(1) 录制删