软件工程毕业设计论文基于QTP的自动化测试.docx

上传人:b****7 文档编号:10547630 上传时间:2023-02-21 格式:DOCX 页数:31 大小:4.77MB
下载 相关 举报
软件工程毕业设计论文基于QTP的自动化测试.docx_第1页
第1页 / 共31页
软件工程毕业设计论文基于QTP的自动化测试.docx_第2页
第2页 / 共31页
软件工程毕业设计论文基于QTP的自动化测试.docx_第3页
第3页 / 共31页
软件工程毕业设计论文基于QTP的自动化测试.docx_第4页
第4页 / 共31页
软件工程毕业设计论文基于QTP的自动化测试.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

软件工程毕业设计论文基于QTP的自动化测试.docx

《软件工程毕业设计论文基于QTP的自动化测试.docx》由会员分享,可在线阅读,更多相关《软件工程毕业设计论文基于QTP的自动化测试.docx(31页珍藏版)》请在冰豆网上搜索。

软件工程毕业设计论文基于QTP的自动化测试.docx

软件工程毕业设计论文基于QTP的自动化测试

大连民族学院本科毕业设计(论文)

基于QTP的自动化测试

学院(系):

计算机科学与工程学院

专业:

软件工程

学生姓名:

学号:

指导教师:

评阅教师:

大连民族学院

 

摘要

目前在软件测试行业里,除了大家所熟悉的黑盒测试和白盒测试以外,还分为手工测试和自动化测试。

自动化测试相对于手工测试有很多优点,它最主要的优点就是省时,省力,省财务开销。

自动化测试工具中具有代表性的是QTP,QTP适用于软件测试中的smoke测试以及回归测试(regressiontest),QTP脚本具有相当高的可移植性和可重用性,“一本万利”,即一本QTP测试脚本经过简单修改后可以应用于多个测试软件以及测试环境。

本次毕业设计,以QTP为自动化测试工具,以“美图秀秀”软件为被测软件,通过QTP的描述性编程方法,实现该软件从安装到卸载的功能测试和界面检查测试,以及安装完成后的软件功能性测试和UI测试。

最终产生可读性好,易于跟踪的QTP自动化报告,用来分析软件的缺陷。

通过使用QTP对“美图秀秀”软件进行测试的实例,展示出了QTP自动化测试在软件测试行业中方便,快捷的优越性。

关键词:

自动化测试;报告;描述性编程

AutomatedtestingbasedonQTP

Abstract

Inthesoftwaretestingindustry,withtheexceptionthateveryoneisfamiliardistinguishedwithblackboxtestingandwhiteboxtesting,italsoconsistofmanualtestingandautomatedtesting.Themainadvantageofautomationissavingtime,effort,theprovincialfinancialcost.Inautomatedtestingsoftware,QTPisoutstanding.QTPusedinsmokingtestingandregressiontesting(regressiontest)inthesoftwaretesting.QTPscriptwithaveryhighportabilityandreusability,"abigprofit,"thatisaQTPtestscriptthroughsimplemodificationscanbeappliedtovarioustestsoftwareandtestenvironment.

Inthisgraduationdesign,usingQTPfortheautomatedtestingtoolsandusing"beautiesXiuXiu"softwareforthesoftwareundertest,throughQTPdescriptiveprogramming,implementationofthesoftwarefrominstallationtouninstallwhichincludethefunctionaltestingandinspectioninterfacetesting,andthesoftwarefunctionalitytestingandUItestingafterinstallationUponcompletion.EventuallyproducereadableandeasytofollowtheQTPautomatedreporting,whichusedtoanalyzesoftwaredefects.ByusingQTPonthe"beautiesXiuXiu"softwaretestexamples,demonstratingtheconvenient,fastsuperiorityofQTPautomatedtestinginthesoftwaretestingindustry.

KeyWords:

Automatedtesting;Report;Descriptiveprogramming

1软件测试简介

1.1软件测试简介

一般人认为,软件测试没什么技术可言,只要懂得使用鼠标就足够了,这是对软件测试的一种误解。

学习过软件工程的同学几乎普遍都对软件测试存在一种歧视,扩大一点范围可以说几乎所有学过代码开发的人都对软件测试这个行业存在偏见。

