完整版QTP在WEB的回归测试中的研究及应用毕业设计.docx

上传人:b****2 文档编号:3168471 上传时间:2023-05-05 格式:DOCX 页数:15 大小:512.64KB
下载 相关 举报
完整版QTP在WEB的回归测试中的研究及应用毕业设计.docx_第1页
第1页 / 共15页
完整版QTP在WEB的回归测试中的研究及应用毕业设计.docx_第2页
第2页 / 共15页
完整版QTP在WEB的回归测试中的研究及应用毕业设计.docx_第3页
第3页 / 共15页
完整版QTP在WEB的回归测试中的研究及应用毕业设计.docx_第4页
第4页 / 共15页
完整版QTP在WEB的回归测试中的研究及应用毕业设计.docx_第5页
第5页 / 共15页
完整版QTP在WEB的回归测试中的研究及应用毕业设计.docx_第6页
第6页 / 共15页
完整版QTP在WEB的回归测试中的研究及应用毕业设计.docx_第7页
第7页 / 共15页
完整版QTP在WEB的回归测试中的研究及应用毕业设计.docx_第8页
第8页 / 共15页
完整版QTP在WEB的回归测试中的研究及应用毕业设计.docx_第9页
第9页 / 共15页
完整版QTP在WEB的回归测试中的研究及应用毕业设计.docx_第10页
第10页 / 共15页
完整版QTP在WEB的回归测试中的研究及应用毕业设计.docx_第11页
第11页 / 共15页
完整版QTP在WEB的回归测试中的研究及应用毕业设计.docx_第12页
第12页 / 共15页
完整版QTP在WEB的回归测试中的研究及应用毕业设计.docx_第13页
第13页 / 共15页
完整版QTP在WEB的回归测试中的研究及应用毕业设计.docx_第14页
第14页 / 共15页
完整版QTP在WEB的回归测试中的研究及应用毕业设计.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

完整版QTP在WEB的回归测试中的研究及应用毕业设计.docx

《完整版QTP在WEB的回归测试中的研究及应用毕业设计.docx》由会员分享,可在线阅读,更多相关《完整版QTP在WEB的回归测试中的研究及应用毕业设计.docx(15页珍藏版)》请在冰点文库上搜索。

完整版QTP在WEB的回归测试中的研究及应用毕业设计.docx

完整版QTP在WEB的回归测试中的研究及应用毕业设计

本科毕业论文(设计)

题目:

QTP在WEB的回归测试中的研究及应用

姓名:

王振

专业:

信息管理与信息系统

院系:

信息工程学院

指导老师:

郭元

职称学位:

讲师硕士

完成时间:

 

QTP在WEB的回归测试中的研究及应用

摘要

在软件开发的整个过程中,软件测试是发现软件漏洞与缺陷最主要的方式,也成为控制软件质量最主要的手段。

在测试方法不断改进的同时,自动化测试已经越来越成为被开发者所信任的作为提高软件测试效率与质量的重要技术手段。

本文主要通过目前主流的自动化功能测试软件QTP对软件进行自动化功能测试,通过对一个Web的在线考试系统进行功能测试,包括案列设计,编写脚本和对测试结果的分析,让我们更好的了解在线考试系统所存在的优缺点。

让我们更加深入的了解和学习QTP自动化测试这个软件,以及对人工测试和自动化测试的比较,更加凸显自动化测试已成为当前软件技术发展的主流。

关键词:

软件测试;QTP;功能测试;在线考试系统

TheresearchandapplicationofQTP inthe regressiontest inWEB

Abstract

Inthewholeprocessofsoftwaredevelopment, softwaretestingistofindthe wayof softwarevulnerabilitiesand themaindefect, thetest method, testautomation importantmeans toenhancethequalityandefficiencyofsoftwaretesting.

Thisarticlemainlythrough thecurrentmainstream automatedfunctionaltesting softwareQTPautomation ofsoftwaretesting, functionaltesting throughthe onlineexaminationsystem of aWeb, including case design, scriptingand analysisoftestresults, theadvantagesanddisadvantagesof onlineexaminationsystem to better understandour existing. Letusunderstandandlearn moredeeply the QTPautomation test software, andthe comparison ofmanualtesting andautomatedtesting, automatedtesting ismoreprominent system

