QTP——功能测试

news2024/11/24 6:30:49

一、前言(课设目的及内容)

QTP是quicktest Professional的简称,是一种自动测试工具。使用QTP的目的是想用它来执行重复的手动测试,主要是用于回归测试和测试同一软件的新版本。因此你在测试前要考虑好如何对应用程序进行测试,例如要测试那些功能、操作步骤、输入数据和期望的输出数据等

1.1 测试目的

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

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

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

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

1.2 测试内容

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

1.制定测试计划

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

2.创建测试脚本

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

3.增强测试脚本的功能

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

4.运行测试

QTP从脚本的第一行开始执行语句,运行过程中会对设置的检查点进行验证,用实际数据代替参数值,并给出相应的输出结构信息。测试过程中测试人员还可以调试自己的脚本,直到脚本完全符合要求。

5.分析测试

运行结束后系统会自动生成一份详细完整的测试结果报告。
二、测试计划及测试需求

2.1 测试原理分析

QTP主要采用的是使用GUI模拟人的操作。它在模拟人的操作时会记录操作的对象及所做的操作和顺序,然后在回放时按记录顺序操作这些对象。而在这个模拟的过程中,最重要的莫过于界面对象(控件)的识别。

例如,在“用户名输入框”中输入“a用户”,伪代码如下:
WebEdit(“用户名输入框”).Set “a用户”,下面分析这个测试原理。

首先,QTP会通过“用户名输入框”这个名字到对象库的对象名中查找;

然后通过找到的对象名,找到对象名映射的属性包;

接着QTP就会通过这个属性包来匹配页面上的控件的属性,如果在页面上找到一个唯一与此属性包匹配的控件,那QTP就会认为此控件为要找的控件;

最后QTP根据“WebEdit”来确定控件的类型,并调用QTP对于此类控件内置的操作方法“Set”把“a用户”赋予了控件。

至于其他控件的识别和操作,基本原理和上面一样。

2.2测试流程图

根据测试原理的分析以及QTP测试的基本步骤可以设计如图2-1的测试流程图。

在这里插入图片描述

​ 图2-1 测试流程图

·2.3 测试计划设计

根据测试原理分析与测试思想设计,设计如图2-2所示的测试过程计划流程图。
在这里插入图片描述

图2-2 测试计划流程图

2.4 测试需求分析

对于一个网站系统,其链接的正确性和各个功能模块的功能实现的准确性是其测试的关键性环节。同时在最短的时间内开发出需求分析中的网站系统的软件产品,以最快的速度能先于其他竞争对手占领软件市场,从而获取最大的利益,所以测试速度也是至关重要的。

传统的软件测试是靠人进行手工测试,也就是现在各个公司的主流方法,我们称之为Manual test。测试部门每天都要计算在某个项目上Charge多少个人。这样的测试耗费时间、人力、物力以及成本。自动化测试的目的就是尽可能的减少在测试上的人力和财力的开销,以最便捷省时省事的方法完成同样的任务。

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

2.5 测试环境搭建

操作系统:Windows 10

语言:中文

浏览器:IE浏览器

网络:宽带连接

网站:http://127.0.0.1:5000/newstype

软件:QuickTest Professional

其他软件需求:Microsoft Visio2007和Microsoft Word2016

三、测试用例的设计

3.1 登录与注册测试用例

(1).注册测试用例设计如表3-1所示:

表3-1注册测试用例

前置条件输入数据预期结果实际结果
输入姓名:章英杰注册成功注册成功
输入电话:15297323390
输入密码:******

(2). 登录测试用例如表3-2所示:

表3-2 登录测试用例

前置条件输入数据预期结果实际结果
已注册用户登录成功登录成功
输入电话:15297323390
输入密码:******

3.2 查看新闻的测试用例

(1). 查看新闻的测试用例如表3-3所示:

表3-3 查看新闻的测试用例

前置条件输入数据预期结果实际结果
点击想要查看的新闻类别点击对应新闻类别链接进入对应类别的新闻列表页面进入对应类别的新闻列表页面
点击想要查看的新闻点击对应新闻链接进入对应新闻详情页面进入对应新闻详情页面

3.3 关闭新闻返回新闻咨询页面的测试用例

(1). 关闭新闻返回新闻咨询页面的测试用例如表3-4所示:

表3-4 关闭新闻返回新闻咨询页面的测试用例

前置条件输入数据预期结果实际结果
关闭新闻详情页面点击关闭页面按钮新闻详情页面关闭进入新闻列表页面新闻详情页面关闭进入新闻列表页面
点击导航栏中的“新闻首页”点击导航栏中“新闻首页”链接进入新闻咨询页面进入新闻咨询页面

3.4 脚本

SBrowser("Accordion Slider").Page("Accordion Slider").Link("登录|注册").Click

Browser("Accordion Slider").Page("注册或登录").WebEdit("WebEdit").Set "15297323390"

Browser("Accordion Slider").Page("注册或登录").WebEdit("WebEdit_2").SetSecure "627c7a0e614001379ef301f87ebc5b3ea454"