当然,这种现象大多数只发生在国内。

在国外,软件测试已经是一个兴旺发达的行业。

一般而言,软件测试从项目确立时就开始了,前后要经过以下一些主要环节:

需求分析→测试计划→测试设计→测试环境搭建→测试执行→测试记录→缺陷管理→软件评估→RTM.

在真正的项目中,编写测试用例人员首先通过被测软件和开发人员提供的一些文档,编写出效率最高的测试用例,测试人员从客户那里得到被测软件,按照测试用例检查被测软件,最后将测试结果反馈给开发人员。

测试人员还有一个最重要的任务就是跟踪bug,一个bug的生命周期分为New,Open,Fixed和Closed四种基本状态,另外还存在一种Reopen的状态,测试人员要从New状态一直跟踪到Closed状态。

在进行有关问题阐述前,先明确下分工,一般而言,需求分析、测试用例编写、测试环境搭建、测试执行等属于测试开发人员工作范畴,而测试执行以及缺陷提交等属于普通测试人员的工作范畴,测试负责人负责整个测试各个环节的跟踪、实施、管理等。

基于不同的立场,存在着两种完全不同的测试目的。

从用户的角度出发,普遍希望通过软件测试暴露软件中隐藏的错误和缺陷,以考虑是否可以接受该产品。

而从软件开发者的角度出发,则希望测试成为表明软件产品中不存在错误的过程,验证该软件已正确地实现了用户的要求,确立人们对软件质量的信心。

因此,他们会选择那些导致程序失效概率小的测试用例,回避那些易于暴露程序错误的测试用例。

同时,也不会着意去检测、排除程序中可能包含的副作用。

测试的目标是想以最少的时间和人力找出软件中潜在的各种错误和缺陷。

如果成功地实施了测试,就能够发现软件中的错误。

测试的附带收获是,它能够证明软件的功能和性能与需求说明相符。

此外,实施测试收集到的测试结果数据为可靠性分析提供了依据。

2自动化测试简介

2.1自动化测试的目的

开发一个软件要在最短的时间内开发出需求分析中的软件产品,以最快的速度能先于其它竞争对手占领软件市场,从而获取最大的利益,现在的软件开发已经将测试融入其中,所以测试的速度也是至关重要的。

传统的软件测试是靠人的手动来进行测试,也是现在各个软件测试公司的主流方法,称之为Manualtest。

测试部门每天都要计算在某个项目上charge多少个人。

这样的测试耗费时间,耗费人力,耗费成本。

自动化测试的目的就是尽可能的减少在测试上的人力和财力的开销,以最便捷省时省事的方法,完成同样的任务。

测试自动化是使软件测试人员跟上开发人员脚步的惟一方式。

自动化测试相对于手工测试的优点

优化测试速度:

可非常快速的运行上万条记录。

提高准确性、稳定性:

可以不为外界因素干扰,准确运行测试用例。

确定性:

能真实快速搭建测试环境,测试数据,重现缺陷。

提高工作效率:

一边运行自动化测试,一边准备测试报告。

测试环境搭建:

可以结合多种编程语言及技术协助搭建测试环境,防止手工测试重复劳动,如批处理技术。

提高技能:

可提高测试人员技能,同时提高对测试的兴趣,防止对手工测试感觉枯燥。

数据处理方面的优点

测试数据:

自动化测试工具可以根据需要,准备大量的测试数据。

数据处理:

测试结果有时需要再进行相应的数据处理。

用例准备:

可以使用相关脚本技术准备大量的测试用例。

2.3自动化测试流程图

自动化测试有它自己的一个流程,下图为自动化测试流程图,如图2.1所示。

图2.1自动化测试流程图

3QTP自动化测试

3.1QTP自动化测试简介

QTP,全称为QuickTestProfessional,是Mercury研发的一种自动化测试工具,现在属于HP公司,是一款先进的自动化测试解决方案,用于创建功能和回归测试。

它自动捕获、验证和重放用户的交互行为。

QuickTestProfessional是为每一个重要软件应用和环境提供功能和回归测试自动化的最佳解决方案。

