欢迎来到天天文库
浏览记录
ID:65476220
大小:1.17 MB
页数:64页
时间:2022-01-09
《白盒测试方法》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、——结构测试或逻辑驱动测试基于被测程序的源代码,而不是软件的规格说明。第4章白盒测试方法白盒测试的基本概念1逻辑覆盖2基于路径的测试3其它测试类型4主要内容白盒测试的基本概念什么是白盒测试把程序看成装在一个透明的白盒子里,程序的结构和处理过程完全可见,按照程序的内部逻辑测试程序,以检查程序中的每条通路是否都能按照预先要求正确工作。白盒测试要求对被测程序的结构特性做到一定程度的覆盖,并以软件中的某类成分是否都已经得到测试为准则来判断软件测试的充分性,也称为基于覆盖的测试技术。白盒测试白盒测试要求测试
2、人员对程序的结构和处理过程有完全的了解,一般由开发工程师负责实施。白盒测试主要对程序模块进行以下检查:对程序模块的所有独立的执行路径至少要测试一次。对所有的逻辑判定,取真或假的两种情况至少要测试一次。对程序进行边界检查(常见的如数据越界检验),所有循环检查。检验内部数据结构的有效性。白盒测试的常用方法逻辑测试路径测试程序结构分析其它方法白盒测试常用的方法静态测试代码检查法静态结构分析法动态测试逻辑测试语句覆盖判定覆盖条件覆盖判定-条件覆盖条件组合路径测试1概述(3/7)其它方法数据流测试循环测试域
3、测试Z路径测试…二个基本概念控制流图圈复杂度1概述(4/7)控制流图(程序图)是流程图的一种简化(由节点和控制边组成),一个软件程序的结构可以用控制流图来描述,程序的运行过程也可以用控制流图中的路径来刻画。示例:节点边区域复合条件分解为多个单个条件!圈复杂度(环形复杂度)程序结构复杂性的度量方法圈复杂度:从程序的环路复杂性可导出程序基本路径集合中的独立路径条数(确保所有语句至少执行一次)独立路径必须包含一条在定义之前不曾用到的边圈(环形)复杂度有三种计算方法:V(G)=E-N+2,e是程序控制流图
4、中边的数量,n是程序控制流图中结点的数量V(G)=程序中的环域数V(G)=P+1,P是流图G中判定结点的数量白黑测试动态测试方法逻辑覆盖法路径覆盖法基本路径覆盖法逻辑覆盖是以程序的内部逻辑结构为基础的测试用例设计技术,属于白盒测试。它要求测试人员十分清楚程序的逻辑结构,考虑的是测试用例对程序内部逻辑覆盖的程度。逻辑覆盖语句覆盖判定覆盖条件覆盖判定/条件覆盖条件组合覆盖1语句覆盖设计足够的测试用例,使得程序中的每个语句至少执行一次。1语句覆盖入口A>1ANDB=0TA=2ORX>1TX=X/AX=X
5、+1返回FFABX用例1204用例2?第一个判断中的逻辑运算符“AND”若错写成了“OR”,能否测试出来?2判定覆盖设计足够的测试用例,使得在语句覆盖的基础上,程序中每个判定的取“真”分支和取“假”分支至少都执行一次,判定覆盖又称分支覆盖。2判定覆盖(分支覆盖)入口A>1ANDB=0TA=2ORX>1TX=X/AX=X+1返回FFABX用例1204用例2111?判定覆盖比语句覆盖强,但是仍不能保证判断条件的正确性。例如:第二个判断条件中的x>1若错写成了x<1,能否测试出来?3条件覆盖设计足够的测
6、试用例,在语句覆盖的基础上使得程序判定中的每个条件能获得各种可能的结果。3条件覆盖入口A>1ANDB=0TA=2ORX>1TX=X/AX=X+1返回FFABX用例1204用例2111ABX用例1103用例2211?是否满足判定覆盖?4判定/条件覆盖设计足够的测试用例,使得判定中的每个条件都取到各种可能的值,而且每个判定表达式也都取到各种可能的结果。4判定/条件覆盖判定/条件覆盖仍有缺陷。从表面上看,它测试了所有条件的所有可能结果,但事实上并不是这样。因为某些条件掩盖了另一些条件。例如,在逻辑表达式
7、中,如果“与”表达式中某一条件为“假”,则整个表达式的值为“假”,这个表达式中另外的几个条件就不起作用了。同样地,如果在“或”表达式中,某一条件为“真”,则整个表达式的值为“真”,其它条件也就不起作用了。因此,采用判定/条件覆盖时,逻辑表达式中的错误不一定能测试出来。入口A>1ANDB=0TA=2ORX>1TX=X/AX=X+1返回FFABX用例1204用例21115条件组合覆盖设计足够的测试用例,使得每个判定中的条件的各种可能组合都至少出现一次。5条件组合覆盖可能的条件组合:(1)A>1,B=0
8、(2)A>1,B≠0(3)A≤1,B=0(4)A≤1,B≠0(5)A=2,x>1(6)A=2,x≤1(7)A≠2,x>1(8)A≠2,x≤1相应的输入数据:A=2,B=0,x=4满足(1)和(5)A=2,B=1,x=1满足(2)和(6)A=1,B=0,x=2满足(3)和(7)A=1,B=1,x=1满足(4)和(8)显然,满足条件组合覆盖的测试数据,也一定满足判定覆盖、条件覆盖和判定/条件覆盖标准。TESTCASES:A=2,B=0,x=4A=2,B=1,x=1A=1,B=0,x=2
此文档下载收益归作者所有