qtp课设报告资料.docx

上传人:b****3 文档编号:3461804 上传时间:2022-11-23 格式:DOCX 页数:15 大小:831.36KB
下载 相关 举报
qtp课设报告资料.docx_第1页
第1页 / 共15页
qtp课设报告资料.docx_第2页
第2页 / 共15页
qtp课设报告资料.docx_第3页
第3页 / 共15页
qtp课设报告资料.docx_第4页
第4页 / 共15页
qtp课设报告资料.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

qtp课设报告资料.docx

《qtp课设报告资料.docx》由会员分享,可在线阅读,更多相关《qtp课设报告资料.docx(15页珍藏版)》请在冰豆网上搜索。

qtp课设报告资料.docx

qtp课设报告资料

目 录

一、前言1

1.1测试目的1

1.2测试内容1

二、测试需求和测试用例2

2.1测试需求2

2.2测试用例3

三、测试脚本开发5

3.1录制脚本5

3.2插入检查点8

3.3参数化10

四、测试结果分析13

4.1运行测试用例13

4.2测试结果分析13

五、效益分析14

六、课设小结及心得体会16

七、参考文献17

一、前言

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

使用QTP的目的是想用它来执行重复的手动测试,主要是用于回归测试和测试同一软件的新版本。

因此你在测试前要考虑好如何对应用程序进行测试,例如要测试那些功能、操作步骤、输入数据和期望的输出数据等

1.1测试目的

(1)使学生能掌握网站功能测试的基本思路和方法,学会使用自动化测试工具QTP

进行功能测试;

(2)培养学生分析、解决问题的能力;

(3)提高学生的创新思维能力与动手能力;

(4)提高学生的科技论文写作能力。

1.2测试内容

QTP进行功能测试的测试流程的五个步骤:

1.制定测试计划

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

2.创建测试脚本

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

3.增强测试脚本的功能

录制脚本只是为了实现创建或者设计脚本的第一步,基本的脚本录制完毕后,测试人员可以根据需要增加一些扩展功能,QTP允许测试人员通过在脚本中增加或更改测试步骤来修正或自定义测试流程。

4.运行测试

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

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

5.分析测试

运行结束后系统会自动生成一份详细完整的测试结果报告。

二、测试需求和测试用例

2.1测试需求

本次测试以QuickTestProfessional10.00为自动化测试工具,测试网站系统为“新浪邮箱

对于一个网站系统,其链接的正确性和各个功能模块的功能实现的准确性是其测试的关键性环节。

同时在最短的时间内开发出需求分析中的网站系统的软件产品,以最快的速度能先于其他竞争对手占领软件市场,从而获取最大的利益,所以测试速度也是至关重要的。

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

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

这样的测试耗费时间、人力、物力以及成本。

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

因此以QTP自动化测试工具对网站的链接正确性检查和各个功能模块的功能实现的准确性测试能够在满足测试需求的前提下加快测试进度。

对于我们这次对新浪邮箱的登录和写信功能的测试,是机械式的对同一操作重复执行多次的一个过程。

如果测试人员手动进行该模块的测试,那将是极度枯燥的,而且通过人为的手动进行机械式的操作,可能会在某一次操作的时候出现操作的失误,这是不可避免的问题。

所以,我们要通过自动化测试工具来避免这种问题的出现。

而且,通过机器来进行这种简单的机械式的操作不仅可以提高效率,还可以让测试人员抽出空来进行复杂的测试工作。

而对于发送邮箱的,我们进行发送邮箱的功能测试,确保用户能够正常的使用发送邮箱的功能,因此选择自动化测试主要是为了保证该网站的正确性,如果在中途发现bug,可以及时的改正,提高用户对网站的信誉度。

 

2.2测试用例

已经注册过的用户名pengliwu01011995,密码qcnh1138617421?

,只有输入正确,才能登录成功。

而登录不成功有几种情况。

用户登录输入时,有以下几种情况(即等价类划分情况):

(1)用户名pengliwu01011995,密码qcnh1138617421?

,有效等价类

(2)用户名为空,密码为空,无效等价类

(3)用户名非空,密码为空,无效等价类

(4)用户名为空,密码非空,无效等价类

(5)用户名非空非pengliwu01011995,密码非空非qcnh1138617421?

