等价类划分法
把程序的输入域划分为若干子集,在从子集中选取少量代表性数据
最典型的黑盒测试方法,完全不考虑程序的内部结构,而只是根据程序的要求和说明进行测试用例的设计
HOW
测试人员对需求规格说明书的各项要求尤其是功能需求进行细致分析,将程序的输入域划分为若干部分,从每个部分选取少数代表作为测试用例
划分等价类(依据是需求)——建立等价类表(有效和无效)——设计测试用例
分类:
有效数据等价类:由那些对程序的规格说明有意义,合理的输入数据所构成的集合
无效数据等价类:对程序的规格说明不合理的或者无意义的输入
边界值法
等价类的补充,对输入和输出的边界值进行测试的一种黑盒测试方法
优点:测试是比较充分的
缺点:效果换效率,用例多,细分程度取决于进度和人力
使用范围:把输入条件划分为多个子条件,子条件之间相互独立,无制约关系
判定表法
分析和表达多逻辑挑条件下执行不同操作的情况和工具
条件桩:列出了问题的所有条件
动作桩:列出了问题规定可能采取的操作
条件项:列出针对它所列条件的取值,在所有可能情况下的真假值
动作项:列出在条件项的各种取值情况下应该采取的动作
规则:任何一个条件组合的特定取值及其相应要执行的操作
注:判定表中贯穿条件项和动作项的一列就是一条规则
因果图法
从需求中找出因(输入条件)和果(输出或程序状态的改变),通过因果图转化成判定表
输入条件之间的关系
输入和输出之间的关系
局限性:测试用例数目多,不便于维护
常用符号
CI:原因
EI:结果
恒等:原因结果同时出现
非~:原因结果有一个不出现(原因出现,结果不出现或者原因不出现,结果出现)
或v:只要满足一个原因,结果就出现(原因都不出现,结果才不出现)
且^:原因都需要满足,结果才出现
约束条件
输入考虑
E(互斥):表示ab不会同时成立,最多只有一个(可能两个都不成立)
I(包含):abc中至少有一个必须成立
O(唯一):abc中必须有且仅有一个
R(要求):ab同时出现
输出考虑
M(强制或屏蔽):a是1时,b必须是0;a是0时,b不定
状态迁移法
基于产品规格分析的黑盒测试技术,对系统的每个状态及与状态相关的函数进行测试,通过不同的状态验证程序的逻辑流程
正交试验法
又称组合试验法,为了有效减少测试工时和费用
依据伽罗瓦理论,从大量测试数据(测试用例)中挑选适量的,有代表性的点(测试用例),合理安排测试的科学实验设计方法
如何选择正交表(原则):
考虑因素(变量)个数
考虑因素水平(变量的取值)的个数
考虑正交表的行数
取行数最少的一个
测试用例个数:n=因子数*(状态数-1)+1
因素水平越多,试验的精简程度会越高
正交表的一个特点就是每个水平在整个实验中出现的次数是相同的
场景法
图中经过用例的每条路径都用基本流和备选流表示,黑直线表示基本流,是经过用例的最简单的路径
步骤:
根据说明,描述程序的基本流和各项备选流
根据基本流和各项备选流生成不同场景
对每个场景生成相应测试用例
重申每个用例,去掉多余的,确定以后再确定数据值
其他测试:
软件测试有两个基本方法:通过测试和失败测试
通过测试:主要用于验证和它需求是否一致,确定软件至少能做什么,一般通过分析需求说明书设计测试用例。为了确定程序是否满足目标,就必须执行通过测试。
失败测试:确信在正常情况下可以运行后,可以采取各种手段找出缺陷。纯粹为了破坏,用于证明“一个系统不做不需要它做的事情”。考察程序超出需求规格说明的严格范围的行为,蓄意攻击软件的薄弱环节。
错误猜测:也叫错误推测,本身不是一种测试技术,是一种可以运用到所有测试技术中产生更加有效的一种测试技能(基于经验和直觉推测程序中所有可能)
随机测试:测试中所有输入数据都是随机生成的,目标是模拟用户操作