目录

1前言6

1.1课题研究背景6

1.2课题研究目的与意义6

2软件测试7

2.1软件测试的定义7

2.2软件测试与质量的关系7

2.3软件自动化测试与人工测试7

2.3.2自动化测试的定义与运用8

2.4自动化测试工具8

3QuickTestProfessional的简介11

3.1QTP的工作原理与核心技术11

3.1.1QTP的工作原理11

3.1.2QTP的核心技术11

3.2QTP安装与配置12

3.3QTP的特点14

3.4QTP的使用15

3.4.1制定测试计划15

3.4.2创建测试脚本15

3.4.3增强测试脚本16

3.4.4运行测试16

3.4.5分析测试结果与报告16

4在线考试系统功能简介与需求分析17

4.1用户登录考试功能17

4.2学生查询考试成绩功能20

4.3教师查询与删除信息功能21

4.4需求分析与测试功能点22

4.4.1功能点122

4.4.2功能点223

4.4.3功能点323

5基于QTP的自动化功能测试24

5.1登录功能测试24

5.1.1测试用例24

5.1.2脚本录制过程25

5.1.3测试脚本26

5.1.4执行结果27

5.2学生考试功能测试28

5.2.1录制脚本过程28

5.2.2调试测试脚本及注解30

5.2.3执行结果33

5.3学生查询成绩功能测试34

5.3.1录制脚本过程34

5.3.3调试测试脚本及注解36

5.3.4执行结果37

5.4教师查询与删除信息功能测试38

5.4.录制脚本过程38

5.4.3调试测试脚本及注解40

5.4.4执行结果41

6测试结果分析43

6.1测试用例汇总表43

6.2检查项44

6.3对比与分析44

6.4分析与建议44

结论46

参考文献47

1前言

1.1课题研究背景

软件测试是整个软件开发中的重要组成部分,是确保软件质量的重要手段。

最近几年,软件的复杂度不断增强、软件产品不断更新,但是在软件测试效率方面却并没有提高,所以软件测试得到了越来越广泛的重视,成为了软件开发中的重要环节。

众多统计资料表明,在很多典型的软件开发中,软件测试投入的成本和工作量往往占到软件开发总量的四成以上。

且常规的软件测试大多停留在内部测试和手工测试阶段,并不能完全适用于应用测试。

同时较多的企业采用瀑布模型进行开发,测试环节往往在软件开发结束之后。

这些问题极大程度上缩小了测试的覆盖率,影响了软件质量的可靠性。

自动化测试是把人为操作的测试行为转化为机器执行的过程。

从而节省人力、时间,提高测试效率。

1.2课题研究目的与意义

本文主要通过QTP在具体案例中的使用,包括测试案例设计、录制、脚本优化等功能,来具体认识自动化测试在软件中的应用。

同时在尽可能的减少人力物力的投入情况下的检测出问题与缺陷,进而提高工作人员在软件开发中的效率。

另一方面,在测试过程中,能够让同学们了解自动测试的思路,学会如何运用好QTP软件并进行功能测试,培养其分析和解决问题的能力。

2软件测试

2.1软件测试的定义

对于用户来说,软件测试是软件开发过程中的一个重要组成部分,是贯穿整个软件开发生命周期、对软件产品(包括阶段性产品)进行验证和确认的活动过程,在规定条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。

其目的是尽快尽早地发现在软件产品中所存在的各种问题。

2.2软件测试与质量的关系

软件质量是软件产品的价值体现,也是软件是否具有竞争力的体现,软件质量的优良代表软件的价值,而软件测试的目的就是为了保证软件的质量,软件质量是以是否满足用户需求为标准,而软件测试定义明确提出了软件测试以检验是否满足需求为目标。

2.3软件自动化测试与人工测试

2.3.1自动化测试与手工测试比较