下图为QTP自动界面,如图3.1所示。

图3.1QTP自动界面

QuickTestProfessional是新一代自动化测试解决方案,采用了关键词驱动(Keyword-Driven)测试的理念,能完全简化测试的创建和维护工作。

QuickTestProfessional关键词驱动方式独有之处在于,测试自动化专家可以通过一个整合的脚本和纠错环境,拥有对基础测试脚本和对象属性的完全访问权限,这些脚本和纠错环境与关键词视图(KeywordView)可以互为同步。

QuickTestProfessional同时满足了技术型和非技术型用户的需求,让各个公司有能力部署更高质量的应用,同时部署的速度更快,费用更低,风险也更小。

3.2QTP的工作模式

QTP分为两种工作模式:

第一种为关键字视图模式(KeywordView),普通的录制和回放有关键字视图就足够了,关键字视图中有录制过程中每一个点击事件以及输入事件,测试人员可以在关键字视图下通过修改DataTable来设置检查点。

第二种为专家视图(ExpertView),它有两个作用:

(1)专家视图中包含了整个录制过程中QTP所产生的每一个事件相对应的脚本,QTP高级测试人员可以通过修改这些脚本代码来控制QTP回放时的所有事件;

(2)高级QTP测试人员可以在无需录制的情况下,通过自己在专家视图中编写脚本代码,来实现录制能实现的功能,甚至可以实现通过录制无法实现的功能,这种方法称为描述性编程,使用描述性编程的优点有:

①减少QTP脚本的大小,便于在邮件和服务器上发送;

②增加了脚本的可移植性,可扩展性,可维护性。

QTP脚本使用VB语言编写,很少的代码量可完成很强大的功能,通过描述性编程,脚本开发人员可以随意控制QTP测试脚本,在自己需要的地方增加检查点,在脚本出问题的时候便于维护;由于没有对象,在脚本移植上变得方便容易,也使脚本的扩展变得容易。

对于QTP而言,其核心代码是VisualBasicScript,因此,如果用户熟悉vbScript,就可以自己添加和更新专家视图中的语句,并通过编程方式增强测试脚本。

    初学者都会知道QTP是用来录制回放的,当然,录制完就会有对象存在在对象库中,这个对象对已经录制的实体有一个唯一的标识。

但是当你遇到以下情况时,就无法再应用对象和对象库了:

    

(1)在某些页面上动态产生的对象;

    