Browser("Accordion Slider").Page("注册或登录").WebButton("登录").Drag 137,142

Browser("Accordion Slider").Page("注册或登录").WebButton("登录").Drop 137,142

Browser("Accordion Slider").Page("Accordion Slider_2").Link("新闻资讯").Click

Browser("Accordion Slider").Page("新闻资讯").Link("旅游").Click

Browser("Accordion Slider").Page("旅游").Link("最火五一小长假将来临!这三座热门城市就别去了,火车票已秒光").Click

Browser("Accordion Slider").Page("旅游_2").Link("新闻首页").Click

Browser("Accordion Slider").Page("新闻资讯").Link("返回首页").Click

四、测试过程

4.1开始录制脚本:

点击打开QTP,创建一个Blank Test;

在这里插入图片描述

点击Record来录制一个脚本:

在这里插入图片描述

点击“确定”后进入新闻网站主页:

在这里插入图片描述

然后进入用户登录页面,如下图所示:

在这里插入图片描述

输入用户名和密码后,进入网站首页:

在这里插入图片描述

图4-5 进入邮箱的写信界面

点击新闻资讯,进入新闻类别页面:

在这里插入图片描述

点击想要查看的新闻类别进入新闻列表页面:

在这里插入图片描述

点击新闻链接进入新闻详情界面:

在这里插入图片描述

返回新闻首页:

在这里插入图片描述

进入QTP的Keyword视图:

在这里插入图片描述

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

在这里插入图片描述

4.2 回放录制脚本:

录制完成后,点击按钮,由于没有加入检查点,故而结果都是Done,出现如下图:

在这里插入图片描述

4.3 加入检查点

下面加入检查点,在用户页面的输入用户名时加入一个检查点,以检查输入的用户名是否正确:,

在这里插入图片描述

然后设置检查点属性,检查点插入位置设为后,检查点超时设为2)):

在这里插入图片描述

插入检查点后效果:

在这里插入图片描述

Expert View:

在这里插入图片描述

4.4 重新运行脚本

再次点击按钮,得到结果如下:

在这里插入图片描述

图4-17 脚本回放完成界面

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

五、测试结果分析

本次实验主要利用QTP的检查点功能来测试登录时输入用户名功能。在开始设置检查点的时候,我开始将检查点放在了输入用户名之前,导致用户名还没有输入就进行检查,所以一直失败,后来发现检查点位置放错了,应该放在输入用户名之后,修改之后测试通过。

在这里插入图片描述

六、课设小结及心得体会

QTP是一款非常强大自动化测试工具,它的用途非常广泛,各项功能如对象库,同步点,检查点等也非常好用。通过本次的课程设计,使我对软件测试这门课程有了一个更加深入的了解,尤其是相对于小学期之前来说,使用QTP进行功能测试熟练了很多,尤其是插入检查点这一环节,之前做实验时对这一环节并没有完全理解,所以在这次测试过程中卡在了插入检查点这一环节,测试一直不通过,后来通过网上查找资料以及查看学习通的视频才对这一环节完全理解,测试过程中除了插入检查点之外,基本没有出现其他问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1714594.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

全局配置-案例:配置tabBar

