1.软件的质量模型
- 定义: 软件质量,就是软件与明确的和隐含的需求保持一致的程度
- ISO/IEC 9126软件质量模型(1993年)
- 软件的质量分类
- 软件质量模型
| 功能性 | 检查业务功能是否满足需求 |
|---|---|
| 可靠性 | 容错能力(恢复时间,恢复能力) |
| 易用性 | 看得懂,会使用 |
| 效率性 | 性能(响应时间,消耗的资源(pu、内存)) |
| 维护性 | 为后续功能开发和维护提供便利 |
| 移植性 | 软件需要在不同软件环境下和硬件环境下都能正常工作 |
| 信息安全性 | 信息在传输过程或存储过程中的安全程度 |
2软件的测试用例
2.1软件测试用例的概念
一个为了特定目的(检验开发的代码实现是否满足用户需求)而设计的文档,文档的形式可以是Excel、Xmind等
Test case(测试用例)
2.2 模板
- ID:
唯一性 - 模块:
测试用所属的模块 - 优先级:
- 作用:
体现了测试用例执行先后顺序 - 分类:
高,中,低- p0:
一般保证软件中最重要,最主要的功能,保证最基本流程能正常运行而设计的 - p1:
次要功能和小功能 - p2:
UI、边界和错误设置 - p3:
错误信息较为复杂的场景和不常用的场景
- p0:
- 作用:
- 用例标题:
唯一性
见名知意 - 预置条件:
前提条件 - 测试步骤:
- 要求:
尽可能详细
- 要求:
- 测试数据:
根据要求填写 - 预期结果:
根据数据、步骤的预期结果 - 测试结果:
| pass | 通过 |
|---|---|
| fail | 失败 |
| block | 由于存在bug不能继续执行填写 |
| Na | 由于环境资源缺失导致不能执行 |
- 测试版本号:
当前测试任务所用的软件版本号 - 测试人员
- 备注:
fail的用例问题和应对bugID填写
block、Na需要在备注中填写原因
2.3 测试用例的作用
- 便于理清测试思路,确保需要覆盖测试的功能点不缺失
- 便于估计测试工作量
- 便于提前准备测试数据
- 便于把控测试得工作进度
- 便于回归测试
- 便于测试工作的组织,提高测试效率,降低测试的交接成本
3.等价类划分
需求分析、划分等价类、有效数据、无效数据
3.1 QQ账号-案例
QQ账号:6-10位自然数
3.2 等价类划分法
- 定义 在所有测试数据中,找到具有某种共同特征得数据子集
3.3 分类
- 有效等价类:
满足条件得数据子集 - 无效等价类:
不满足条件的数据子集
3.4 设计测试用例步骤
- 需求分析
- 划分等价类:
- 有效等价类
- 无效等价类:
规则、长度、类型是否为空值、是否重复
3.5等价类划分法使用场景
具有典型得输入框得业务场景(例如:邮箱注册、用户注册)
4.边界值分析法(重要)
是等价类划分法的补充
4.1边界范围的确定
选取正好等于或正好大于、或者刚好小于边界值的数据作为
测试数据
4.2 上点、内点、离点
-
上点:
边界上的点 -
内点:
区间范围内的点 -
离点:
距离上的点距离最近的点,刚好大于、正好小于
4.3边界值设计用例得步骤
1.明确需求
2.确定有效类和无效类
3.确定边界值范围 :上点、内点、离点
4.提取数据编写测试用例
4.4.7位-->5位
- 内点:
必选,尽量选择中见范围 - 上点:
必选 - 离点:
根据开闭情况进行选择
4.4.8适合场景
存在边界(例如:9-20位、至少有10位、大于等于、小于等于、等于)
5.判定表(重要)
5.1 判定表得定义
一种以表格形式表达得多条件逻辑判断工具
存在多个输入条件、多个输出结果,输入和输出之间存在组合关系
输入条件和输出条件之间存在依赖关系
5.2组成部分
5.2.1概念
| 条件桩 | 列出当前问题中所有的条件,次序没有影响 | 例如:电量状态,绿码状态 |
|---|---|---|
| 动态桩 | 列出当前问题中所有可能性操作,没有次序影响 | 例如:进地铁,不进地铁 |
| 条件项 | 列出条件对应的取值,所有可能性的真假值 | 就是有效等价类、无效等价类 |
| 动作项 | 列出条件项的各种取值情况下对应采取的动作结果 | 基于各个条件得组合,得到确定的结果 |
5.2.2条件项表达形式
- 字符表达式
有效等价类:真值/Y
无效等价类:假值/N - 数字表达式:
有效等价类:真值/1
无效等价类:假值/0
5.3 设计测试用例得步骤
1.明确所有条件桩(找到所有的输入条件)
2.明确动作桩(找到所有输出结果)
3.对所有的条件桩进行组合
4.明确每一个组合对应的动作桩
5.设计测试用例,每一条数据对应一个测试用例
5.4使用场景
多条件组合
6.因果图
6.1 展示图
6.2 基本符号
- 与或非关系 | v |或 |只要一个条件成立就可以| | --- | --- | --- | |^ | 与|多个条件同时成立| |~|非|条件成立则结果不成立,条件不成立则结果成立| |-|恒成立|条件成立,结果成立|
- 实例分析
产品说明书:有一个处理单价为1元5角钱的盒装饮料的自动售货机软件。若投入1元5角硬币,按下“可乐”、“雪碧”、或“红茶”按钮,相应的饮料就送出来。若投入的是2元硬币,在送出饮料的同时退还5角硬币。
(1)确定需求中的原因与结果
(2)确定原因与结果的逻辑关系
C1 与 C2 需要一个中间结果Cm1, C3、C4、C5 需要一个中间结果Cm2.
(3)确定因果图中的约束
C1 与 C2 是或的关系, C3、C4、C5 是或的关系。
(4)画出因果图并转化为决策表
决策表
将原因C1、C2、C3、C4、C5按二进制由小到大分别取值,并分析中间结果的成立与否,进而得出下面的简化版(即中间结果Cm1、Cm2成立的情况)
- 简化版
(5)根据决策表设计测试用例
6.3步骤
- 需求分析
- 画出因果图
- 将因果图转化成判定表
- 生成对应测试用例
7.正交法
7.1定义
用最小的测试用例获得最大得测试覆盖率
- 基本定义:
因素:条件桩,输入的参数条件,电量、绿码
水平:输入参数的取值充足,无就是电量得水平 - 使用步骤
- 需求分析
- 确定因素水平
- 确定正交表
- 根据正交表进行测试用例得书写,一条数据就是一条测试用例
正交试验法是研究多因素、多水平的一种试验法,它是利用正交表来对试验进行设计,通过少数的试验替代全面试验
在一项试验中,把影响试验结果的量称为试验因素(因子) ,简称因素。因素可以理 解为试验过程中的自变量,试验结果可以看成因素的函数。在试验过程中,每一个因素可以处于不同的状态或状况,把因素所处的状态或状况,称为因素的水平,简称水平。
- 举个例子
某所大学通信系共2个班级,刚考完某一门课程,想通过“性别”、“班级”和“成绩”这三个查询条件对通信系这门课程的成绩分布,男女比例或班级比例进行人员查询:\
根据“性别”=“男,女”进行查询
根据“班级”=“1班,2班”查询
根据“成绩”=“及格,不及格”查询
按照传统设计——全部测试
分析上述测试需求,有3个被测元素,被测元素我们称为因素,每个因素有两个取值,我们称之为水平值(也就是2)。
如果是普通的全面测试,则如下(2^3=8次)\
若采用正交测试
利用正交表设计测试用例,我们得到的测试用例个数是n=3*(2-1)+1=4(这个公司就是 (因素数(最大水平数-1)+1)* ),对于三因素两水平的刚好有L4(2^3)的正交表可以套用
于是用正交表试验法得出4个测试用例如下(正交测试表的类型一般都会给出来)
8.场景法
画流程图
8.1 定义
场景法:就是流程图法,使用流程图来描述用户得使用场景,通过流程图得路径来设计测试用例
8.2 案例点外卖
8.3 使用测试阶段
- 集成测试
- 系统测试
- 验收测试
8.4 使用步骤
- 需求分析
- 绘制流程图
- 根据流程图的每一条路径设计测试用例
9.错误推测法
9.1 定义
根据经验和只会进行分析,推测出程序中可能出现得错误
9.2 使用场景
- 同类型产品
- 任务紧
10 测试用例方法总结
- 具有输入功能,但是功能之间没有组合关系 等价类
- 输入具有边界,比如长度 边界值
- 多输入,多输出,输入和输出之间具有组合关系,判定表、因果图
- 用最小的测试用例覆盖率最高时 用正交表
- 多个功能之间的组合测试 用场景法
- 错误推测法做进一步得补充