白盒测试设计方法
逻辑覆盖法
逻辑覆盖可分为:
1、语句覆盖:选取足够的测试用例来覆盖每一个语句,无法发现条件逻辑错误。
2、判定覆盖:每一个真假分支至少执行一次。if(A)…if(B)…
A=true B=false
A=false B=true3、条件覆盖:判定中每个条件的所有可能结果至少出现一次,但未必能覆盖全部分支。
int a,b;
if(a || b)
执行语句1
else
执行语句2要达到这段程序的条件覆盖,我们采用测试用例:
1)a = true , b = false ;
2)a = false, b = true
4、条件/判定覆盖:每个条件的所有可能结果至少出现一次,并且每个判定的所有可能的结果至少出现一次。
5、条件组合覆盖:选择足够的测试用例,使得每个判定中条件的各种可能组合都至少出现一次。
6、路径覆盖:每条路径都要覆盖一遍
基本路径覆盖测试法
1.画出程序控制流图
2.程序圈复杂度:McCabe复杂性度量。从程序的环路复杂性可导出程序基本路径集合中的独立路径条数,这是确定程序中每个可执行语句至少执行一次所必须的测试用例数目的上界。公式为 n=条件节点+1
3.导出测试用例:根据圈复杂度和程序结构设计用例数据输入和预期结果。
4.准备测试用例:确保基本路径集中的每一条路径的执行。
域测试
主要测试以下错误:
计算错误:路径正确,但是赋值语句错误导致结果计算错误。
路径丢失错误:少了判断语句或条件语句导致的错误。
域错误:赋值正确但是运行了错误的路径导致的错误。
接口测试设计方法
测试优先级(所有接口):系统对外的接口,系统内部的核心接口,系统内部的非核心接口。
测试优先级(单个接口):正向用例优先测试,逆向用例次之。正向测试:验证被测对象是不是做了它该做的事情。
逆向测试:验证被测对象有没有做它不该做的事情。是否拥有前置条件>是否携带默认值参数>参数是否必填>参数之间是否存在关联>参数数据类型限制 >参数自身数>据范围限制