软件测试的一个显著特征就是重复性强,对一个问题进行反复的检测与观察,当一个软件在测试的数据量非常大的时候,人工测试就显示出了效率不高和容易出错的劣势,而且不能掌控预期的覆盖率。

但是人工测试也有其本身的优点,测试人员本身所有的经验判断力和逻辑思维能力是电脑所不具备的。

随着近几年软件技术的高速发展,软件开发过程中需要测试的内容也大幅度增长,而此时人工测试就没有快速高效的测试方法,而在借助计算机强大的计算能力下,可以日以继夜重复的运行,对于大量的数据也能在短时间内处理结束。

并且精确度也比较高,覆盖度广。

所以自动化测试越来越受到人们的重视。

2.3.2自动化测试的定义与运用

软件测试自动化就是通过测试工具或其他手段,按照测试人员的预定计划对软件产品进行自动的测试,它是软件测试的一个重要组成部分,能够完成许多手工无法完成后者难以实现的一些测试工作。

正确、合理地实施自动化测试,能够快速、全面地对软件进行测试,从而提高软件质量,节省经费,缩短产品发布周期。

在软件测试的阶段,自动化测试应该被当作一个项目来开展。

首先要确定所开发的软件项目采用自动化测试是否适用。

短期的或者一次性的项目不宜采用,因为这反而增加开发周期和成本。

在开始测试之前要先设计好测试案列、编写测试脚本,再进行测试运行。

2.4自动化测试工具

QTP全名HPQuickTestProfessionalsoftware,2012年12月6日发布了11.5版本,并更名为UnifiedFunctionalTesting

QTP是QuicktestProfessional的简称,是一款自动化测试工具。

自动化工具出现目的是想用它来执行重复的手动测试,主要是用于回归测试和测试同一软件的新版本。

在测试前要考虑好如何制定相应的测试计划,例如要测试那些功能、操作步骤、输入数据和期望的输出数据等。

  WinRunner是MercuryInteractive公司的一种企业级的功能测试工具,用于检测应用程序是否能够达到预期的功能及正常运行。

通过自动录制、检测和回放测试用户的操作,WinRunner能够有效地帮助测试人员对复杂应用的不同发布版进行测试,提高测试人员的工作效率和质量,且保障跨平台的、复杂的企业级应用能够无故障发布及长期稳定运行。

  RationalRobot作为业界最顶尖的自动化功能测试工具,它可以在测试人员学习高级脚本技术同时帮助其进行成功的测试。

集成在测试人员的桌面IBMRationalTestManager上,测试人员可以计划、组织、执行、管理和报告所有测试活动,包括手动测试报告。

这种测试和管理的双重功能十分利于刚进入测试领域的人员。

AdventNetQEngine.AdventNetQEngine是一个应用广泛且独立于平台的自动化软件测试工具,可用于JavaAPI测试、web性能测试、Java应用性能测试、Web功能测试、SOAP测试、回归测试和Java应用功能测试。

支持对于使用HTML、JSP、ASP、.NET、PHP、JavaScriptVBScript、XML、SOAP、WSDL、e-commerce、传统客户端服务器等开发的应用程序进行测试。

此工具为Java技术开发,十分便于移植并可提供多平台支持。

SilkTest,是用于对企业级应用进行功能测试的领先产品,可用于测试Web、Java或是传统的CS结构。

SilkTest提供了丰富的功能,使用户能够高效地进行自动化测试。

包括以下功能:

测试的计划和管理,数据库访问及校验,便捷、强大的4Test脚本语言,内置恢复系统(RecoverySystem),并具有使用同一套脚本进行跨平台、浏览器进行测试的功能。

QARun。

QARun的测试实现方式是通过检测鼠标移动、键盘点击操作等被测应用,即而得到相应的测试脚本,对该脚本可以进行需要编辑和调试。

在记录的过程中可针对被测应用中所包含的功能点进行基线值的建立,即在插入检查点的同时建立预期值。

在这里检查点是目标系统的一个特殊方面在一特定点的期望状态。

