【软考软件评测师】第十四章 白盒测试基础
第十四章 白盒测试基础
第一部分 知识点集锦
1.控制流图环路复杂性
控制流程图的环路复杂性 V(G)等于:
(1)控制流程图中的区域个数。
(2)边数-结点数+2。
(3)判定数+1。
V(g)值的含义:表示实现基本路径覆盖测试用例的最大数量。
2.多条件覆盖/条件组合覆盖
多条件覆盖(MCC)/条件组合覆盖:设计足够的测试用例,使得使得每个判定中条件的各种可能组合都至少出现一次。
3.白盒测试的概念
白盒测试也称结构测试或逻辑驱动测试,它是知道产品内部工作过程,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不考虑其功能,白盒测试的主要方法有静态结构分析法、逻辑覆盖法、基本路径测试法等。
白盒测试完全基于代码,能发现代码路径中的错误、程序中的死循环以及逻辑错误。白盒测试不关心功能需求,因此无法确定功能正确与否
白盒测试完全基于代码,不了解设计的意图,因此无法确定设计的正确与否。
4.白盒测试主要方法
白盒测试的主要方法有静态结构分析法、逻辑覆盖法、基本路径测试法等。
白盒测试按照程序内部逻辑测试程序,检验程序中每条通路是否按预定要求正确工作。典型的白盒测试方法包括:静态测试、动态测试。其中静态测试包括:代码检查法、静态结构分析法、静态质量度量法 。
1)语句覆盖
语句覆盖针对的是语句,是最弱的覆盖准则;判定覆盖和条件覆盖分别针对的是判定和条件,强度次之
2)条件覆盖法
条件覆盖是一种逻辑覆盖测试法,它的含义是:构造一组测试用例,使得每一判定语句中每个逻辑条件的可能值至少满足一次。程序中条件数目是固定的,因此是可以实现100%条件覆盖的。
判定覆盖和条件覆盖之间没有谁强谁弱的关系,满足条件覆盖不一定满足判定覆盖。
3)判定覆盖
判定覆盖要使得程序中的每一个分支都至少执行一次,而逻辑表达式的结果只有真与假
4)判定条件覆盖
判定条件覆盖要同时考虑判定和判定中的条件,满足判定条件覆盖同时满足了判定覆盖和条件覆盖;
5)条件组合覆盖
条件组合覆盖则要考虑同一判定中各条件之间的组合关系,是最强的覆盖准则。 根据上述描述,覆盖准则最强的是条件组合覆盖。
第二部分 综合知识历年真题
2020下综合知识历年真题(2分)
【2020年评测真题第54题:绿色】
54.一个程序的控制流图中有8个节点,12条边,在测试用例数最少的情况,确保程序中每个可执行语句至少执行一次所需要的测试用例数的上限是( ) 。
A.4
B.5
C.6
D.7
解答:答案选择C。
【2020年评测真题第55题:绿色】
55.对于逻辑表达式(*string == p&& *string !=‘-’),需要( )个测试用例才能完成条件组合覆盖。
A.2