按阶段划分
单元测试:针对程序源码进行测试
集成测试:又称接口测试,针对模块之间访问地址进行测试
系统测试:对整个系统进行测试包括,功能,兼容,文档等测试
验收测试:使用不同的用户(内测公测)进行测试
按代码可见度划分
黑盒测试:源代码不可见 UI功能可见 不关注源码针对功能测试(系统测试)
灰盒测试:部分源代码可见 功能不可见 针对接口测试(集成测试)
白盒测试:全部代码可见 UI功能不可见针对源码测试(单元测试)
专项
1.性能测试2.安全
质量模型:
功能性,性能,兼容性,易用性,可靠性,安全,可维护性,可移植性
说明:衡量一个优秀软件的维度
测试流程:
1.需求评审 确保各部门需求理解一致
2.编写测试计划 测什么 谁来测 怎么测
3.用例设计 验证项目是否符合需求的操作文档
4.用例执行 项目模块开发完成执行用例文档实时测试
5.缺陷管理 对的缺陷进行管理的过程
6.测试报告 实施测试结果文档
测试用例
用例:用户使用的案例
1 是否能开机: 打开手机按下电源键3秒钟,看是否能开机。 2 验证内存: 打开手机设置查看内存是否为64G。 3 验证屏幕: 打开手机在白屏背景下检查屏幕是否黑色点。 4 检查运行速度: 打开手机下载吃鸡游戏,是否运行流畅。
测试用例 :是为测试项目而设计的执行文档
测试用例的作用:
防止侧漏
实施测试的标准
用例设计编写格式
用例编号 ,用例标题 ,项目/模块 ,优先级 ,前置条件 ,测试步骤 ,测试数据 ,预期结果
用例编号 | 用例标题 | 项目/模块 | 优先级 | 前置条件 | 测试步骤 | 测试数据 | 预期结果 |
---|---|---|---|---|---|---|---|
hm_login_001 | 登录成功(正确手机号) | 登录 | P0 | 1.打开登录页面2.手机已注册 | 1.输入手机号 2.点击发送验证码按钮 3.拖拽滑动成功4.输入验证码 5.勾选协议6.点击登录 | 1.手机:已注册手机号2.其他输入正确数据 | 1.手机文本框状态为绿色 2.登录成功,跳转到主页 |
hm_login_002 | 登录失败(手机号为空) | 登录 | P1 | 1.打开登录页面 | 1.输入手机号2.点击发送验证码按钮3.拖拽滑动成功4.输入验证码5.勾选协议6.点击登录 | 1.手机:为空2.验证码:8888 3.其他输入正确数据 | 1.手机文本框状态为红色 2.点击发送验证码,不弹出滑块3.登录失败:提示手机号不能为空 |
用例设计编写格式-说明:
用例编号:项目_模块 _编号
用例标题:预期结果(测试点)
模块/项目:所属项目或模块
优先级:表示用例的重要程度或者影响力P0~P4(P0最高)
前置条件:要执行此条用例,有哪些前置操作
测试步骤:描述操作步骤
测试数据:操作的数据,没有的话为空
预期结果:期望到达的结果
等价类划分
有效等价 符合需求范围之内的为有效
无效等价 符合需求范围之外的为无效
用法:有效等价取1个值
每个无效集合取1个
边界值分析方法
1.边界范围节点
选取正好等于 刚好大于 刚好小于 边界的值作为测试数据
上点:边界上的点(正好等于)
离点:距离上点最近点(刚好大于 刚好小于)
内点:范围内的点(区间范围内的数据 一般取居中)
<-99 >99
上点为-99 99
离点为-100 -98 98 100
内点取50
取-99 99 -100 100 98 -98 50 七个点测试
提示:
有关范围限制,最多7条用例
边界值能解决位数限制问题,但是不能解决类型问题(要结合等价类)
步骤:
1 明确需求
2.确定有效和无效等价
3 确定边界范围
4 提取数据编写用例
解决多条件有依赖关系测试
判定表法:
说明:
1 等价类边界值分析法主要关注单个输入类条件的测试
2 并未考虑输入条件之间的各种组合、输入条件与输出结果之间有相互制约关系的测试
定义:以表格形式来表达多条件逻辑判断的工具
组成:
条件桩:列出问题中的所有条件,列出条件的次序无关紧要。
动作桩:列出问题中可能采取的操作,操作的排列顺序没有约束。
条件项:列出条件对应的取值,所有可能情况下的真假值。
动作项:列出条件项的、各种取值情况下应该采取的动作结果。
案例:验证“若用户欠费或者关机,则不允许主被叫”功能的测试
条件 | 是否欠费 | 是 | 是 | 否 | 否 |
---|---|---|---|---|---|
是否关机 | 是 | 否 | 是 | 否 | |
操作 | 是否允许主被叫 | 否 | 否 | 否 | 是 |
规则:
1.判定表中贯穿条件项和动作项的一列就是一条规则
2.假设有n个条件,每个条件的取值有两个(0,1),全组合有2的n次方种规则
订单案例:
需求:
1)、如果金额大于500元,又未过期,则发出批准单和提货单;
2)、如果金额大于500元,但过期了,则不发批准单与提货单;
3)、如果金额小于等于500元,则不论是否过期都发出批准单和提货单;
4)、在过期的情况下不论金额大小还需要发出通知单。
判定表:
条件 | 是否大于500 | 是 | 是 | 否 | 否 |
---|---|---|---|---|---|
是否过期 | 是 | 否 | 是 | 否 | |
操作 | 批准单 | X | √ | √ | √ |
提货单 | X | √ | √ | √ | |
通知单 | √ | X | √ | X |
用例:
用例编号 | 用例标题 | 项目/模块 | 优先级 | 前置条件 | 测试步骤 | 测试数据 | 预期结果 |
---|---|---|---|---|---|---|---|
order_001 | 发通知单(大于500,过期) | 订单 | P0 | 打开订单验证程序 | 1.输入金额2.输入是否过期3.点击验证按钮 | 1.金额:600 2.是否过期:过期 | 发通知单;不发批准单,提货单 |
order_002 | 发批准单和提货单(大于500,未过期) | 订单 | P0 | 打开订单验证程序 | 1.输入金额2.输入是否过期3.点击验证按钮 | 1.金额:600 2.是否过期:未过期 | 发批准单,提货单,不发通知单 |
order_003 | 发批准单、提货单和通知单(小于等于500,未过期) | 订单 | P0 | 打开订单验证程序 | 1.输入金额2.输入是否过期3.点击验证按钮 | 1.金额:4000 2.是否过期:过期 | 发批准单,提货单和通知单 |
order_004 | 发批准单和提货单(小于500,未过期) | 订单 | P0 | 打开订单验证程序 | 1.输入金额2.输入是否过期3.点击验证按钮 | 1.金额:400 2.是否过期:未过期 | 发批准单,提货单;不发通知单 |
案例2:
需求:
1)、输入的第一列字符必须是A或B
2)、第二列字符必须是一个数字
3)、如果第一列字符不正确,则给出信息L
4)、如果第二列字符不正确,则给出信息M
5)、如果两列字符输入正确,则修改文件成功
判定表:
条件 | 第一列字符是A或B | 是 | 是 | 否 | 否 |
---|---|---|---|---|---|
第二列字符 | 是 | 否 | 是 | 否 | |
操作 | 给出信息L | X | X | √ | √ |
给出信息M | X | √ | X | √ | |
给出信息文件修改成功 | √ | X | X | X |
用例:
用例编号 | 用例标题 | 项目/模块 | 优先级 | 前置条件 | 测试步骤 | 测试数据 | 预期结果 |
---|---|---|---|---|---|---|---|
file_001 | 文件修改成功(第一列是A或B,第二列是数字) | 文件 | P0 | 打开文件修改工具 | 1.输入第一列2.输入第二列3。点击验证按钮 | 第一列:A第二列:1 | 文件修改成功 |
file_002 | 输出M(第一列是A或B,第二列不是数字) | 文件 | P1 | 打开文件修改工具 | 1.输入第一列2.输入第二列3。点击验证按钮 | 第一列:A第二列:a | 输出M |
file_003 | 输出L(第一列不是A或B,第二列是数字) | 文件 | P1 | 打开文件修改工具 | 1.输入第一列2.输入第二列3。点击验证按钮 | 第一列:c第二列:1 | 输出L |
file_004 | 输出L、M(第一列不是A或B,第二列不是数字) | 文件 | P1 | 打开文件修改工具 | 1.输入第一列2.输入第二列3。点击验证按钮 | 第一列:C第二列:a | 输出L、M |