一般,检查点在QARun提示目标系统执行一系列事件之后被执行。

检查点用于确定当前实际结果与预期值是否一样。

TestPartner作为一个自动化的功能测试工具,它专为测试基于微软、Java和Web技术的复杂应用而设计。

它使测试人员和开发人员都可以使用可视的脚本编制和自动向导来生成可重复的测试,用户可以在任何水平层次和细节条件下,调用VBA的所有功能进行测试。

TestPartner通过采用通用的、分层的方式来进行脚本的开发。

各水平的的测试人员都可以通过TestPartner的可视化导航器来快速创建测试并执行。

通过可视的导航器录制并回放测试,每一个测试都将以树状结构展示,以清楚地显现测试通过的应用路径。

Holodeck-强大的故障植入软件测试工具

  Holodeckisanadvancedfault-injectiontoolthatgivesyouthepowertoattackanapplicationwhileitmonitorsandlogseverythingyourapplicationdoes-everyfunctioncall,registryentry,pieceofdatareadorwritten.

AutoRunner。

AutoRunner是黑盒测试工具,可以用来完成功能测试、回归测试,可以提高测试效率,降低测试人工成本。

产品可以对以下类型对象进行GUI功能性测试:

(1)Windows类型对象,一般为用C++DelphiVBVFPPB.NetForm等技术开发的桌面程序。

(2)IE网页对象,一般性的网站,比如大的门户类网站。

(3)Java对象,一般为用AWTSwingSWT等技术开发的桌面程序。

(4)Flex对象,网页的内容是用Flex开发的。

(5)Silverlight对象,网页的内容是用Silverlight开发的。

(6)WPF对象,一般为用WPF技术开发的桌面程序。

(7)QT对象,一般为用QT技术开发的桌面程序。

3QuickTestProfessional的简介

QuicktestProfessional的简称QTP,QTP是被惠普公司花费45亿收购的MercuryInteractive产品的套件之一,是以VBscript为内嵌语言的自动化测试工具,应用在软件的GUI测试中。

它可以为每一个重要的软件和环境提供功能和回归的自动化测试,QTP采用关键字驱动的测试理念,能完全简化测试的创建和维护工作,能让您便捷地插入,修改,数据驱动(data-drive)和移除测试步骤,并且通过所集成的录制能力来捕获测试的步骤,并且自动生成脚本来描述测试过程,因此我们可以修改生成的自动化测试脚本,优化我们的测试过程。

通过活动屏幕将文档和一个截屏相结合,它还可以自动引入检查点来验证应用的属性和功能点,比如确认输出量或检查链接的有效性。

QTP支持多种企业环境的功能测试,包括Windows、Web、.NET、JavaJ2EE、SAP、Siebel、Oracle、PeopleSoft、VisualBasic、ActiveX、Mainframeterminalemulators和Webservices。

3.1QTP的工作原理与核心技术

3.1.1QTP的工作原理

QTP是基于录制回放的自动化测试工具,在测试初期,通过录制的方式记录下手工测试的步骤,并生成对应的VBS脚本。

在后期的回归测试中,只需要回放脚本,就可以实现相同的测试。

QTP标识测试对象的原理是其核心技术。

3.1.2QTP的核心技术

1、对象库:

用来保存被测对象的属性,在编写执行是使用。

对象库中的对象可以在录制的过程中自动产生,也可以手动添加。

2、描述性编程与对象库的区别:

对象库将对象收集起来,以可视化的方式呈现给用户,描述性编程在运行步骤中通过对象属性指定对象。

3、检查点:

是一个比较测试对象当前属性值的验证点,它让测试员通过验证点来判断被测的软件应用程序是否工作正常。

QTP支持10种类型的检测点,包括标准检查点、图像检查点、位图检查点、表格检查点、文本检查点等等。

4、对象属性运行期间变更:

在运行期间更改对象库中对象的识别属性值。

尤其在一个循环逻辑中更为常用,通过每次循环更改属性值,完成一系列类似对象的相同操作,此方法弥补了对象库相对于描述性编程的不足。

