目录
1. 用例编号:项目_模块_编号,例如:淘宝_购物车_01 :TB_GWC_01
4. 优先级:表示用例的重要程度或者影响力p0~p4(p0最高),用户用的频率最高的称为p0
一、测试目的及前景
1、什么是软件?
控制计算机硬件工作的工具。
2、什么是软件测试的定义?
使用技术手段验证软件是否满足使用需求。
3、软件测试目的?
减少软件缺陷(bug),保障软件质量!
二、主流技术
1、就业方向如何选择?
1. 方向(一):功能测试+接口测试
2. 方向(二):功能测试+性能测试
3. 方向(三):功能测试+web自动化
2、功能测试
功能测试:测试注意验收程序的功能是否满足需求
3、自动化测试
自动化测试:使用代码或工具代替手工,对项目进行测试(使用工具是比手工的效果高)
4、接口测试
接口测试:使用代码或工具验证程序中的接口是否访问正常(接口一定是后端开发好的,提供出来,直接进行验证就好了)
5、性能测试
性能测试:模拟多人使用软件,查找服务器缺陷
三、测试分类
1、按阶段划分
①单元测试:针对程序源代码进行测试
②集成测试:针对程序接口进行测试
③系统测试:针对程序功能、非功能进行测试
④验收测试:使用不同用户(内测、公测)进行测试
2、按代码可见度划分
①黑盒测试:不关注源代码,针对程序UI功能进行测试 (UI:User interface 用户接口,UI称为有界面可以看到系统界面)
②灰盒测试:针对程序部分代码进行测试(接口)
③白盒测试:针对程序源代码进行测试
四、质量模型
质量模型:功能、性能、兼容、易容、安全、可靠性、移植性、维护性
面试题:能够说出质量模型中重要的五项:功能、性能、兼容、易容、安全
五、测试流程
如何开展软件的测试工作?面试题:在上家公司测试的流程是啥?
①需求评审 ②编写测试计划 ③用例设计 ④用例执行 ⑤缺陷管理 ⑥测试报告
六、测试用例
1、什么是用例?
用例:用户使用的案例
生活中常见的案例:
①是否能开机:打开手机按下电源键3秒钟,看是否能开机。
②验证内存:打开手机设置查看内存是否为64G。
③验证屏幕:打开手机在白屏背景下检查屏幕是否有黑色点。
④检查运行速度:打开手机下载吃鸡游戏,是否运行流程。(简单的说就是不卡住就行)
2、测试用例的定义?
测试用例的定义两种说法:
①是为测试项目而设计的执行文档。
②是为了特定的目的而设计的一组有测试输入、执行条件、预期结果的案例(文档)
3、测试用例的作用?
作用两点:①防止漏测、②实施测试的标准
4、用例编写格式?
一个好的测试用例必须包含足够的内容,将这些内容可以拆分为八个要素:用例编号、用例标题、测试项目/模块、优先级、前置条件、测试数据、操作步骤、预期结果。
1. 用例编号:项目_模块_编号,例如:淘宝_购物车_01 :TB_GWC_01
2. 用例标题:预期结果(测试点)
3. 项目/模块:所属项目或模块
4. 优先级:表示用例的重要程度或者影响力p0~p4(p0最高),用户用的频率最高的称为p0
电商核心:卖货的流程,退货的流程、投诉、频率、抢优惠劵
商家核心:体系、商品上架,管理投诉、管理售后
5. 前置条件:要执行此条用例,有哪些前置操作
6.测试数据:操作的数据,没有的话可以为空
7. 测试步骤:描述操作步骤
8. 预期结果:期望达到的结果
5、用例练习
案例1:等价类划分及QQ测试
1、等价类划分法
1. 说明 | 分类 | 步骤
说明:在所有测试数据中,具有某种共同特征的数据集合进行划分。
分类:有效等价类:满足需求的数据集合
无效等价类:不满足需求的数据集合
步骤:1.明确需求,2.确定有效和无效等价类,3.提取数据编写测试用例
2. 案例
2-1需求:验证QQ账号的合法性 要求:6-10位自然数
2-2需求:验证某城市电话号码正确性
需求:1.区号:空或者是三位数据,2.前缀码:非 “0” 且非 “1” 开头的三位数字 ,3.后缀码:四位数字
七、规范的测试用例
1、 测试用例的基本知识
测试用例构成的八个要素
- 用例编号————>用例的唯一标识————>例如:QQMail_login_001
- 用例标题————>用例的简要描述————>在什么情况下做什么事有什么结果
- 测试项目/模块————>用例所属项目范畴————>例如:QQMail
- 用例级别————>用例重要程度影响————>例如:优先级P0,P1,P2,P3 等,P0是最高的
- 预置条件————>用例执行的前提————>例如:login登录要数据,前提就是需要什么条件
- 测试输入————>执行用例数据输入————>测试数据或环境准备
- 执行步骤————>执行用例的步骤————>步骤
- 预期结果————>应该得到的结果————>测试输入+执行步骤=实际结果;实际结果和预期结果做对比,如果相同说明成功,不相同就是用例执行失败了。
备注:上图中多了一个用例属性——在实际工作中根据项目的要求对用例设计要素可做调整,上述要素几乎覆盖常见用例设计模板
2、(功能)或黑盒测试用例的设计方法
- 等价类
- 边界值
- 错误推测法
- 场景法
- 因果图
- 判定表
- 正交试验法
- 状态迁移图
(1)等价类
等价类概念:在所有测试的数据中,具有某种共同特征的数据子集。
有效等价类:满足需求的数据
无效等价类:不满足需求的数据
等价类划分的规则
输入数据类型 划分等价类规则 数据个数
(例:手机号由11位组成)
1个有效等价类:正确数据个数(11位) 2个无效等价类:大于和小于数据个人数
(num<11,num>11)
集合
(例:电话毫秒都是数字组成)
1个有效等价类:正确数据集合(数字) 1个或多个无效等价类
(非数字:包括字母、汉字、特殊字符等)
符合某些规则的输入
(例:手机号首位为1)
多个有效等价类:符合某个规则的输入数据为1个等价类(首位为1) 若干个无效等价类
(首位不为1)
取值范围
(例:输入0到100之间的整数)
1个有效等价类:正确取值范围(0<num<100) 2个无效等价类:大于和小于取值范围
(num<=0,num>=100)
布尔值
(例:选择是否为男性)
1个有效等价类:true(是) 1个无效等价类:false(否)
① 等价类设计测试用例的步骤
分析需求,确定输入数据类型
使用规则划分有效和无效等价类
设计用例, 覆盖有效等价类————>一条用例尽可能多的覆盖有效等价类
设计用例,覆盖无效等价类——————>一条用例只能覆盖一个无效等价类
② 等价类设计测试用例的案例
例子:固定电话号码测试,要求:地区码(3/4位)+电话号码(7/8位)
1、分析需求,确定输入的数据类型
输入 输入 数据类型 固定电话号码测试 地区码 3/4位的数字 电话号码 7/8位的数字 2、根据输入的规则,划分有效和无效等价类
输入 输入 长度 集合 组成规则 固定电话号码测试 地区码 3/4位 数字 以0开头 电话号码 7/8位 数字 以非0非1开头
输入 输入 有效等价类 无效等价类 固定电话号码测试 地区码 1、以0开头的3位数字
2、以0开头的4位数字
3、以0开头的小于3位的数字
4、以0开头的大于4位的数字
5、以非0开头的包含非数字的4位字符串
6、以非0开头的4位数字
电话号码 7、以非0非1开头的7位数字
8、以非0非1开头的8位数字
9、以非0非1开头的小于7位数字
10、以非0非1开头的大于8位数字
11、以非0非1开头的包含非数字的8位字符串
12、以0开头的8位数字
13、以1开头的8位数字
3、编写测试用例:覆盖有效等价类——尽可能覆盖多个
4、编写测试用例:覆盖无效等价类——只能覆盖一个
输入 有效用例 无效用例 测试用例 012、2345678 覆盖1,7
012、23456789 覆盖1,8
0123、23456789 覆盖2、8
0123、2345678 覆盖2,7
01、2345678 覆盖3
01234、2345678 覆盖4
12A4、2345678 覆盖5
0123、2345678 覆盖6
012、234567 覆盖9
012、23456789 覆盖10
012、23AB5678 覆盖11
012、012345678 覆盖12
012、12345678 覆盖13
(2)边界值
- 大量的错误是发生在输入或输出范围的边界上,而不是在输入范围的内部
正确代码 | 错误代码 |
---|---|
num>-1或num>=0 | num>=-1或num>0 |
num<101或num<=100 | num<101或num<100 |
- 边界值:选取正好等于、刚刚好大于或刚刚好小于边界值作为测试数据
① 边界值的上点、离点、内点
(0,100)
上点:0,100
离点:-1,1,99,101
内点:50
3. 适用场景
针对:需要有大量数据测试输入,但是没法穷举测试的地方。
①输入框、②下拉列表、③单选复选框
典型代表:页面的输入框类测试。