QTP(1)
一、概念
1、什么是软件测试?
使用人工或者自动手段来运行或者测试某个软件的过程,其目的在于检验程序是否满足需求规格说明书或者弄清实际结果与预期结果之间的差异。
(1)软件(程序+文档+数据)测试
(2)软件测试工程师
1)需求分析-->测试计划->测试方案-->测试用例(脚本)-->环境搭建-->执行测试-->跟踪缺陷-->自动化测试-->性能测试-->安全测试-->渗透测试
2)做手工测试如何提高薪资,需要做到如何预防
a.需求管理 质量管理(流程、技术、组织) 缺陷管理
3) 做自动化测试提高薪资
(3)软件测试的目的:
1) 证明(表明软件能够工作)
2) 检测(发现错误)
3) 预防(管理质量)
(4)软件由来
需求分析-->概要设计-->详细设计-->编码-->测试-->运维
2、什么是功能测试?
根据测试用例逐一对现有的软件功能进行验证的过程,验证软件的各项功能是否满足用户需求。
12306(购票:注册、登录、选择城市、选择日期、选择列车号、提交订单、填写信息、付款、查看订单......)
QQ(社交:注册、登录、发送信息功能、空间、上传照片......)
3、什么是自动化测试?
指利用工具(QTP、Selenium)在没有人或者较少人参与的情况下,根据人的要求(测试用例)来完成测试的过程。
没有人:代码已经写好了,QTP工具去执行测试
较少人参与:代码执行的过程中需要执行其他操作
登录
1、输入用户名(工具输入)
2、输入密码(工具输入)
3、输入验证码(手动输入)
4、点击登录(工具点击)
4、什么是功能自动化测试(第3阶段的内容)?
利用工具来测试系统功能的过程。
5、为什么要实现功能自动化测试?
功能测试过程中存在大量的回归测试、大数据量测试
自动化测试可以提高测试效率、测试准确性,可以进行更严格的测试,并且可以做到无人值守
QQ:V1.0 V1.1 V2.0 .......
登录
name={正确的、错误的、不输入}
passwd={正确的、错误的、不输入}
1、输入用户名:name
2、输入密码:passwd
3、点击登录按钮
6、什么时候需要执行自动化测试?
a.需求稳定
b.通过冒烟测试
c.测试周期长
7、如何执行功能自动化测试?(流程)
使用测试工具QTP
a.熟悉被测系统
b.分析需求
c.设计测试方案
d.设计测试计划
e.设计测试用例(脚本)
--录制脚本(编写脚本、设计脚本)
--增强脚本(控制流程语句、参数化、检查点、封装方法.....)
--调试脚本
--执行脚本
--分析测试结果
--编写测试结果报告
8、自动化测试对测试工程师的影响
a.薪资待遇更高
b.提升竞争力
c.自动化测试是一个重要的发展方向(功能自动化、性能测试、管理、QA、PM)
二、QTP介绍
1、QTP是什么?
a.QTP是功能自动化测试工具
b.QTP使用的语言:VBS脚本语言
c.QTP当前环境:10.0
升级版本UFT14.01
建议使用UFT12(支持手机测试)
d.功能测试工具
QTP(Quick Test Professional)
Selenium(测试web系统的工具)
QARun
Robt
TestWriter
2、QTP插件管理
1) 插件管理界面(Add-in Manager),默认安装QTP有三个插件:
a.ActiveX:录制windows程序(如:计算器、记事本、画图),默认QTP是支持windows程序的
b.Visual Basic:录制VB程序(如:两位数加法器)
c.web:录制web程序(Mtours、Ecshop)
2) 作用:QTP为了识别被测系统控件的一种技术
常用的控件:
a.输入框(Edit)--输入(Type、Set)
WinEdit
VBEdit
WebEdit
b.按钮(Button)--点击(Click)、回车(Enter)
c.链接(Link)--点击(Click)
d.复选框(CheckBox)--设置(Set)
e.单选按钮(RadioButton)--设置(Set)
f.下拉框(WinComboBox)--选择(Select)
g.列表(List)--选择(Select)
h.图片(Image)--点击(Click)
i.窗口(Window)--最小化、最大化、关闭(Close)
j.浏览器(Browser)--最小化、最大化、关闭(Close)
3) 在测试过程中如何选择插件?
a.由被测系统控件的实现技术来决定选择加载什么插件
注意:
a.如果使用QTP时选择了不必要的插件,QTP运行效率较低
b.如果使用QTP时未选择必要的插件,QTP将无法识别被测系统的对象并对其进行操作(无法进行测试)
4) 如果打开QTP时没有显示Add-in Manager对话框,可以进入QTP界面进行设置
菜单栏Tools(工具)-->Options(选项)-->General(常规)-->Display Add-in Manager on startup(启动QTP时显示插件管理对话框),勾选为显示,反之不显示
练习1:两位数加法器
(1)录制两位数加法器的加法业务流程
测试用例:
1) 打开两位数加法器
2) 在"第一个数"输入框(Edit)中输入:39 100 -99
3) 在"第二个数"输入框(Edit)中输入:12 99 0
4) 点击"计算(J)"按钮
5) 关闭两位数加法器
Ctrl+S:保存脚本
Test1001_两位数加法器_录制回放(自动录制)
(VBS脚本)
VbWindow("Form1").VbEdit("Text1").Set "39"
VbWindow("Form1").VbEdit("Text2").Set "12"
VbWindow("Form1").VbButton("计算(J)").Click
VbWindow("Form1").Close
3、QTP中的视图
(1)Expert View(专家视图):以代码的形式记录测试人员在录制时对被测系统执行的操作步骤
(2)Keyword View(关键字视图):以表格的形式记录测试人员在录制时对被测系统执行的操作步骤
1) Item(项目):记录测试人员在录制时对被测系统操作的控件(对象)
2) Operation(操作):对控件执行的操作,是点击操作,还是输入操作,还是关闭操作......
3) Value(值):对可输入的控件输入的值,会有值的控件有输入框、下拉框、列表框、复选框
4) Documentation(文档):描述测试步骤,可以导出保存为文档,跟测试用例的步骤一样
注意:keyword View和Expert View中的操作是一一对应的,只是表现形式不一样
(3)Active Screen(截图视图):保存测试人员在录制时对被测系统执行的操作步骤的截图,只保存录制时的截图
a.如果视图不显示,可以进行设置
Tools(工具)-->Options(选项)-->Restore Layout(重置视图)
b.如果代码运行速度太快怎么办?
Tools(工具)-->Options(选项)-->Run-->Run mode(运行模式)-->Delay each step execution by [] millisecondes(设置每句代码之间的间隔时间,单位:毫秒)
c.如果想让结果报告中总是显示步骤截图怎么办?
Tools(工具)-->Options(选项)-->Run-->
Screen Capture(屏幕截图)--> Save still image capture to results(保存截图在结果中)-->选择Always,总是保存
Agent Name:用户名 4-10为字符
Password:密码 mercury
手工测试(计算器):
测试用例01:
1、打开被测系统
2、输入48
3、点击"+"按钮
4、输入23
5、点击"="按钮
预期结果:71
(VBS脚本)
VbWindow("Form1").VbEdit("Text1").Set "48"
VbWindow("Form1").VbEdit("Text2").Set "23"
VbWindow("Form1").VbButton("计算(J)").Click
VbWindow("Form1").Close
测试用例02:
1、打开被测系统
2、输入4
3、点击"*"按钮
4、输入2
5、点击"="按钮
预期结果:8
QTP(1)的更多相关文章
- QTP(16)
一.QTP项目(ECShop) 1.ECShop是一个开源免费的一个B2C的电子商务系统,主要用于商家和顾客进行商品交易操作. 2.ECShop分为前台和后台两个子系统: (1)ECShop前台:顾客 ...
- QTP(14)
练习1.Flight4a 要求: a.录制Flight4a登录+退出业务流程 b.使用自定义检查结合Exist属性验证登录是否成功 c.为用户名实现参数化 用户名 Jack 正确 Rose 正确 12 ...
- QTP(13)
练习1:Flight4a 要求: a.录制Flight4a登录+购票+退出业务流程 b.实现登录1次,购票3次,退出1次 c.对Fly From.Fly to.航班实现随机参数化 随机参数化:Rand ...
- QTP(12)
练习:录制两位数加法器加法计算后退出的步骤,对两个加数做随机数参数化,随机数范围是0-50,在计算后获得被测系统计算的结果,判断如果结果等于100,msgbox提示“满分”,如果结果在80和99之间, ...
- QTP(10)
一.VBS语言基础 1.运算符和表达式 (1)运算符 (2)表达式 a.数学表达式:由算术运算符连接,计算结果为数字 b.字符串表达式:由字符串连接符连接,计算结果为字符串 c.条件表达式:由关系运算 ...
- QTP(9)
常用的Windows控件 WinEdit---Set "数据值" SetSecure "加密数值" WinButton---Click WinComboBox- ...
- QTP(8)
一.Action 1.调用Action C:\Program Files\HP\QuickTest Professional\CodeSamplesPlus\Flight_Samples (1)调用A ...
- QTP(7)
一.输出值(Output Value) 1.应用场景: 1) 关心被测系统的数据 2) 将被测系统生成的数据作为后面步骤的输入 2.输出值就是输出被测系统中实际运行时的数据的一种技术 a.运行中对象的 ...
- QTP(6)
一.检查点 1.标准检查点(Standard Checkpoint) 作用:检查对象的属性值是否正确 文本框对象:text 预期值 单选按钮对象:checked ON/OFF 下拉框对象:Select ...
- QTP(5)
一.检查点 1.位图检查点(Bitmap CheckPoint) (1)作用:主要用于检查UI界面,检查页面布局,包括控件位置.大小.颜色.状态等 (2)确定位图检查点的要素: a.检查哪个控件 b. ...
随机推荐
- mysql主主、mysql-proxy读写分离、keepalived高可用完美组合
配置mysql主主复制 服务器A:172.16.100.9 服务器B:172.16.100.10 首先在服务器A和服务器B上各安装好单机版mysql5.7,安装好后,再继续下面的操作. 在服务器A和服 ...
- 配置cinder-volume服务使用ceph作为后端存储
在ceph监视器上执行 CINDER_PASSWD='cinder1234!'controllerHost='controller'RABBIT_PASSWD='0penstackRMQ' 1.创建p ...
- XCTF攻防世界Web之WriteUp
XCTF攻防世界Web之WriteUp 0x00 准备 [内容] 在xctf官网注册账号,即可食用. [目录] 目录 0x01 view-source2 0x02 get post3 0x03 rob ...
- 今盒子里有n个小球,A、B两人轮流从盒中取球,每个人都可以看到另一个人取了多少个
/* 题目描述 今盒子里有n个小球,A.B两人轮流从盒中取球,每个人都可以看到另一个人取了多少个,也可以看到盒中还剩下多少个,并且两人都很聪明,不会做出错误的判断. 我们约定: 每个人从盒子中取出的球 ...
- 【转帖】安卓的Bionic 简介
https://blog.csdn.net/yongyu_it/article/details/52574797 google 自己实现了一套libc 的库函数 比glibc 要小一些 占用内存也小. ...
- 通过模板创建一个ABP项目
⒈下载 进入ABP模板页面,选择模板后下载 ⒉运行 1.初始化数据库 修改xxxx.Migrator.xxxx.Web.Host appsettings.json中的连接字符串 2.还原数据库 在Nu ...
- [SDOI2008]石子合并 题解
题面 GarsiaWachs算法专门解决石子合并问题: 设一个序列是A[0..n-1],每次寻找最小的一个满足A[k-1]<=A[k+1]的k,那么我们就把A[k]与A[k-1]合并,并向前寻找 ...
- luffy后台相关设置
目录 项目创建 环境 创建项目 重构项目目录 配置开发环境 配置日志 环境变量 dev.py 在写项目直接导入utils文件夹也不''错误提示'' 封装logger dev.py utils/logg ...
- T100错误信息提示方式
例如: IF g_browser_cnt = THEN INITIALIZE g_errparam TO NULL LET g_errparam.extend = "" LET g ...
- Codeforces 1236E. Alice and the Unfair Game
传送门 首先可以注意到对于固定的起点 $S$ ,它最终能走到的终点一定是一段区间 这个用反证法容易证明,假设合法区间存在断点,这个点左右都可以作为终点 那么分成区间断点在起点左边和起点右边讨论一下即可 ...