测试2:编写测试用例的方法
2.编写测试用例的方法
==7种==
测试常用的方法:code review +代码静态分析、CI/CD
CI--持续集成--开发成员经常集成它们的工作,尽快发现集成错误
CD--持续部署--将集成后的代码部署到更贴近真实运行的环境
2.1 测试用例的描述:
用例编号 用例标题 功能模块名称 前置条件 输入数据 操作步骤 预期结果
优先级 执行结果 编写人 执行人 其他补充项
2.2 测试用例设计方法
(1)基于需求:依据需求来写测试点
难点:读出需求之外的测试点(需求非常的了解)
需求学习方法:、
- 多学习、分析需求
- 测试经验
- 项目组人员多沟通
(2)等价类--分类
思想:解决无穷输入
目的:减少测试用例条目
概念:无穷输入进行N个归类,从第一个类中提取一个数据进行测试,只要这个数据测试通过,我们就任务它所在的这一类的数据全部测试通过
有效等价类:根据需求说明书,和需求一致,有意义的输入数据构成的集合
无效等价类:和需求不一致,不满足需求的集合
(3)边界值:--黑盒测试方法
测试用例来自等价类的边界,是等价类的一种补充方法,与它基本成对出现
场景:输入和输出
强调:输入和输出的“边界值”
取值:开区间和闭区间
开区间--向外取值,闭区间--向内取值
【1,50】---0,1,50,51
(1,50】--1,2,50,51
(4)因果图--条件和结果的关系--最后转为判定表
场景:输入(原因)和输出(结果)之间的关系
概念:输入(原因)和输出(结果)之间的关系,输出依赖输入(多个)因果图需要掌握的基本知识基础概念:
恒等、与、或、非
恒等
如果原因为真,那么结果必定为真。
与
只有两个原因都为真,那么结果为真
或
2个原因有一个为真时,结果为真
非
原因为假,结果才为真
因果图设计测试用例的步骤:
- 列出所有输入- 列出所有输出- 理出输入和输出之间的关系- 画因果图- 画判定表,列数是输出的输入次方- 从表里提出测试用例因果法设计测试用例可以帮助测试人员理清输入和输出的关系,但是对于比较复杂的输入和输出,会耗费大量时间
(5)正交排列法:--减少用例数目,对因果图的改进
原理:正交表,正交实验(抽样)
目的:减少测试用例的条数
两条性质:
任何一列中出现的数字个数一样
任何两列中有序对出现的次数一样
L=N(TC)--L:正交表
N:行数实验次数
T:水平数(变量的可取值个数)
C:因素数(变量的个数),列
N=C*(T-1)+1
步骤:
-变量提取出来-提出水平- 找出正交表(多个)-取值---映射到表中-表中每一行就是一条测试用例-特殊的测试数据表中没有的添加进来
(6)场景法:业务流程(一个业务流程不一定是一个场景)
业务流程:把孤立的功能点串起来
注册--登录--写邮件--发邮件
业务流程是场景法的典型用法
(7)错误推测法(猜测)
非凭空想象,是有来源的,三大来源:
- 对某项目测试时间长 - 用户反馈 - 从故障库中整理bug,梳理产品以往哪些地方容易出现问题
例如:输入框要求字符类型--字符型
输入非字符型:是等价类中的无效等价类,同时它也是错误推测法
2.3 测试用例的评审:
- 分为项目组评审- 用户评审:可以是最终用户也可以是程序员- 同行评审- 白盒:要查看代码
2.4黑盒测试设计测试用例方法包括:
等价类划分、边界值分析、因果图、场景法、正交实验设计法、判定表、驱动分析法、错误推测法、功能图分析法,依据是用户需求规格说明书、详细涉及说明书
2.5白盒测试设计测试用例方法包括:
语句覆盖、判断覆盖、条件覆盖、路径覆盖、条件组合覆盖,依据是代码结构和逻辑
六种覆盖标准发现错误的能力由弱到强的变化:
-语句覆盖,每条语句至少执行一次。-判断覆盖,每个判断的每个分支至少执行一次。-条件覆盖,每个判断的每个条件应取到的各种可能的值。-判断/条件覆盖,同时满足判断覆盖条件覆盖。-条件组合覆盖,每个判定中各条件的每一种组合至少出现一次。-路径覆盖,使程序中每一条可能的路径至少执行一次。