软件测试方法总结
黑盒测试方法
- 等价类划分法 :分为有效类和无效类,有效类即能够满足需求的输入,无效类真好相反。列如(要求输入1-100的数:那么有效类就是1-100的数,无效类就是除了1-100的数,如字母、特殊符号、汉字、空格等)
- 边界值分析法 :作为等价类的补充,例如输入1-100的数,那么边界值就主要测试1、2、50、99、100等数。
- 因果图法:用图解的方法表示输入的各种组合关系,写出判定表,从而设计相应的测试用例。简单说就是由原因推结果
例如 :有一个处理单价为1元5角钱的盒装饮料的自动售货机软件。若投入1元5角硬币,按下“可乐”、“雪碧”、“红茶”按钮,相应的饮料就送出来。若投入的是两元硬币,在送出饮料的同时退还5角硬币。
分析
原因:① 投入1元5角硬币; ② 投入2元硬币;
③ 按“可乐”按钮; ④ 按“雪碧”按钮; ⑤ 按“红茶”按钮。
中间状态:① 已投币; ② 已按钮。
结果:① 退还5角硬币; ② 送出“可乐”饮料
③ 送出“雪碧”饮料; ④ 送出“红茶”饮料。
- 场景法 :通过描述特定的场景来生成测试用例
- 正交实验设计法(有点小绕) :
正交表具有以下两个特点。正交表必须满足这两个特点,有一条不满足,就不是正交表。
1) 每列中不同数字出现的次数相等。这一特点表明每个因素的每个水平与其它因素的每个水平参与试验的几率是完全相同的,从而保证了在各个水平中最大限度地排除了其它因素水平的干扰,能有效地比较试验结果并找出最优的试验条件。
2) 在任意2列其横向组成的数字对中,每种数字对出现的次数相等。这个特点保证了试验点均匀地分散在因素与水平的完全组合之中,因此具有很强的代表性。
- 判定表驱动分析法 :判定表(Decision table)是另一种表达逻辑判断的工具。
- 错误推测法 :在测试程序时,人们可以根据经验或直觉推测程序中可能存在的各种错误,从而有针对性地编写检查这些错误的测试用例的方法。
- 功能图分析法:这个我也没太明白,到底是个啥
白盒测试方法
静态测试:不用运行程序的测试,包括代码检查、静态结构分析、代码质量度量、文档测试等等,它可以由人工进行,充分发挥人的逻辑思维优势,也可以借助软件工具(Fxcop)自动进行。
动态测试:需要执行代码,通过运行程序找到问题,包括功能确认与接口测试、覆盖率分析、性能分析、内存分析等。
白盒测试中的逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。六种覆盖标准发现错误的能力呈由弱到强的变化:
1.语句覆盖每条语句至少执行一次。
2.判定覆盖每个判定的每个分支至少执行一次。
3.条件覆盖每个判定的每个条件应取到各种可能的值。
4.判定/条件覆盖同时满足判定覆盖条件覆盖。
5.条件组合覆盖每个判定中各条件的每一种组合至少出现一次。
6.路径覆盖使程序中每一条可能的路径至少执行一次。
今天就先到这吧,有空再写。