5、数据驱动:

通过变更不同的数据组合,执行相同的逻辑步骤,完成对一个测试用例的测试。

数据来源可以是:

Excel表格,数据库(数据表),XML文件,TXT文件。

任何有规则有VBS可以操纵的文件类型都可以作为QTP的数据来源。

当然最常用的还是Excel表。

6、错误恢复:

QTP软件本身自带了错误恢复手段RecoveryScenarioManager通过在发生不同错误的时候,执行指定的操作,保证测试脚本能够不间断运行。

用户也可以通过在容易发生错误的步骤或函数调用处执行相应的操作,保证无人值守时不宕机,脚本不中断。

7、自动化对象:

指的是实现了IDispatch接口的COM对象,IDispatch接口是自动化对象的一个重要标志,使用自动化技术的一个主要目的就是对COM的一些底层操作进行简化。

包括自动化组件和自动化客户两方面的内容。

分别用来定义和使用自动化对象。

3.2QTP安装与配置

第一步:

在Windows操作系统下点击QTP的执行文件,选择路径进行安装

图3.1安装界面

第二步:

在安装前需要安装VisualC++组件

图3.2安装组件界面

第三步:

安装完成之后会出现以下对话框,点击“OK”

图3.3安装配置界面

3.3QTP的特点

使用QTP可以加速整个测试的过程,并且建置完新版本的应用程序或网站后,可以重复使用测试脚本进行测试。

以QTP执行测试,就与人工测试一样。

QTP会仿真鼠标的动作与键盘的输入,不过比人工测试速度要快很多。

QTP自动化的好处有:

快速:

执行测试比人工测试速度要快很多。

可靠:

每一次的测试都可以正确的执行相同的动作,可以避免人工的错误。

可重复:

可以重复执行相同的测试。

可程序化:

可以以程序的方式,撰写复杂的测试脚本,以带出隐藏在应用程序中的信息。

广泛性:

可以建立广泛的测试脚本,涵盖应用程序的所有功能。

可再使用:

可以重复使用测试脚本,即使应用程序的使用接都已经改变。

3.4QTP的使用

QTP软件在进行功能测试的时候主要包括5个方面的内容

(1)制定测试计划

(2)创建测试脚本(3)增强测试脚本功能(4)运行测试(5)分析测试结果

以下是测试过程中的主要流程:

图3.4测试流程图

3.4.1制定测试计划

自动测试是根据被测项目的具体需求以及所使用的测试工具,从而来针对性的制定测试计划的,测试计划完全用于指导测试全工程。

QTP是一个功能测试工具,主要帮助测试人员完成软件的功能测试,与其他测试工具一样,QTP不能完全取代测试人员的手工操作,但是在某个功能点上,使用QTP的确能够帮助测试人员做很多工作。

在测试计划阶段,首先要做的就是分析被测应用的特点,决定应该对哪些功能点进行测试,可以考虑细化到具体页面或者具体控件。

对于一个普通的应用程序来说,QTP应用在某些界面变化不大的回归测试中是非常有效的。

3.4.2创建测试脚本

当测试人员浏览站点或在应用程序上操作的时候,QTP的自动录制机制能够将测试人员的每一个操作步骤及被操作的对象记录下来,自动生成测试脚本语句。

与其他自动测试工具录制脚本有所不同的是,QTP除了以VBScript脚本语言的方式生成脚本语句以外,还将被操作的对象及相应的动作按照层次和顺序保存在一个基于表格的关键字视图中。

比如,当测试人员单击一个链接,然后选择一个CheckBox或者提交一个表单,这样的操作流程都会被记录在关键字视图中。

3.4.3增强测试脚本

录制脚本只是为了实现创建或者设计脚本的第一步,基本的脚本录制完毕后,测试人员可以根据需要增加一些扩展功能,QTP允许测试人员通过在脚本中增加或更改测试步骤来修正或自定义测试流程,如增加多种类型的检查点功能,既可以让QTP检查一下在程序的某个特定位置或对话框中是否出现了需要的文字,还可以检查一个链接是否返回了正确的URL地址等,还可以通过参数化功能,使用多组不同的数据驱动整个测试过程。

