软件测试:使用技术手段验证软件是否满足需求。
一、测试的主流技能
功能测试:功能测试主要验证程序的功能是否满足需求。
自动化测试:使用代码或工具代替手工,对项目进行测试。
接口测试:使用代码或工具对服务端提供的接口进行测试。
性能测试:使用代码或工具模拟多人使用软件,查找服务器缺陷。
二、测试的分类
2.1、按测试阶段划分
单元测试-->集成测试-->系统测试-->验收测试
单元测试:针对程序源代码进行测试。
集成测试:又称接口测试,针对程序的接口进行测试。
系统测试:功能和非功能测试,对整个系统进行测试包括功能兼容、文档等测试。
验收测试: 主要分为内测、公测,使用不同人群来进行测试。(不是所有的项目都需要)
2.2、按代码可见度划分
主要分为黑盒测试,灰盒测试,白盒测试。
黑盒测试:源代码不可见,UI功能可见。针对功能进行测试(系统测试)
灰盒测试:部分源代码可见(接口),UI功能不可见。针对接口进行测试(集成测试)
白盒测试:源代码全部可见,UI功能不可见。针对源代码进行测试(单元测试)
三、质量模型
质量模型:衡量一个优秀软件的维度。主要看功能性、性能、兼容性、易用性、可靠性、安全、可维护性、可移植性。
案例:
1、开发一款网络游戏(要求:10个主功能)
2、游戏支持web(浏览器)端、App端
3、游戏上线后预计每日,20W用户玩家在线
1、功能性测试:
需求:10个功能,每个功能的详情
测试:功能的数量是否为10个、功能是否正确实现、出现错误的处理情况。
2、性能测试:
需求:预估每日20W用户玩家在线。
测试:服务器每秒处理请求数、服务器硬件配置是否满足。
3、兼容性测试:
需求:游戏支持web(浏览器)端、App端。
测试:web端测试(谷歌、IE、火狐、欧朋、苹果)、操作系统(windows系统:win7、win8、win10、win11等)、手机端测试(分辨率、品牌、系统、网络、其他)。
4、易用性:
测试:是否简洁、友好、流畅、美观
5、可靠性
测试:是否出现无响应,是否出现卡顿,是否出现死机
6、安全
测试:数据的加密
7、可移植性
测试:网站数据迁移
8、可维护性
测试:核心代码的说明是否详细,是否独立,是否易于寻找
四、软件测试的流程 (生命周期)
软件测试的流程为:需求评审-->编写测试计划-->用例设计-->用例执行-->缺陷管理-->测试报告。
需求评审:确保各部门需求理解一致,知道被测项目有哪些功能模块(角色:产品经理,开发,测试)
编写测试计划:测什么、谁来测、怎么测
用例设计:验证项目是否符合需求的操作文档
用例执行:项目模块开发完成开始执行用例文档实施测试
缺陷管理:对缺陷进行管理的过程。(缺陷提交给开发,开发修改完毕,测试验证完毕,缺陷已经被修复)
测试报告:实施测试结果文档
五、测试用例
5.1、测试用例
用例:用户使用的案例的简称就是用例。
如:
是否能开机:打开手机按下电源键3秒钟,看是否能开机。
验证内存:打开手机设置查看内存是否为64G。
验证屏幕:打开手机在白屏背景下检查屏幕是否黑色点。
检查运行速度:打开手机下载吃鸡游戏,是否运行流畅。
测试用例:为测试项目而设计的执行文档
测试用例的作用:
1、防止漏测
2、实施测试标准
用例设计的编写格式,主要包括以下八大要素:
用例编号 用力标题 项目/模块 优先级 前置条件 测试步骤 测试数据 预期结果
用例编号:项目_模块_编号。
用力标题:预期结果(测试点)。
模块/项目:所属项目或模块。
优先级:表示用例的重要程度或者影响力P0~P4(P0最高),用户使用频率越高,功能越核心,优先级越高。
前置条件:要执行此条用例,有哪些前置操作
测试步骤:描述操作步骤
测试数据:操作的数据,没有的话可以为空
预期结果:期望达到的结果
5.2、案例描述
需求:QQ登录(4条)
1、账号为空2、账号未注册
3、密码为空
4、密码错误
用例编号 | 用例标题 | 项目/模块 | 优先级 | 前置条件 | 测试步骤 | 测试数据 | 预期结果 |
QQ_login_001 | 登陆失败(账号为空) | 登录 | p1 | 1、打开登陆界面 2、网络正常 | 1、输入账号 2、输入密码 3、点击登录按钮 | 1、账号:空 2、密码:123456 | 登陆失败, 提示:账号不可为空 |
QQ_login_001 | 登陆失败(账号未注册) | 登录 | p1 | 1、打开登陆界面 2、网络正常 3、账号未注册 | 1、输入账号 2、输入密码 3、点击登录按钮 | 1、账号:未注册账号 2、密码:123456 | 登陆失败, 提示:账号不存在 |
QQ_login_001 | 登陆失败(密码为空) | 登录 | p1 | 1、打开登陆界面 2、网络正常 3、账号已注册 | 1、输入账号 2、输入密码 3、点击登录按钮 | 1、账号:已注册账号 2、密码:空 | 登陆失败, 提示:密码不可为空 |
QQ_login_001 | 登陆失败(密码错误) | 登录 | p1 | 1、打开登陆界面 2、网络正常 3、账号已注册 | 1、输入账号 2、输入密码 3、点击登录按钮 | 1、账号:已注册账号 2、密码:错误密码 | 登陆失败, 提示:密码不正确 |
六、测试用例怎么设计
等价类划分法——针对穷举场景设计测试点
边界值分析法——针对限定边界规则设计测试点
判定表法——针对多条件依赖关系进行设计测试点
场景法——针对于项目业务进行设计测试点
错误推测法
6.1、等价类划分
等价类划分:在所有测试数据中,具有某种共同特征的数据集合进行划分 。主要针对穷举进行设计
分类:有效等价类:符合需求范围之内;无效等价类:符合需求范围之外。
用法:有效等价类取1个,每个无效集合取1个
步骤:1、明确需求;2、确定有效和无效等价类;3、提取数据编写测试用例
案例1:验证QQ账号的合法性(要求6-10位自然数)
1,明确需求
要求QQ账号为6-10位自然数
2,划分有效等价和无效等价类
有效等价类:8位自然数
无效等价类:3位非自然数,12位非自然数,8位非自然数,为空
3,提取数据编写用例
有效:12345678
无效:123,123456789012,1234567A,为空
测试用例设计
用例编号 | 用例标题 | 项目/模块 | 优先级 | 前置条件 | 测试步骤 | 测试数据 | 预期结果 |
QQ001 | QQ合法(8位自然数) | qq账号 | p0 | 1、打开验证QQ程序 | 1、输入QQ号 2、点击验证 | 账号:12345678 | QQ合法 |
QQ002 | QQ不合法(3位自然数) | qq账号 | p1 | 1、打开验证QQ程序 | 1、输入QQ号 2、点击验证 | 账号:123 | QQ不合法 |
QQ003 | QQ不合法(12位自然数) | qq账号 | p1 | 1、打开验证QQ程序 | 1、输入QQ号 2、点击验证 | 账号:123456789012 | QQ不合法 |
QQ004 | QQ不合法(8位非自然数) | qq账号 | p1 | 1、打开验证QQ程序 | 1、输入QQ号 2、点击验证 | 账号:1234567A | QQ不合法 |
QQ005 | QQ不合法(为空) | qq账号 | p1 | 1、打开验证QQ程序 | 1、输入QQ号 2、点击验证 | 账号:为空 | QQ不合法 |
案例2: 验证某城市电话号码正确性
1,明确需求
1. 区号:空或者是三位数字
2. 前缀码:非“0”且非“1”开头的三位数字3. 后缀码:四位数字
(主要包括:长度、类型、规则)
2,划分有效等价和无效等价类
3,提取数据编写用例
等价类设计:共10个测试用例,其中:
有效等价类2个,分别为:空2341234,1232341234
无效等价类8个,及区号是无效数据需要前缀码和后缀码都是有效数据,依次组合,共有8个
参数 | 说明 | 有效 | 有效数据 | 无效 | 无效数据 |
区号 | 长度 | 空,3位 | 1、空 2、123 | 非3位 | 12 |
前缀码 | 4位 | 234 | 非3位 | 23 | |
后缀码 | 4位 | 1234 | 非4位 | 123 | |
区号 | 类型 | 数字 | / | 非数字 | 12A |
前缀码 | 数字 | / | 非数字 | 23A | |
后缀码 | 数字 | / | 非数字 | 123A | |
区号 | 规则 | / | / | / | / |
前缀码 | 非0且非1开头 | / | 0开头,1开头 | 1、012 2、123 | |
后缀码 | / | / | / | / |
测试用例
用例编号 | 用例标题 | 项目/模块 | 优先级 | 前置条件 | 测试步骤 | 测试数据 | 预期结果 |
tel_001 | 合法(区号为空+其他正确) | 电话 | p0 | 打开验证电话程序 | 1、输入区号 2、输入前缀码 3、输入后缀码 4、点击验证 | 1、区号:空 2、前缀码:234 3、后缀码:1234 | 合法 |
tel_002 | 合法(区号为3位数字+其他正确) | 电话 | p1 | 打开验证电话程序 | 1、输入区号 2、输入前缀码 3、输入后缀码 4、点击验证 | 1、区号:123 2、前缀码:234 3、后缀码:1234 | 合法 |
tel_003 | 不合法(区号为2位数字+其他正确) | 电话 | p1 | 打开验证电话程序 | 1、输入区号 2、输入前缀码 3、输入后缀码 4、点击验证 | 1、区号:12 2、前缀码:234 3、后缀码:1234 | 不合法 |
tel_004 | 不合法(2位非0且非1前缀码+其他正确) | 电话 | p1 | 打开验证电话程序 | 1、输入区号 2、输入前缀码 3、输入后缀码 4、点击验证 | 1、区号:空 2、前缀码:23 3、后缀码:123 | 不合法 |
tel_005 | 不合法(后缀为3位数字+其他正确) | 电话 | p1 | 打开验证电话程序 | 1、输入区号 2、输入前缀码 3、输入后缀码 4、点击验证 | 1、区号:空 2、前缀码:234 3、后缀码:123 | 不合法 |
tel_006 | 不合法(区号为非3位数字+其他正确) | 电话 | p1 | 打开验证电话程序 | 1、输入区号 2、输入前缀码 3、输入后缀码 4、点击验证 | 1、区号:12A 2、前缀码:234 3、后缀码:1234 | 不合法 |
tel_007 | 不合法(前缀为非0且非1的非3位数字+其他正确) | 电话 | p1 | 打开验证电话程序 | 1、输入区号 2、输入前缀码 3、输入后缀码 4、点击验证 | 1、区号:空 2、前缀码:23A 3、后缀码:1234 | 不合法 |
tel_008 | 不合法(后缀为非4位数字+其他正确) | 电话 | p1 | 打开验证电话程序 | 1、输入区号 2、输入前缀码 3、输入后缀码 4、点击验证 | 1、区号:空 2、前缀码:23A 3、后缀码:123A | 不合法 |
tel_009 | 不合法(前缀为0开头的三位数字+其他正确) | 电话 | p1 | 打开验证电话程序 | 1、输入区号 2、输入前缀码 3、输入后缀码 4、点击验证 | 1、区号:空 2、前缀码:012 3、后缀码:1234 | 不合法 |
tel_010 | 不合法(前缀为1开头的三位数字+其他正确) | 电话 | p1 | 打开验证电话程序 | 1、输入区号 2、输入前缀码 3、输入后缀码 4、点击验证 | 1、区号:空 2、前缀码:123 3、后缀码:1234 | 不合法 |
适用场景
针对:需要有大量数据测试输入,但是没法穷举测试的地方
如,输入框、下拉列表、单选复选框
典型代表:页面的输入框类测试
6.2、边界值分析法
使用边界值解决位数限制的问题。
边界范围节点
选取正好等于、刚好大于、刚好小于边界的值作为测试数据
上点:边界上的点(正好等于)
离点:距离上点最近的点(刚好大于、刚好小于)内点:范围内的点(区间范围内的数据,一般取居中,方便与离点区别)
提示:
1、有关范围限制,最多7条用例 (暂时未优化)
2、边界值能解决位数限制问题,但是不能解决类型问题(要结合等价类)
边界值分析法设计用例的步骤
1、明确需求
2、确定有效和无效等价类3、确定边界范围值
4、提取数据编写测试用例
案例1 :通过边界值法验证标题长度的合法性
1、明确需求
标题长度大于0,小于等于30个字符
2、确定有效和无效等价类(类型)有效等价:标题长度大于0,小于等于30个字符
无效等价:标题长度大于0,小于等于30个数字
3、确定边界范围值
上点:0位,30位
离点:
-1位(长度不可能为负),1位,29位,31位内点:15位
4、提取数据编写测试用例
用例编号 | 用例标题 | 项目/模块 | 优先级 | 前置条件 | 测试步骤 | 测试数据 | 预期结果 |
title_001 | 不合法(标题15位纯数字) | 标题 | P1 | 打开验证标题程序 | 1、输入标题 2、点击验证 | 标题:15位数字 | 不合法 |
title_002 | 不合法(标题为空) | 标题 | P1 | 打开验证标题程序 | 1、输入标题 2、点击验证 | 标题:空 | 不合法 |
title_003 | 合法(标题30位字符) | 标题 | P0 | 打开验证标题程序 | 1、输入标题 2、点击验证 | 标题:30位字符 | 合法 |
title_004 | 合法(标题1位字符) | 标题 | P0 | 打开验证标题程序 | 1、输入标题 2、点击验证 | 标题:1位字符 | 合法 |
title_005 | 合法(标题29位字符) | 标题 | P0 | 打开验证标题程序 | 1、输入标题 2、点击验证 | 标题:29位字符 | 合法 |
title_006 | 不合法(标题31位字符) | 标题 | P1 | 打开验证标题程序 | 1、输入标题 2、点击验证 | 标题:31位字符 | 不合法 |
title_007 | 合法(标题15位字符) | 标题 | P0 | 打开验证标题程序 | 1、输入标题 2、点击验证 | 标题:15位字符 | 合法 |
案例2:通过边界值法验证QQ号码的合法性
1、明确需求
QQ号码为6~10位自然数
2、确定有效和无效等价类(类型)有效等价:6~10位自然数
无效等价:6~10位非自然数
3、确定边界范围值
上点:6位,10位
离点:5位,7位,9位,11位
内点:8位
4、提取数据编写测试用例
用例编号 | 用例标题 | 项目/模块 | 优先级 | 前置条件 | 测试步骤 | 测试数据 | 预期结果 |
qq_001 | 不合法(8位非自然数) | P1 | 打开qq验证程序 | 1、输入qq 2、点击验证 | 账号:1234567a | 不合法 | |
qq_002 | 合法(6位自然数) | P0 | 打开qq验证程序 | 1、输入qq 2、点击验证 | 账号:123456 | 合法 | |
qq_003 | 合法(10位自然数) | P0 | 打开qq验证程序 | 1、输入qq 2、点击验证 | 账号:1234567890 | 合法 | |
qq_004 | 不合法(5位自然数) | P1 | 打开qq验证程序 | 1、输入qq 2、点击验证 | 账号:12345 | 不合法 | |
qq_005 | 合法(7位自然数) | P0 | 打开qq验证程序 | 1、输入qq 2、点击验证 | 账号:1234567 | 合法 | |
qq_006 | 合法(9位自然数) | P0 | 打开qq验证程序 | 1、输入qq 2、点击验证 | 账号:123456789 | 合法 | |
qq_007 | 不合法(11位自然数) | P1 | 打开qq验证程序 | 1、输入qq 2、点击验证 | 账号:12345678901 | 不合法 | |
qq_008 | 合法(8位自然数) | P0 | 打开qq验证程序 | 1、输入qq 2、点击验证 | 账号:12345678 | 合法 |
边界值分析法的优化
结论:7个优化为5个点
上点:必选(不考虑区间开闭)
内点:必选(建议选择中间范围)
离点:开内闭外(考虑开闭区间,开区间选择内部离点,闭区间选择外部离点)
对案例2的测试用例的优化
用例编号 | 用例标题 | 项目/模块 | 优先级 | 前置条件 | 测试步骤 | 测试数据 | 预期结果 |
qq_001 | 不合法(8位非自然数) | P1 | 打开qq验证程序 | 1、输入qq 2、点击验证 | 账号:1234567a | 不合法 | |
qq_002 | 合法(6位自然数) | P0 | 打开qq验证程序 | 1、输入qq 2、点击验证 | 账号:123456 | 合法 | |
qq_003 | 合法(10位自然数) | P0 | 打开qq验证程序 | 1、输入qq 2、点击验证 | 账号:1234567890 | 合法 | |
qq_004 | 不合法(5位自然数) | P1 | 打开qq验证程序 | 1、输入qq 2、点击验证 | 账号:12345 | 不合法 | |
qq_007 | 不合法(11位自然数) | P1 | 打开qq验证程序 | 1、输入qq 2、点击验证 | 账号:12345678901 | 不合法 | |
qq_008 | 合法(8位自然数) | P0 | 打开qq验证程序 | 1、输入qq 2、点击验证 | 账号:12345678 | 合法 |
适用场景
单个输入框,常用的方式:边界+等价类
6.3、判定表法
判定表:一种以表格形式表达多条件逻辑判断的工具,用于解决多条件依赖问题。
组成:
条件桩:列出问题中的所有条件,列出条件的次序无关紧要
动作桩:列出问题中可能采取的操作,操作的排列顺序没有约束
条件项:列出条件对应的取值,所有可能情况下的真假值
动作项:列出条件项的、各种取值情况下应该采取的动作结果
规则:
判定表中贯穿条件项和动作项的一列就是一条规则,即一个用例。
假设有n个条件,每个条件的取值有两个(0,1),全组合有2的n次方种规则。
步骤:
1、明确需求
2、画出判定表
1)、列出条件桩和动作2)、填写条件项,对条件进行全组合
3)、根据条件项的组合确定动作项
4)、简化、合并相似规则(有相同的动作)
3、根据规则编写测试用例
案例一
1、明确需求
1)、如果金额大于500元,又未过期,则发出批准单和提货单;
2)、如果金额大于500元,但过期了,则不发批准单与提货单;
3)、如果金额小于等于500元,则不论是否过期都发出批准单和提货单;
4)、在过期的情况下不论金额大小还需要发出通知单
2、画出判定表
1)、列出条件桩和动作条件桩:金额是否大于500,是否过期
动作桩:批准单,提货单,通知单
2)、填写条件项,对条件进行全组合
3)、根据条件项的组合确定动作项
4)、简化、合并相似规则(有相同的动作)
3、根据规则编写测试用例
判定表:
金额是否大于500 | 是 | 是 | 否 | 否 |
是否过期 | 是 | 否 | 是 | 否 |
批准单 | × | √ | √ | √ |
提货单 | × | √ | √ | √ |
通知单 | √ | × | √ | × |
测试用例表:
用例编号 | 用例标题 | 项目/模块 | 优先级 | 前置条件 | 测试步骤 | 测试数据 | 预期结果 |
order_001 | 发通知单(大于500,过期) | 订单 | P0 | 打开订单验证程序 | 1、输入金额 2、输入是否过期 3、点击验证 | 金额:600 是否过期:过期 | 发通知单,不发批准单和提货单 |
order_002 | 发批准单和提货单(大于500,未过期) | 订单 | P0 | 打开订单验证程序 | 1、输入金额 2、输入是否过期 3、点击验证 | 金额:600 是否过期:未过期 | 发批准单和提货单,不发通知单 |
order_003 | 发批准单、提货单、通知单(小于500,过期) | 订单 | P0 | 打开订单验证程序 | 1、输入金额 2、输入是否过期 3、点击验证 | 金额:400 是否过期:过期 | 发批准单、提货单、通知单 |
order_004 | 发批准单、提货单(小于500,未过期) | 订单 | P0 | 打开订单验证程序 | 1、输入金额 2、输入是否过期 3、点击验证 | 金额:400 是否过期:未过期 | 发批准单、提货单 |
案例二
1、明确需求
1)、输入的第一列字符必须是A或B
2)、第二列字符必须是一个数字
3)、如果第一列字符不正确,则给出信息L
4)、如果第二列字符不正确,则给出信息M
5)、如果两列字符输入正确,则修改文件成功
2、画出判定表
1)、列出条件桩和动作条件桩:第一列是A或B,第二列是数字
动作桩:输出L,输出M,修改文件成功
2)、填写条件项,对条件进行全组合
3)、根据条件项的组合确定动作项
4)、简化、合并相似规则(有相同的动作)
3、根据规则编写测试用例
判定表:
第一列是A或B | 是 | 是 | 否 | 否 |
第二列是数字 | 是 | 否 | 是 | 否 |
输出L | × | × | √ | √ |
输出M | × | √ | × | √ |
文件修改成功 | √ | × | × | × |
测试用例表:
用例编号 | 用例标题 | 项目/模块 | 优先级 | 前置条件 | 测试步骤 | 测试数据 | 预期结果 |
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 | 输出M,L(第一列不是A或B,第二列不是数字) | 文件 | P1 | 打开文件修改工具 | 1、输入第一列 2、输入第二列 3、点击验证 | 第一列:C 第二列:a | 输出M,L |
适用场景
有多个输入条件,多个输出结果,输入条件之间有组合关系,输入条件和输出结果之间有依赖(制约)关系
判定表一般适用于条件组合数量较少的情况(比如4个条件以下)
提示:
1、多条件之间有依赖关系,使用判定表来进行测试覆盖。2、判定表一般适合4个以内条件依赖关系
3、如果条件超过4个,就不适合覆盖所有条件,应采用 (正交法) 来解决
6.4、场景法
重点:
1、覆盖业务测试,需要使用流程图法2、先测试业务,在测试单功能、单模块、单页面
流程图
提示:业务用例是根据流程图来梳理的,需要先了解流程图,用于梳理业务用例
场景法
说明:
场景法也可以叫流程图法,是用流程图描述用户的使用场景,然后通过覆盖流程路径来设计测试用例。
意义:
用户使用角度:用户平时使用的不是单个功能,而是多个功能组合起来进行使用。
测试人员角度:平时测试的都是单个功能点进行测试,容易忽略多个功能的组合测试 。
根据实际的应用场景,来测试业务用例,可以使用场景法,业务用例必须先测
案例一,ATM机取款流程图:
测试用例:
用例编号 | 用例标题 | 项目/模块 | 优先级 | 前置条件 | 测试步骤 | 测试数据 | 预期结果 |
ATM_001 | 取款失败(非银行卡) | ATM | P1 | 打开ATM验证工具 | 1、插入卡 | 卡:会员卡 | 取款失败,提示非银行卡,退卡 |
ATM_002 | 取款失败(密码错误三次) | ATM | P1 | 打开ATM验证工具 | 1、插入卡 2、输入密码 | 卡:银行卡 密码:错误密码 | 取款失败,提示密码错误达3次,吞卡 |
ATM_003 | 取款失败(账户余额不足) | ATM | P1 | 1、打开ATM验证工具 2、卡余额为零 | 1、插入卡 2、输入密码 | 卡:银行卡 密码:正确密码 | 取款失败,提示余额不足,退卡 |
ATM_004 | 取款失败(取款金额不正确) | ATM | P1 | 1、打开ATM验证工具 2、卡余额为10000 | 1、插入卡 2、输入密码 3、输入取款金额 | 卡:银行卡 密码:正确密码 取款金额:1 | 取款失败,提示不是正确金额,只能取100或100的倍数 |
ATM_005 | 取款失败(ATM机余额不足) | ATM | P1 | 1、打开ATM验证工具 2、卡余额为10000 3、ATM余额为0 | 1、插入卡 2、输入密码 3、输入取款金额 | 卡:银行卡 密码:正确密码 取款金额:1000 | 取款失败,提示故障! |
ATM_006 | 取款成功(取款业务) | ATM | P0 | 1、打开ATM验证工具 2、卡余额为10000 3、ATM余额为20000 | 1、插入卡 2、输入密码 3、输入取款金额 | 卡:银行卡 密码:正确密码 取款金额:1000 | 取款成功,打印凭证,退卡 |
6.5、错误推荐法
定义:通过经验推测系统可能出现的问题
思想:根据经验列举出可能出现问题的清单,根据清单分析问题可能原因,推测发现缺陷
应用场景:
所有的用例都测验完了之后,且bug修改完毕,即将上线时,这段时间可以使用错误推荐法
1、根据之前项目类似经验找出易出错的模块重点测试2、通过该方法列出之前出现问题较多的模块再次测试
时间紧任务量大怎么解决任务: 和产品沟通之后先测试主要的业务,把主要的业务覆盖,然后再去覆盖主要的模块,正向,逆向。