,无效等价类

(6)用户名非空非pengliwu01011995,密码qcnh1138617421?

,无效等价类

(7)用户名pengliwu010119956,密码非空非qcnh1138617421?

,无效等价类

 

表1-1登陆测试用例

用例编号

测试数据

用例范围

期望结果

001

用户名pengliwu01011995

密码qcnh1138617421?

有效等价类

(1)

登录成功

002

用户名为空,密码为空

无效等价类

(2)

登录失败

003

用户名为888888

密码为空

无效等价类(3)

登录失败

004

用户名为pengliwu01011995

密码为空

无效等价类(3)

登录失败

005

用户名为空密码为qcnh1138617421?

无效等价类(4)

登录失败

006

用户名为空密码为888888

无效等价类(4)

登录失败

007

用户名为888888密码为888888

无效等价类(5)

登录失败

008

用户名为888888密码为qcnh1138617421?

无效等价类(6)

登录失败

009

用户名为pengliwu010119956密码为888888

无效等效类(7)

登录失败

 

表1-2退出测试用例

前置条件

输入数据

预期结果

实际结果

已登录邮箱

点击退出链接

退出并进入新浪首页

退出并进入新浪首页

 

表1-3写信的测试用例

前置条件

输入数据

预期结果

实际结果

输入对方邮件地址

1138617421@

输入框出现1138617421@

输入框出现1138617421@

输入主题

hello

输入框出现hello

输入框出现hello

输入邮件的正文

Hello,pengli,goodnight!

!

!

输入框出现Hello,pengli,goodnight!

!

!

输入框出现Hello,pengli,goodnight!

!

!

表1-4发送信件的测试用例

前置条件

输入数据

预期结果

实际结果

已经写完邮件

点击发送按钮

邮件发送完毕,并提示您的邮件已发送

邮件发送完毕,并提示您的邮件已发送

3、测试脚本开发

3.1录制脚本

点击打开QTP,创建一个BlankTest;

我们这个实验是利用QTP来验证新浪邮箱登录和发送邮件的功能,点击Record来录制一个脚本:

首先在automation->RecordandRunSetting下设置要录制的网页的链接如下:

输入网址:

图1-1开始录制脚本

点击“确定”后进入新浪邮箱登陆页面,如下图所示:

图1-2进入新浪主页

输入用户名和密码后,进入邮箱的写信功能:

图1-3进入邮箱的写信界面

填写完收件人邮箱,主题和正文内容,点击发送后,停止录制。

进入QTP的KeywordView(Keyword模式提供一个描述近似于原始测试用例的、跟代码无关的视图):

图1-4进入QTP的Keyword视图

而下图是其ExpertView(Expert就是代码视图,一般编写脚本都在这个区域):

图1-5进入QTP的Expert视图

回放录制脚本:

录制完成后,查看运行结果:

图1-6脚本回放完成界面

3.2插入检查点

下面加入检查点,可以在邮箱登陆页面的输入用户名出加入一个检查点,以检查输入的用户名是否正确:

图1-7在用户名出加入检查点

然后设置检查点属性:

图1.8设置检查点属性

插入检查点后出现的KeywordView如下:

图1.9插入检查点后的ExpertView视图

图1-10插入检查点的Keyword视图

重新运行脚本再次点击按钮,得到结果如下:

图1-11脚本回放完成界面

结果都是Passed,表示都通过了,功能验证测试完成。

3.3参数化

这是QTP提供的一种方法,也是最容易实现参数化的一种方式。

QTP针对DataTable对象提供了很多方法,可以对DataTable进行灵活的操作。

DataTable分为Global和Local两种,Global所有的Action都可以用,而Local就是只能Action自己用。

本次实验我是通过DataTable做参数化最直接的方法就是在KeywordView视图下通过选项进行,这样即方便又减少出错的几率。

单击要参数化项目的value列,选择出现的箭头弹出ValueConfigurationOption对话框,在这里可以很方便的进行参数化。

图1-12用户名参数化

图1-13密码参数化设置

上述步骤完成后,脚本区域自动加上了对应的代码如下图所示:

图1-14参数化后的脚本

然后就可以编写测试用例了:

图1-15参数化用例设计

回放,运行的结果如下:

图1-16参数化回放结果