(2)当要求脚本必须比较小的时候。

    那么此时就要应用描述性编程了,这部分工作只能在专家视图中进行。

    以下是一个例子:

    Browser("xxxx").Page("yyyy").Click

    将以上的代码修改为描述性编程:

    假如现在只是打开的yyyy主页

    Window("Text:

=yyyy").Close

    简而言之,描述性编程就是将原来的对象用该对象应该具有的属性和对应的属性值来代替(即property:

=value),来唯一标识这个对象,这样,即使删除对象库中对应的对象脚本仍然可以运行。

    当在一个测试中多次使用描述性编程的时候,如以下示例:

    Window("Text:

=aaa").WinButton("Caption:

=bbb").Click

        Window("Text:

=aaa").WinButton("Caption:

=ccc").Click

        Window("Text:

=aaa").WinButton("Caption:

=ddd").Click

    为了方便起见,我们可以将Window("aaa")赋值给一个值

    SetE=Window("Text:

=aaa")

        E.WinButton("Caption:

=bbb").Click

        E.WinButton("Caption:

=ccc").Click

        E.WinButton("Caption:

=ddd").Click

    如果还想在简化代码,可以使用VBScript里的with语句来实现

    WithWindow("Text:

=aaa")

        .WinButton("Caption:

=bbb").Click

        .WinButton("Caption:

=ccc").Click

        .WinButton("Caption:

=ddd").Click

描述性编程的“后续强迫性”。

当使用描述性编程时,需要注意一点就是,描述性编程的“后续强迫性”问题,什么是“后续强迫性”呢?

就是说如果在测试对象层次结构的某一点开始就是用了描述性编程,则该测试对象层次结构下的后续测试对象都要使用描述性编程的方式来描述。

由于应用描述性编程要应用VBscript语言,所以在这里要简单的介绍一下VBscript:

VisualBasic,简称VB,是Microsoft公司推出的一种Windows应用程序开发工具。

是当今世界上使用最广泛的编程语言之一,它也被公认为是编程效率最高的一种编程方法。

无论是开发功能强大、性能可靠的商务软件,还是编写能处理实际问题的实用小程序,VB都是最快速、最简便的方法。

3.4QTP自动化测试流程

3.4.1准备测试用例

软件测试,离不开测试用例,测试用例对于软件测试来说就如软件开发中的需求分析一样,开发中没有需求分析说明书就无法知道将要做的是什么,完成什么功能,测试用例对于软件测试的功能是一样的,没有测试用例就算有了测试软件也无法进行测试,而且测试用例要便于脚本的后期维护。

测试用例开发的标准是符合自动化测试要求,检查点覆盖尽可能全面,测试步骤尽可能通顺简洁,方便测试人员进行测试。

本次毕业设计由于是个人项目,无法按照公司的流程进行开发,因此在测试用例开发的流程上欠缺合理性。

3.4.2配置QTP运行环境

QTP支持不同的开发环境,在录制(编写脚本)之前,需要根据被测试的环境,选

择合适的插件,并进行加载。

在安装QTP时,会提示输入许可序列号,如果没有买到HP授权的正版序列号,QTP只能有14天的试用期。

3.4.3录制或编写自动化测试脚本

不论是录制还是测试员自己编写自动化测试脚本,都必须按照测试用例的步骤来进

行,开发中开发人员按照需求分析文档来一个个的实现需求分析中的功能模块,同样的道理,测试人员要根据测试用例完成每一步测试用例相对应的自动化脚本的开发。

3.4.4检查修改脚本

录制或编写完自动化测试脚本以后,不要急于运行测试脚本,要先好好检查脚本

的完整性,语法错误以及逻辑性。

删除冗余的脚本代码,以最少的代码来实现同样的功能。

3.4.5运行调试测试脚本

检查过脚本代码后,运行该测试脚本,不是所有的脚本都能按照预期的期望正常运

并能产生正确的报告的。

这就要求脚本开发人员在脚本出问题的时候对脚本进行调试,直到脚本正常运行。

3.3.6运行维护脚本

脚本调试后可以正常运行,随着代码量的增加,这个时候就需要不断的对脚本进行

后期维护,以确保脚本的质量和性能。

3.4.7QTP自动化测试流程图

QTP自动化测试有它自己的测试流程图,下图为QTP自动化测试流程图,如图3.2所示:

 

 

NO

YES

 

图3.2QTP自动化测试流程图

 

3.5QTP框架介绍

Java中有MVC框架,struts框架等等,在QTP中,同样有它自己的框架结构。

QTP框架基本分为三层,脚本层(业务组件开发),业务层(流程的开发和组织),数据层,层次之间相互分离是本框架组织总的方针,为开展功能自动化测试提供一个高效、稳定、容易的测试实现。

实现QTP自动化测试框架实际上要由以下几个部分组成:

  

(1)一组录制好的qtp脚本(QTP的Action);

  

(2)一个可以组织用例的Excel文档;

  (3)一个VBScripts脚本。

  首先,在QTP里建立多个Action,这些Action于测试用例中的步骤一一对应,Action里的语句只有调用vbScript文件和调用该vbScript文件内函数的语句即可。

  其次,把固定的字符串以及按钮参数化,这些参数将被保存在QTP的Datatable中,供vbScript调用。

  再次,为实现真正意义上的自动化测试,我们需要一个VBScripts脚本,它的作用是通过执行这个VBScripts脚本来驱动QTP程序启动,然后自动运行我们所需要执行的qtp脚本。

  完成以上内容,一个基本的自动化测试架构就组合完成了。

当然,以上的内容只是一个简单的说明,在这其中,实际上是需要我们进行脚本的调整和运用一些编程技术才能实现这个框架,例如,我们如何让QTP脚本来读取Excel中的用例值?

如何通过vbscripts脚本来启动QTP程序?

等等。

而对于以上的框架实际上还有调整的余地,我们很多时候听到的框架优化,原则上就是要把这个框架更细化,例如,测试用例中需要有附件的配置、需要有公共函数的使用、测试执行后要有结果存储的路径等等一系列内容,这样,这个框架才能够被共享和复用,而不是每次测试都要重新考虑用例设计或者重新生成用例集,而这些是慢慢将这个框架进行丰满所要做的工作。

 

4“美图秀秀”的自动化测试

4.1测试规划

以“美图秀秀”为被测软件,QTP为测试工具,实现一个软件从安装,应用到卸载的整个过程的functiontesting以及UItesting。

主要测试点有:

安装

快捷方式检查:

功能测试:

(1)启动软件

(2)选择图片

(3)编辑图片

(4)保存编辑后图片

(5)关闭软件

(6)IE检查

UI测试:

(1)检查应该出现的字符串以及各种Button。

卸载

4.2测试用例开发

正常的测试是由专门写测试用例的人员将测试用例写好后,放到QC上,测试人员再从QC上导下来进行测试,在本次毕业设计中,由于是独立完成毕业设计,所以测试用例也是自己编写的,测试用例写的原则就是尽可能的覆盖更多的检查点。

本次毕业设计的测试用例根据测试规划而开发,测试用例涵盖了软件的安装检查;界面检查;功能性检查,如启动,编辑,关闭等;卸载检查等。

4.2.1安装测试用例

Steps:

(1)DbClickXiuXiu_Soft.exe;

(2)Click"立即安装美图秀秀>"from"美图秀秀2.2.0安装";

(3)Click"下一步(N)>"from"美图秀秀2.2.0安装";

(4)Unselect"’安装XX搜霸'andclick"下一步(N)>";

(5)Click"安装(I)";

(6)Unselect"设置美图秀秀上网主页为IE首页";

(7)Click"完成(F)".

ExpectedResult:

Verifysoftwarecanbeinstalledsuccessfully.

4.2.2安装完毕自动启动软件测试用例

Steps:

(1)Flowabovesteps.

ExpectedResult:

Verifythe"美图秀秀2.2.0"canautomaticllylaunchedsuccessfully.

Verifythe"webpagelaunched.

4.2.3桌面坐标检查测试用例

Steps:

(1)Checkshortcutsondesktop.

ExpectedResult:

Verifytheshortcut“美图秀秀”displaysondesktop.

Verifytheshortcut“520上网主页”displaysondesktop.

4.2.4开始菜单检查测试用例

Steps:

(1)Startmenulinks.

ExpectedResult:

Verify"美图"folderisdisplayed.

Verify"美图秀秀"folderisdisplayed.

Verify"美图看看"folderisdisplayed.

Verifyblewlinksaredisplayed:

"美图秀秀".

"卸载美图秀秀"

"美图看看"

“卸载美图看看"

4.2.5启动软件测试用例

Steps:

(1)Lanuch"美图秀秀"fromdesktop/startmenu;

(2)Click"X"button.

ExpectedResult:

Verifythe"美图秀秀2.2.0"canlaunchedwithoutanyerror.

Verifythe"美图秀秀2.2.0"canexitedwithoutanyerror.

4.2.6打开图片测试用例

Steps:

(1)Lanuch"美图秀秀"fromdesktop/startmenu;

(2)Click"打开一张图片"fromdialog"美图秀秀";

(3)Click“Cancel”button.

ExpectedResult:

Verifythe"打开一张图片"dialogcanbeopened.

Verifythedialogcanbeclosedafterclick"退出"button.

4.2.7场景编辑测试用例

Steps:

(1)Click“场景”from"美图秀秀";

(2)Click“取消”Buttonon“场景编辑框”dialog.

ExpectedResult:

Verify“场景编辑框”dialogcanbeopened.

Verifythedialogcanbeclosedafterclick“取消”Button.

4.2.8场景编辑框检查测试用例

Steps:

(1)Click“场景”from"美图秀秀".

ExpectedResult:

Verify"预览"buttonexists.

Verify"编辑"buttonexists.

Verify"保存"buttonexists.

Verify"复制到QQ"buttonexists.

Verify"修改闪图大小"but

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

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1