白盒测试
是基于系统的内部实现,覆盖更多的代码的一种测试用例设计手段
优点:代码覆盖率高
缺点:覆盖所有路径难度大,业务功能可能覆盖不全,测试开销大
静态白盒测试
桌面检查
即开发人员互相交叉检查代码
代码审查
会议上代码作者讲解代码逻辑,规范
代码走查
会议上测试人员用测试数据来人工进行测试
代码审查工具
定义编码规范的一些规则,用工具来扫描代码,看是否符合代码规范和规则,但是不能替代之前的三项静态方式,对于功能实现,结构合理性,还是需要之前方式
动态白盒测试
逻辑覆盖法
对程序逻辑结构的遍历实现程序的覆盖,将程序代码转换为程序流程图,标识语句块,判定条件,路径分支
语句覆盖法
特征:
设计测试用例,使得程序中每条语句至少被执行一次,覆盖率要达成百分之百。
六种覆盖标准中。语句覆盖标准是最弱的
缺点(局限性):
语句覆盖不能准确判断运算中逻辑关系错误
判定覆盖法
特征:
设计测试用例满足判定语句百分百覆盖,即满足每个判定取真值或者去假值
(只要满足判定覆盖那么一定满足语句百分百覆盖)
缺点(局限性):
判定覆盖会忽略条件中取或(or)的情况
条件覆盖法
特征:
设计测试用例,使得判定中每个条件至少有一次取真值,有一次取假值
缺点(局限性):
条件覆盖百分之百,不一定满足判定覆盖已经百分之百了
判定条件覆盖法
设计测试用例,保证同时满足百分之百判定覆盖,每个条件百分之百覆盖
即=判定覆盖+条件覆盖
缺点(局限性):
判定条件覆盖会忽略或(or)判定。
条件组合覆盖法
特征:
设计测试用例,使得被测程序中的每个判定条件结果的所有可能组合至少执行一次
条件组合覆盖能够满足判定覆盖,条件覆盖,判定条件覆盖,也就包括语句覆盖。
缺点(局限性):
不一定能够满足所有的路径覆盖
路径覆盖法
特征
设计测试用例,覆盖到程序从程序开始到结束的所有不同路径。
缺点(局限性)
当真是工作中,路径覆盖基本上是不可能完成的(太复杂了)
基本路径测试法:
将程序流程图转换为控制流图
j计算程序的环路复杂度
3.导出可执行的路径
4.设计测试用例(数据)
静态白盒测试
先挖个坑(后面再写)