自动化测试工具QTP的使用实例

1. QTP简介

1.1QTP功能与特点

QTP是QuickTest Professional的简称,是一种自动化软件测试工具。在软件的测试过程中,QTP主要来用来通过已有的测试脚本执行重复的手动测试,用于功能测试和回归测试。使用QTP要求测试人员在测试前考虑好应用程序测试的内容,步骤,输入数据和期望的输出数据等。

QTP由Mercury公司开发,该公司开发的同类产品还有LoadRunner,但是Mercury已被HP收购,如今两大企业级软件测试工具均属HP旗下的商业产品。QTP与LoadRunner的最大区别在于二者的侧重面不同,QTP侧重于软件的功能测试和回归测试,属功能测试工具,而LoadRunner侧重于软件的压力、负载等性能测试。

1.2自动化测试的优点

自动化测试相比人工测试,具有突出的有点。人工测试非常浪费时间而且需要容易出错。使用人工测试的结果,往往是在应用程序交付前,无法对应用程序的所有功能都作完整的测试。QuickTest可以加速整个测试的过程,可以重复使用测试脚本进行测试。使用QTP进行自动化测试的好处显而易见,总结如下:

优点

描述

快速

QTP执行测试比人工测试速度快多了。

可靠

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

可重复

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

可程序化

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

广泛性

QTP可以建立广泛的测试脚本,涵盖应用程序的所有功能。可再使用 QTP可以重复使用测试脚本,即使应用程序的使用接口已经改变。

1.3 QTP安装常见问题

QTP最新版本官方下载地址见 http://www8.hp.com/us/en/software-solutions/unified-functional-automated-testing/index.html#.UNMOQ2_FWS8。QTP在官网已被改名为UFT(Unified Functional Testing)统一功能测试,或者下载迅雷下载11.0版本:http://kuai.xunlei.com/d/EIWJMUDNHFBA

下载完成后遇到的安装问题主要有提示安装组件计算机缺少Microsoft Visual C++运行时组件,但是发现安装之后仍然无法安装。解决办法进去解压后的安装包目录下安装目录下QuickTest\CHS\prerequisites\vc2005_sp1_redist 有一个vcredist_x86安装文件,点击安装即可。

2. 测试平台

使用QTP进行功能测试,实验的平台信息如下:

操作系统

Windows 7 64bit

内存

4GB

CPU

AMD x4 640

测试工具

QTP11.0

测试对象

Notepad++6.7.9

3.测试步骤

利用QTP对文本编辑器Notepad++进行简单的功能测试,主要包括文本文件的新建,输 入、删除和保存。主要操作步骤如下: (1)打开Notepad++,点击一级菜单File下的二级菜单New新建无名文本文件。 (2)输入hello world,换行再次输入this is test。 (3)选中test进行删除。 (4) 然后点击一级菜单File下的Save As…进行保存,命名为lvlv.cpp,保存路径为本地桌 面。

4.录制脚本

将安装好的QTP打开,主界面如下:

当浏览网站或使用应用程序时,QTP 会纪录你的操作步骤,并产生测试脚本。当停止录制后,会看到QTP 在Keyword View 中以表格的方式显示测试脚本的操作步骤。

点击主界面的左上角New按钮新建测试案例后,选中“Test>Record”或者点选工具栏上的“Record”按钮。打开“Record and Run Settings”对话窗口:

因为我们要测试的窗体应用程序,所以选择Windows Applications选项,如上图所示。点击绿色加按钮,添加被测试的应用,弹出如下对象框,我们选择Notepad++作为我们测试的对象,并选择工作目录Working Folder作为脚本保存的路径。如下图所示:

设置完成后,即可点击OK,按照先前的设定测试步骤进行操作并录制测试脚本。在录制过程中,QuickTest会在测试脚本管理窗口(也叫Tree View 窗口)中产生对每一个操作的相应记录。并在Keyword View中以类似Excel 工作表的方式显示所录制的测试脚本。当录制结束后,QuickTest 也就记录下了测试过程中的所有操作。测试脚本管理窗口显示的内容如下图所示:

在测试脚本管理窗口切换至Expert View可观察到测试脚本。其内容如下:

Window("Notepad++ [Administrator]").WinMenu("Menu").Select "File;New    Ctrl+N"
Window("Notepad++ [Administrator]").WinObject("hello world").Type "hello world"
Window("Notepad++ [Administrator]").WinObject("hello world").Type  micReturn 
Window("Notepad++ [Administrator]").WinObject("hello world").Type "this is test"
Window("Notepad++ [Administrator]").WinObject("hello world").Drag 157,34
Window("Notepad++ [Administrator]").WinObject("hello world").Drop 113,28
Window("Notepad++ [Administrator]").WinObject("hello world").Type  micBack 
Window("Notepad++ [Administrator]").WinMenu("ContextMenu").Select "File;Save As...  Ctrl+Alt+S"
Window("Notepad++ [Administrator]").Dialog("另存为").WinEdit("文件名(N):").Set "lvlv.cpp"
Window("Notepad++ [Administrator]").Dialog("另存为").WinButton("保存(S)").Click

