郑州公司网站建设服务,微山建设局网站,免费域名注册登录,吉林做网站白盒测试之测试用例设计方法 什么是白盒测试白盒测试的特点白盒测试的设计方法静态设计方法动态设计方法语句覆盖分支(判定)覆盖条件覆盖判定条件覆盖组合覆盖路径覆盖总结 什么是白盒测试 
按照测试方法分类#xff0c;测试可以分为白盒测试和黑盒测试两种。 白盒测试也称结构… 白盒测试之测试用例设计方法 什么是白盒测试白盒测试的特点白盒测试的设计方法静态设计方法动态设计方法语句覆盖分支(判定)覆盖条件覆盖判定条件覆盖组合覆盖路径覆盖总结    什么是白盒测试 
按照测试方法分类测试可以分为白盒测试和黑盒测试两种。 白盒测试也称结构测试或逻辑驱动测试是把测试对象看作一个透明白色的盒子测试人员依据程序内部逻辑结构相关信息设计或选择测试用例对程序所有逻辑路径进行测试。 所以白盒测试是一种基于代码的测试测试者必须检查程序的内部结构从检查程序的逻辑着手得出测试数据。 白盒测试一般是开发做单元测试用但是也有是测试自己做的那么对测试能力要求比较高 
白盒测试的特点 
测试人员需要了解软件的实现 可以检测代码中的每条分支和路径 揭示隐藏在代码中的错误 对代码的测试比较彻底 实现代码结构上的优化 白盒测试投入较大成本高 白盒测试不验证规格的正确性。 
白盒测试的设计方法 
静态设计方法 
桌面检查 代码审查 代码走查 代码扫描工具 
动态设计方法 
逻辑覆盖法 基本路径测试法 
if A and Bthen action1
if C or Dthen action2语句覆盖 
顾名思义就是针对代码语句。我们设计出来的测试用例要保证程序中的每一个语句至少被执行一次 上例中设计一条测试用例即可: Atrue Btrue Ctrue 通常语句覆盖被认为是“最弱的覆盖”因为它仅仅考虑对代码中的执行语句进行覆盖而没有考虑各种条件和分支比较难以发现代码中的问题。 
分支(判定)覆盖 
程序中每个判断的真和假至少经历一次即判断的真假均被满足 判定是指A and B C or D 条件是指 A B C D A and B 为true
A and B 为false
C or D  为true
C or D  为false上例中两条测试用例即可 testcase1: AtrueBtrueC trueDfalse testcase2: AtrueBfalseC falseDfalse 
条件覆盖 
条件覆盖要求所设计的测试用例能使每个判定的每一个条件都获得可能的取值即每个条件至少有一次真值和假值。不考虑组合情况 第一个判断应考虑到AtrueAfalseBtrueBfalse 第二个判断应考虑到CtrueCfalseDtrueDfalse 所以上例中可以设计测试用例满足下列条件两条用例 testcase1AtrueBtrue, CtrueDtrue testcase2Afalse Bfalse, C falseDfalse 
判定条件覆盖 
23 设计的测试用例使得判断中每个条件所有的可能取值至少执行一次条件覆盖同时每个判断本身所有的结果也要至少执行一次判定覆盖。不难发现判定条件覆兰同时满足判定覆盖和条件覆盖弥补了两者各自的不足但是判定条件覆盖并未考虑条件的组合情况。 条件覆盖AtrueAfalseBtrueBfalse C trueC falseDtrue Dfalse 判定覆盖:A and B True A and B False C or D True C or D False 所以满足条件覆盖和判断覆盖我们可以设计两条用例 TestCase1: Atrue BtrueCtrueDtrue(条件都为TrueAand BTrueCor D True) TestCase2: Afalse,Bfalse, Cfalse Dfalse (条件为FalseA and BFalse, C or D False) 
组合覆盖 
也叫条件组合覆盖我们设计的测试用例应该使得每个判定中的各个条件的各种可能组台都至少出现一次。显然满足条件组合覆盖的测试用例一定是满足判定覆盖、条件覆盖和判定条件覆盖的。 针对这个案例做条件组合覆盖时我们可以设计如下用例 TestCase1: ATrue, BTrueCTrue,DTrue TestCase2: ATrue, BFalse, CTrue,DFalse TestCase3: AFalse, BTrueCFalse,DTrue TestCase4: AFalse, BFalseCFalse,DFalse 
路径覆盖 
要求覆盖程序中所有可能的路径。意思是说我们设计的测试用例可以覆盖程序中所有可能的执行路径可以对程序进行彻底的测试用例覆盖但是用例数量会增多很多所以路径覆盖是最彻底的测试用例覆盖但实际上可操作性不强。 所以可以设计测试用例满足下列条件: 
AtrueBtrueCtrueDtrueAfalseBfalseC  falseDfalseAtrueBtrueCfalseDfalseAfalseBfalseC trueDtrueAtrueBtrueCfalseDfalse … 
总结 
以上简单描述了几种不用的白盒测试方法的原则和优劣。在实际的操作中要正确使用白盒测试的代码覆盖方法就要从代码分析和代码调研入手根据调研的结果可以选择上述方法中的某一种或者好几种方法的结合设计出高效的测试用例尽可能全面地覆盖到代码中的每一个逻辑路径只有适当的测试方法才能帮助我们从代码的角度对产品做到最好的测试。 白盒测试的优势 1、优点 迫使测试人员去仔细思考软件的实现 帮助软件测试人员增大代码的覆盖率提高代码的质量发现代码中隐藏的问题 2、缺点 昂贵系统庞大时测试开销会非常大测试人员要求比较高人才昂贵 测试基于代码只能测试开发人员做的对不对而不能知道设计是否正确可能会漏掉一些功能需求