白盒测试及其用例的设计.pptx
上传人:王子****青蛙 上传时间:2024-09-10 格式:PPTX 页数:94 大小:1.1MB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

白盒测试及其用例的设计.pptx

白盒测试及其用例的设计.pptx

预览

免费试读已结束,剩余 84 页请下载文档后查看

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第3章白盒测试及其用例的设计3.1白盒测试方法白盒测试方法(续)白盒测试方法(续)白盒测试常用的测试用例设计方法3.2控制流图常见结构的控制流图转化程序流程图为控制流图3.3覆盖测试3.3.1测试覆盖率覆盖率概念3.3.2逻辑覆盖法逻辑覆盖法(续)逻辑覆盖法(续)逻辑覆盖法(续)逻辑覆盖法(续)语句覆盖判定覆盖判定覆盖(续)条件覆盖条件覆盖(续)条件覆盖(续)判定-条件覆盖判定-条件覆盖(续)组合覆盖组合覆盖(续)路径覆盖路径覆盖(续)逻辑覆盖小结3.3.3如何使用覆盖率课堂练习A=2,B=0,X=4(沿路径ace执行);A=3,B=0,X=3(acd);A=2,B=1,X=1(abe);判定-条件覆盖测试用例判定条件的8种组合:A>1,B=0记为T1,T2;A>1,B<>0记为T1,F2;A<=1,B=0记为F1,T2;A<=1,B<>0记为F1,F2;A=2,X>1记为T3,T4;A=2,X<=1记为T3,F4;A<>2,X>1记为F3,T4;A<>2,X<=1记为F3,F4;组合覆盖测试用例A=2,B=0,X=4(ace)A=1,B=1,X=1(abd)路径覆盖测试用例3.4数据流测试数据流测试关注变量定义赋值点(语句)和引用或使用这些值的点(语句)的结构性测试。用作路径测试的真实性检查。程序和程序的元素通过它们的数据访问行为关联起来,确定了数据流关系。数据流测试形式:定义/使用测试基于程序片的测试定义/使用路径和片的定义能够非常准确地描述要测试的程序部分该方法提供一种检查缺陷可能发生点的严格和系统化方法。假设程序图中的节点代表语句片段,且程序遵循结构化程序设计规则,不允许有从节点到自身的边。P——程序G(P)——P的程序图V——P的一组程序变量,v——P的变量PATHS(P)——P中所有路径集合v的定义节点n∈G(P):当且仅当v的值由对应节点n的语句片段处定义,DEF(v,n)v的使用节点n∈G(P):当且仅当v的值由对应节点n的语句片段处使用,USE(v,n)USE(v,n)是谓词使用(P-use,外度≥2):当且仅当语句n是谓词语句,否则是计算使用(C-use,外度≤1)。v的定义-使用路径(du-path):PATHS(P)中的路径,使对v∈V,存在DEF(v,m)和USE(v,n),m,n分别为路径的最初和最终节点v的定义-清除路径(dc-path):PATHS(P)中的具有最初DEF(v,m)和最终节点USE(v,n)的路径,该路径中没有其它节点是v的定义节点。注意:不是定义-清除的定义-使用路径,可能是出问题的地方。全定义准则:当且仅当T包含从所有v的每个定义节点到v的一个使用的定义清除路径全使用准则:当且仅当T包含从所有v的每个定义节点到v的所有使用,以及到所有USE(v,n)后续节点的定义清除路径全谓词使用/部分计算使用准则:当且仅当T包含从所有v的每个定义节点到v的所有谓词使用的定义清除路径,如果v的一个定义没有谓词使用,则定义清除路径导致至少一个计算使用全计算使用/部分谓词使用准则:当且仅当T包含从所有v的每个定义节点到v的所有计算使用的定义清除路径,如果v的一个定义没有计算使用,则定义清除路径导致至少一个谓词使用全定义-使用路径准则:当且仅当T包含从所有v的每个定义节点到v的所有使用,以及到所有USE(v,n)后续节点的定义清除路径,并且这些路径要么有一次环路经过,要么没有环路。定义/使用路径测试覆盖指标以上面5种情况为依据选择路径的集合,这些指标的关系如下:定义/使用路径测试覆盖指标关系程序片是确定或影响某个变量在程序某个点上的取值的一组程序语句;片测试可以消除变量之间的交互对测试的影响;片测试的原则是选择恰当,完整的片,对每个片进行测试。3.5程序分析技术1.程序插装程序插装的应用1)用于测试覆盖率度量的程序插装入口设计插装程序时需考虑的问题至少在哪些部位设置计数语句的建议2)用于测试用例的有效性度量的程序插装例3)用于断言检测的程序插装例3.程序变异(MutationAnalysis)程序变异思想考虑下面的C程序把x设成常量0,产生一个变体另一个变体把0换成1,产生一个变体变体操作的构造程序强变异测试变异测试的缺点是它需要大量的计算机资源来完成测试充分性分析。对于一个中等规模的软件,所需的存储空间也是巨大的,运行大量变异因子也导致了时间上巨大的开销。程序弱变异测试弱变异和强变异有很多相似之处。其主要差别在于:弱变异强调的是变动程序的组成部分,根据弱变异准则,只要事先确定导致C与C′产生不同值的测试数据组,则可将程序在此测试数据组上运行,而并不实际产生其变异因子。弱变异测试方