一、概念
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