四、测试结果分析

4.1运行测试用例

在测试过程中,对测试用例进行参数化改进,目的是为了更好的发送测试报告,上面回放的结果都是Done,但是测试的结果应该是Passed,所以在上面的基础上加了Expected_Result这行代码,如果输出与预期结果一致则测试是通过的如下图所示:

图1-17改进后的参数化用例设计

 

图1-18脚本运行代码

4.2测试结果分析

运行回放结果,都是Passed,说明我的测试是正确的,测试成功。

在测试时,即使是不通过验证的测试用例只要达到我们预期的输出,就认为是通过测试的。

图1-19脚本回放截图

在测试的时候为了获取相关的文本的值,我还使用了GetRoProperty()函数,如下图所示获取用户名输入框的文本内容并且弹出。

图1-20获取文本内容

由于在上一节已经分析了登录和发送邮件的功能,运行脚本和插入检查点都能够得到正确的结果,所以我们的针对这两个功能点的测试工作非常的顺利,这也验证了新浪邮箱这个网站登录和发送邮箱功能的正确性,同时也体现了利用QTP执行自动化测试的快捷性。

五、效益分析

由于对登陆模块和发送邮箱的功能进行手工测试需要编写的代码不多,所以对该模块进行手工测试和自动化测试所需要的时间也相差不大,因此两者所带来的成本效益也并不明显。

但是如果是对多个功能模块一起进行测试,就会对手工写入的代码量有很大的需求。

在这个时候自动化测试和手工测试在效率上会出现很大的差距,使得在同一时间段内,自动化测试所带来的成本会大大的高于手工测试带的成本。

自动化测试是对手工测试的一种补充,自动化测试不可能完全替代手工测试,因为很多数据的正确性、界面是否美观、业务逻辑的满足程度等都离不开测试人员的人工判断。

而仅仅依赖手工测试的话,则会让测试过于低效,尤其是回归测试的重复工作量对测试人员造成了巨大的压力。

因此,自动化测试仅仅是某些条件下手工测试的一种补充,而无法全面取代手工测试。

 

六、课设小结及心得体会

QTP是一款非常强大自动化测试工具,它的用途非常广泛,各项功能如对象库,同步点,检查点等也非常好用。

通过本次的课程设计,使我对软件测试这门课程有了一个更加深入的了解,经过自己的多次试验,对一些自动化测试工具有了初步的掌握,更加感受到这些工具的独特魅力,虽然谈不上精通,但自己正处在学习的路上,相信这次的实验对自己将来的学习和工作一定会有很大的帮助。

通过本次课程设计让我对QuickTestProfessional测试流程和测试设计思想和测试计划制定有了更深刻的理解,同时进一步掌握了QTP测试原理。

使用QTP的目的是想用它来执行重复的手动,主要是用于回归测试和测试同一软件的新版本。

因此在测试前要考虑好如何对应用程序进行测试,例如要测试那些功能、操作步骤、输入数据和期望的输出数据等。

一个完整的脚本测试应该包括两部分,一个是测试脚本的代码,一个是对象库。

然而,通过这次实验,我也发现了自己的一些不足,由于原来上课没有把握机会问老师问题,导致很多问题不理解,虽然课后有视频教程,但缺乏互动性,远远没有达到应有的程度,只能靠自己慢慢的摸索,但难免走了好多弯路。

而且平时的缺乏对于这些工具的利用,使得面对如此多的按钮却不知从何做起。

这也是给自己一个警示,想要学好任何一门知识或者工具,都要花大量精力去钻研,没有努力就没有收货。

不过总的来说,还是要感谢老师的指导和同学的帮助,才能使得我顺利完成这次课程,再次感谢!

总的来说通过本次课程设计提高了分析问题,解决问题和动手操作能力,同时也提高了创新能力,是一次很有价值,很有用的实验,为今后学习打下了更加牢固的基础。

 

七、参考文献

[1]张瑾,杜春晖.自动化软件测试[M].北京:

机械工业出版社,2008

[2]黄文高.QTP自动化测试与框架模型设计[M].北京:

机械工业出版社,2011

[3]田艳琴.QTP从实践到精通[M].北京:

电子工业出版社,2010

[4]

 

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

当前位置:首页 > 党团工作 > 入党转正申请

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

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