白盒测试教程

总共贴了39节,后续还有很长,共122节,文章名为‘白盒测试教程’

 

1、白盒测试概念

2、测试覆盖标准

3、逻辑驱动测试

4、基本路径测试

 

白盒测试概念

1、白盒测试也称结构测试或逻辑驱动测试,是一种测试用例设计方法,它从程序的控制结构导出测试用例。(测试用例由测试输入数据以及与之对应的输出结果组成。  测试用例设计的好坏直接决定了测试的效果和结果。所以说在软件测试活动中最关键的步骤就是设计有效的测试用例。)

2、白盒测试使用被测单元内部如何工作的信息,允许测试人员对程序内部逻辑结构及有关信息来设计和选择测试用例,对程序的逻辑路径进行测试。基于一个应用代码的内部逻辑知识,测试是基于覆盖全部代码、分支、路径、条件。

 

白盒测试的主要目的:

1、保证一个模块中的所有独立路径至少被执行一次;

2、对所有的逻辑值均需要测试真、假两个分支;

3、在上下边界及可操作范围内运行所有循环;

4、检查内部数据结构以确保其有效性。

 

测试覆盖标准

1、白盒法特点:以程序的内部逻辑为基础设计测试用例,所以又称为逻辑覆盖法。应用白盒法时,手头必须有程序的规格说明以及程序清单。

  白盒法考虑的是测试用例对程序内部逻辑的覆盖程度。最彻底的白盒法是覆盖程序中的每一条路径,但是由于程序中一般含有循环,所以路径的数目极大,要执行每一条路径是不可能的,只能希望覆盖的程度尽可能高些。

 

测试覆盖标准

092952_HRx6_3563297.png

 

测试覆盖标准

1、上页小程序的流程图,其中包括了一个执行达20次的循环。那么它所包含的不同执行路径数高达520(=1013)条,若要对它进行穷举测试,覆盖所有的路径。假使测试程序对每一条路径进行测试需要1毫秒,同样假定一天工作24小时,一年工作365 天, 那么要想把如图所示的小程序的所有路径测试完,则需要3170年。

 

测试覆盖标准

一、为了衡量测试的覆盖程度,需要建立一些标准,目前常用的一些覆盖标准从低到高分别是:

1、语句覆盖:是一个比较弱的测试标准,它的含义是:选择足够的测试用例,使得程序中每个语句至少都能被执行一次。

它是最弱的逻辑覆盖,效果有限,必须与其它方法交互使用。

2、判定覆盖(也称为分支覆盖):执行足够的测试用例,使得程序中的每一个分支至少都通过一次。

判定覆盖只比语句覆盖稍强一些,但实际效果表明,只是判定覆盖,还不能保证一定能查出在判断的条件中存在的错误。因此,还需要更强的逻辑覆盖准则去检验判断内部条件。

3、条件覆盖:执行足够的测试用例,使程序中每个判断的每个条件的每个可能取值至少执行一次;

条件覆盖深入到判定中的每个条件,但可能不能满足判定覆盖的要求。

 

测试覆盖标准

1、判定/条件覆盖:执行足够的测试用例,使得判定中每个条件取到各种可能的值,并使每个判定取到各种可能的结果。

 

判定/条件覆盖有缺陷。从表面上来看,它测试了所有条件的取值。但是事实并非如此。往往某些条件掩盖了另一些条件。会遗漏某些条件取值错误的情况。为彻底地检查所有条件的取值,需要将判定语句中给出的复合条件表达式进行分解,形成由多个基本判定嵌套的流程图。这样就可以有效地检查所有的条件是否正确了。

2、条件组合覆盖:执行足够的例子,使得每个判定中条件的各种可能组合都至少出现一次。

这是一种相当强的覆盖准则,可以有效地检查各种可能的条件取值的组合是否正确。它不但可覆盖所有条件的可能取值的组合,还可覆盖所有判断的可取分支,但可能有的路径会遗漏掉。测试还不完全。

 

白盒测试的主要方法:

一、逻辑驱动测试