3.4.4运行测试

QTP从脚本的第一行开始执行语句,运行过程中会对设置的检查点进行验证,用实际数据代替参数值,并给出相应的输出结构信息。

测试过程中测试人员还可以调试自己的脚本,直到脚本完全符合要求。

3.4.5分析测试结果与报告

运行结束后系统会自动生成一份详细完整的测试结果与报告,包括测试名称,测试开始和结束的时间,测试脚本运行的迭代次数、测试通过状态等。

进而进行分析。

4在线考试系统功能简介与需求分析

结论

通过本次毕业设计,学到了很多比较实用的测试知识。

在校期间学习的测试知识也终于能得到很好实践。

经过这次毕业设计,把以前所学到的理论知识和实际应用结合了起来,对软件工程和软件测试的理论知识有了深层次的理解,另一方面也意识到了学习就是要多实践,理论和实践相结合,才能更好的融会贯通。

本文通过QTP软件对在线考试系统的案例的实际测试,初步掌握了自动化测试的基本知识,也了解了一些其他方面的测试知识。

这这段为毕业设计女里的时间里,我查阅和学习了大量的资料和文献,完成了以QTP为软件平台、在线考试系统为对象的自动化测试。

过程中,脚本的增强与优化以及检查点的插入都是我们很需要注意的地方。

自动化功能测试的过程中,脚本的规范性和可读性十分重要。

在测试的开始的阶段,对QTP的不了解和对脚本的认识不够清晰的情况下,出现了很多的问题而且在出现错误后难以发现。

比如做ActiveX对象的时候浏览器不能下载控件录制时不生成脚本、Web对象中回放时不能抓取坐标等一系列的问题。

QTP的测试对象很多,如Windows对象、ActiveX对象以及VB和Web对象等等。

本次我仅仅是一Web的在线考试系统作为测试对象。

通过很多次的测试比较,可以发现自动化功能测试相对比手工测试在覆盖率、时间效率和质量上都有极大的优势。

但是还是有不能完全替代手工测试的地方,如在GUI界面中,对布局的纠正等等。

不过测试自动化的快速发展趋势将会成为系统开发中的必然结果。

参考文献

[1]基于Web的自动化测试方法及应用.[EBOL]

[2]李滔俊.Web自动化测试架构设计与实现[J]。

电脑知识与技术,2010年22期。

[3]张英伟,罗省贤,李彬。

基于RFT的企业自动化测试框架的构建和应用[J]。

电脑知识和技术,2011年19期

[4]商宇.基于STAF的自动化测试工具的研究和设计[J]。

云南民族大学学报(自

然科学版)》2009年第03期。

[5]韩振斌;苗克坚。

一种分布式软件自动化测试工具的设计与实现[J]。

科学技术

与工程2007年第08期。

[6]陆璐。

软件自动化测试技术[M]。

清华大学出版社,2006-8.

[7]于学军、罗毅、杨莹莹编著.软件功能测试及工具应用[M],清华大学出版社,2014-9.

[8]周磊。

Java测试与设计——从单元测试到自动Web测试[M]。

清华大学出

版社,2005-9.

[9]李晓鹏、赵书良、魏娜娣.软件功能测试——基于QuickTestProfessional应

用[M],清华大学出版社,2012.

[10]杜丽洁.基于QTP自动化测试框架的开发与应用[D],武汉理工大学,2012.

[11]俞戴龙.QTP自动化测试框架的企业级应用[D],复旦大学,2010.

[12]张海藩.软件工程导论(第五版)[M].北京:

清华大学出版社,2011.3.

[13]杜斌.QTP脚本参数化应用方法[J].中国金融电脑,2010年第6期。

[14]许丽花.QTP在Web自动化测试中的应用[J].电脑知识与技术,2010年第

33期。

[15]李金凤.基于QTP的软件功能测试与案例研究[J].信息技术,2009年第10期

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

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2