一、需求:实现如图所示的tabBar效果 二、实现步骤: 1.拷贝图标资源 把image文件夹拷贝到小程序项目根目录中 图片中包含-active的是选中之后的图标 图片中不包含-active的是默认图标 2.新建3个对应的tab页面 3.配置tabBar选项 (1&#xf…

五种不寻常的身份验证绕过技术

身份验证绕过漏洞是现代web应用程序中普遍存在的漏洞,也是隐藏最深很难被发现的漏洞。 为此安全防护人员不断在开发新的认证方法,保障组织的网络安全。尽管单点登录(SSO)等工具通常是对旧的登录用户方式的改进,但这些技术仍然可能包含严重的…

2024年西安交通大学程序设计校赛(ABCDEFO)

题目链接:https://vjudge.net/contest/630537#overview 文章目录 A题题意思路编程 B题题意思路编程 C题题意思路编程 D题题意思路编程 E题题意思路编程 F题题意思路编程 O题题意思路编程 写在前面:今天的训练赛出的题目偏简单,与XCPC的难度差…

什么是React?

01 Why React? What is React? I think the one-line description of React on its home page (https://react.dev/) is concise and accurate: “A JavaScript library for building user interfaces.” 我认为React主页(https://react.dev/)上的一行描述既简洁又准确: …

Java是长连接

Java是长连接,springboot进程被结束才断开 一个连接池有10个连接,2个并发会占用2个连接,用完之后归还给连接池 springboot服务用户的是线程池,返回结果之后,线程自动归还到线程池。跟php机制不一样 php是短链接&am…

关于网络的基础知识

大家好,在当今数字时代,网络已经成为我们生活中不可或缺的一部分,它连接着世界的每一个角落,让信息、资源和人们彼此之间无阻碍地交流和共享。然而,对于许多人来说,网络仍然是一个神秘而复杂的领域&#xf…

模型实战(21)之 C++ - tensorRT部署yolov8-det 目标检测

C++ - tensorRT部署yolov8-det 目标检测 python环境下如何直接调用推理模型转换并导出:pt -> onnx ->.engineC++ tensorrt 部署检测模型不写废话了,直接上具体实现过程+all代码 1.Python环境下推理 直接命令行推理,巨简单yolo detect predict model=yolov8n.pt source…

linux系统的逻辑卷管理及磁盘配额

目录 逻辑卷管理 磁盘配额 逻辑卷管理 lvm:logical volume manager 逻辑卷管理 linux系统下对硬盘分区的一种管理机制。 lvm机制特别适合于管理大存储设备,可以动态的对硬盘进行扩容。 逻辑上的磁盘,概念上的磁盘&a…

期权与股票在交易上是有什么区别吗?

国内的股票市场,只能做多,T1交易。期权则分为4个方向,买入看涨期权,买入看跌期权,也就是做多和做空T0双向交易,同时每个方向还区分不同的行权价,每个行权价对应的4个方向的期权,都有…

操作系统复习-操作系统概述

操作系统概述 操作系统的基本功能 操作系统统一管理着计算机资源: 处理器资源IO设备资源存储器资源文件资源 操作系统实现了对计算机资源的抽象: 用户无需向硬件接口编程IO设备管理软件,提供读写接口文件管理软件,提供操作文…

快手自动私信获客软件,精准定位潜在客户

在当今数字化营销时代,短视频平台已成为企业与个人品牌不可忽视的流量宝地。快手作为国内领先的短视频社交平台,汇聚了庞大的用户群体和丰富的兴趣社区,为各类商家、创作者提供了无限商机。如何在快手平台上高效引流获客,实现精准…

.net8.0与halcon编程环境构建

1.安装vs2022 2.安装h-12.0.exe ,不要勾选复选框 3.vs2022新建wpf应用程序 4.依赖项添加项目应用,选择halcondotnet.dll 5.安装System.Drawing 安装 HalconDotNet 安装 Rti.HDevEngineDotNet 在工具箱 空白处右键 应用halcon.dll WPF控件也应用halcon.dll 6.xaml申明hal…

尝试编译 AMD ROCm 的 llvm-project

ubuntu 22.04 gcc-11 x86_64 18cores/36threads 256GB RAM 1,第一次尝试 构建命令: cmake -G "Unix Makefiles" ../llvm \ -DLLVM_ENABLE_PROJECTS"clang;lld;lldb;mlir;openmp" \ -DLLVM_BUILD_EXAMPLESON \ -DLLVM_TARGETS_T…

企业为何广泛应用数据可视化?解析其背后原因

数据可视化为何能在企业当中广泛应用?这是一个值得探讨的话题。在当今信息爆炸的时代,企业每天都会产生和处理大量的数据,这些数据蕴含着丰富的信息和潜在的商业价值。然而,面对海量数据,如何高效地分析、理解和利用它…

Springboot邮件发送配置

Springboot邮件发送配置 pom.xml依赖&#xff1a; <dependency><groupId>org.eclipse.angus</groupId><artifactId>jakarta.mail</artifactId><version>2.0.3</version> </dependency> <dependency><groupId>or…

23种设计模式之一— — — —装饰模式详细介绍与讲解

装饰模式详细讲解 一、定义二、装饰模式结构核心思想模式角色模式的UML类图应用场景模式优点模式缺点 实例演示图示代码演示运行结果 一、定义 装饰模式&#xff08;别名&#xff1a;包装器&#xff09; 装饰模式&#xff08;Decorator Pattern&#xff09;是结构型的设计模式…

从一维到二维:数组转换的奥秘与应用

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、引言&#xff1a;数组转换的魅力 二、一维数组转二维数组的基础方法 1. 确定二维数组的…

智能仓储物流系统(WMS)系列-管理查询调整

好的应用系统应是细分简单&#xff0c;界面简洁易操作&#xff0c;程序代码简洁易懂的。

基于51单片机的酒精浓度检测仪的设计

一.硬件方案 硬件部分为利用MQ3气敏传感器测量空气中酒精浓度&#xff0c;并转换为电压信号&#xff0c;经A/D转换器转换成数字信号后传给单片机系统&#xff0c;由单片机及其相应外围电路进行信号的处理&#xff0c;显示酒精浓度值以及超阈值声光报警。电路主要由51单片机最小…

记录第一次使用U盘重装系统(win10专业版)的流程与总结

写在前面 刚进大学那会儿不懂电脑&#xff0c;什么东西都往 C 盘装&#xff0c;以至于很多环境、文件这些都很乱 尽管我已经把能移的都移动到 D盘了&#xff0c;能清理的东西也清理了&#xff0c;C 盘还是时不时会爆红 刚好最近 CTF 比赛打得差不多了&#xff0c;因此勇师傅决定…