1、语句覆盖:语句覆盖就是设计若干个测试用例,运行被测试程序,使得每一条可执行语句至少执行一次;

2、判定覆盖(也称为分支覆盖):设计若干个测试用例,运行所测程序,使程序中每个判断的取真分支和取假分支至少执行一次;

3、条件覆盖:设计足够多的测试用例,运行所测程序,使程序中每个判断的每个条件的每个可能取值至少执行一次;

4、判定/条件覆盖:设计足够多的测试用例,运行所测程序,使程序中每个判断的每个条件的所有可能取值至少执行一次,并且每个可能的判断结果也至少执行一次,换句话说,即是要求各个判断的所有可能的条件取值组合至少执行一次;

5、条件组合覆盖:设计足够多的测试用例,运行所测程序,使程序中每个判断的所有可能的条件取值组合至少执行一次;

二、基本路径测试

设计足够多的测试用例,运行所测程序,要覆盖程序中所有可能的路径。这是最强的覆盖准则。但在路径数目很大时,真正做到完全覆盖是很困难的,必须把覆盖路径数目压缩到一定限度。

 

语句覆盖

o语句覆盖”是一个比较弱的测试标准,它的含义是:选择足够的测试用例,使得程序中每个语句至少都能被执行一次。

n如,例1:

PROCEDURE  M(VAR A,B,X:REAL);  

BEGIN

IF (A>1) AND (B=0)  THEN X:=X/A;

IF (A=2) OR (X>1)   THEN X:=X+1;

END.

 

093728_bGnu_3563297.png

093839_8uab_3563297.png

 

093908_eUQh_3563297.png

 

093936_ZX0n_3563297.png

 

 

094006_zuDJ_3563297.png

 

094054_IHcI_3563297.png

 

094121_d7yX_3563297.png

 

094146_yoBm_3563297.png

 

094217_vHGA_3563297.png

 

094241_Tmzk_3563297.png

 

094313_oh0v_3563297.png

 

094335_NGH7_3563297.png

 

094412_u7Ih_3563297.png

 

094434_2QVA_3563297.png

 

 

094454_djPc_3563297.png

 

094538_6R3R_3563297.png

 

094556_sWHQ_3563297.png

 

094616_fnQ7_3563297.png

 

094703_0FLt_3563297.png

 

 

094727_7TNl_3563297.png

 

094749_3r8Z_3563297.png

 

094814_I9kC_3563297.png

 

094831_XqVq_3563297.png

 

094902_qiAe_3563297.png

 

094918_CZFT_3563297.png

 

094939_rDUe_3563297.png

 

095016_0I7D_3563297.png

 

 

095043_hRbC_3563297.png

 

总共贴了39节,后续还有很长,共122节,文章名为‘白盒测试教程’

 

 

 

 

 

 

 

 

转载于:https://my.oschina.net/u/3563297/blog/1618376

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
黑盒测试白盒测试是软件测试中两种常用的测试。 黑盒测试是指将被测软件看作一个黑盒子,测试人员不关心软件的内部结构,只关注输入数据和输出结果是否符合预期。黑盒测试主要通过功能测试来验证软件的功能是否正常,例如测试用户界面、功能模块、数据输入输出等。黑盒测试的目的是验证软件是否按照需求规格说明书进行了正确的实现,同时也可以发现潜在的错误和缺陷。更多关于黑盒测试的详细教程可以参考引用提供的链接。 白盒测试是指测试人员打开软件的盒子,即研究软件的源代码和程序逻辑。白盒测试主要通过结构测试来验证软件的内部逻辑是否正确,例如测试代码的覆盖率、路径覆盖、条件覆盖等。白盒测试的目的是评估软件的内部结构和质量,检查代码是否符合编码标准和最佳实践。更多关于白盒测试的详细教程可以参考引用提供的内容。 综上所述,黑盒测试白盒测试是两种不同的测试,它们分别从功能和内部结构的角度来验证软件的正确性。具体选择哪种测试取决于测试的目标和需求。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [黑盒和白盒测试详解](https://blog.csdn.net/asdx1020/article/details/104956074)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值