最终Notepad++被编辑的结果如下如图所示:

5.修改脚本与回放

5.1修改脚本

将上面录制所得的脚本加入如下两行:

Window("Notepad++ [Administrator]").WinObject("hello world ").Type  micReturn 
Window("Notepad++ [Administrator]").WinObject("hello world").Type " add by scripts"

加入这两行的意思在删除test之后通过脚本加入add by scripts值lvlv.cpp中,修改后的脚本如下图,脚本加入的位置下图的红色方框所示。

5.2脚本的回放

删除桌面原先产生的lvlv.cpp文件,通过脚本回放并再次产生lvlv.cpp文件,并查看文件内容是否是按预期脚本执行产生确定的内容,用来验证脚本执行的正确性。

点击QTP左上角的run按钮,设置测试结果保存路径,确定之后即可回放修改后的脚本。本次测试路径设置如下:

回放修改后的脚本成功,打开新产生的lvlv.cpp,其内容如脚本修改的那样,正确的加入了add by script。文件内容如下如所示:

6.总结

通过本次测试实验,我对功能测试工具QuickTest Professional有了一定的了解。懂得了QuickTest Professional的安装、功能测试的基本流程和测试脚本的编写有了一定的认识。也深刻的感受到自动化测试在在软件声明周期中的重要性和相对人工测试体现出的不可替代的优点。

本次实验前期,搜索了相关测试工具简介的资料,在这个过程中我学到很多软件测试的知识,提升了软件测试的兴趣。通过本次学习,在将来的项目中,自己可以将测试工具QuickTest对自己的项目进行功能测试,从而简化测试的流程,做到学以致用。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏张善友的专栏

腾讯社区开放平台.NET SDK在Mono下运行

腾讯社区开放平台.NET SDK在CentOS下运行发生了如下错误: QzoneException:  QConnectSDK.Exceptions.Qzon...

22780
来自专栏小白课代表

软件分享 | 3DS MAX 2016安装教程

3D Studio Max,常简称为3d Max或3dsMAX,是Discreet公司开发的(后被Autodesk公司合并)基于PC系统的三维动画渲染和制作软件...

12320
来自专栏逸鹏说道

C#线程篇---Windows调度线程准则(3)

Windows本身就是一个抢占式操作系统,它的实现,必定有某种算法在里面,比如什么时候调度哪些线程,需要花费多长时间等问题。 我们时时在用Windows,作为程...

37040
来自专栏Linux技术资源分享

Linux之crontab定时任务

38170
来自专栏北京马哥教育

Linux之HA高可用集群的基础概念总结

HA(High Availability)高可用集群,其特点为根据实际需求为前端Diretor,后端RS-server,数据库服务器,共享存储等集群节点做一个...

47560
来自专栏恰童鞋骚年

.NET Core微服务之基于Consul实现服务治理

  Consul是HashiCorp公司推出的开源工具,用于实现分布式系统的服务发现与配置。与其他分布式服务注册与发现的方案,比如 Airbnb的SmartSt...

1.2K40
来自专栏尾尾部落

macOS + Sublime Text + Latex 环境配置 macOS + Sublime Text + Latex 环境配置

所以很多高校的老师都要求学生用Latex来写论文。那么问题来了,latex要在哪里写?有像word一样的编辑器吗?答案是肯定的。市面上的latex编辑器不下20...

29320
来自专栏葡萄城控件技术团队

如何搭建基于C#和 Appium 的 Android自动测试环境

如果想做手机端的自动化测试,Appium是首选的测试框架,因为网上使用的人多,资料丰富,支持语言多 Jave,Python,C#,Ruby,PHP,碰见问题也容...

14220
来自专栏pythonlove

Linux系统内部的名称解析与安全认证(原创)

我们都知道计算机最喜欢的是数字,而人类喜欢的是语言,所以我们在计算机上运行的进程、定义的用户、端口号、协议、ip地址等都需要转换成数字的形式让计算机明白,在Li...

14340
来自专栏Python研发

django-debug-toolbar的配置以及使用

django,web开中,用django-debug-toolbar来调试请求的接口,无疑是完美至极。   可能本人,见识博浅,才说完美至极, 大神,表喷,抱拳...

35410

扫码关注云+社区

领取腾讯云代金券