4.白盒测试基础及代码审查

4.白盒测试基础及代码审查

ID:44702217

大小:1.69 MB

页数:58页

时间:2019-10-25

4.白盒测试基础及代码审查_第1页
4.白盒测试基础及代码审查_第2页
4.白盒测试基础及代码审查_第3页
4.白盒测试基础及代码审查_第4页
4.白盒测试基础及代码审查_第5页
资源描述:

《4.白盒测试基础及代码审查》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、2014/9/16Inspurgroup白盒测试讲师:张雪莲2014/9/16浪潮软件评测实验室2目录12白盒测试概念2测试覆盖标准3逻辑驱动测试4基本路径测试Inspurgroup2014/9/16浪潮软件评测实验室12014/9/163白盒测试概念白盒测试=测试所有的语句?设此开发工作已结束,程序送交到测试组,代码中有一个潜在的被0除的错误。若测试组采用的测试用例的执行路径没有同时经过x=0和y=5/x进行测试,显然测试工作似乎非常完善,测试用例覆盖了所有执行语句,也没有被0除的错误发生。Inspurgroup2014

2、/9/16浪潮软件评测实验室4白盒测试概念白盒测试也称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试,是一种测试用例设计方法,它从程序的控制结构导出测试用例。白盒测试使用被测单元内部如何工作的信息,允许测试人员对程序内部逻辑结构及有关信息来设计和选择测试用例,对程序的逻辑路径进行测试。基于一个应用代码的内部逻辑知识,测试是基于覆盖全部代码、分支、路径、条件。Inspurgroup9/16/2014浪潮软件评测实验室22014/9/165白盒测试的主要目的:保证一个模块中的所有独立路径至少被执行一次;对所有的逻辑

3、值均需要测试真、假两个分支;在上下边界及可操作范围内运行循环;检查内部数据结构以确保其有效性。Inspurgroup9/16/2014浪潮软件评测实验室6测试覆盖标准白盒法特点:以程序的内部逻辑为基础设计测试用例,所以又称为逻辑覆盖法。应用白盒法时,手头必须有程序的规格说明以及程序清单。白盒法考虑的是测试用例对程序内部逻辑的覆盖程度。最彻底的白盒法是覆盖程序中的每一条路径,但是由于程序中一般含有循环,所以路径的数目极大,要执行每一条路径是不可能的,只能希望覆盖的程度尽可能高些。Inspur9/16/2014浪潮软件

4、评测实验室group32014/9/167测试覆盖标准Inspurgroup2014/9/16浪潮软件评测实验室8测试覆盖标准上页小程序的流程图,其中包括了一个执行达20次的循环。那么它所包含的不同执行路2013径数高达5(=10)条,若要对它进行穷举测试,覆盖所有的路径。假使测试程序对每一条路径进行测试需要1毫秒,同样假定一天工作24小时,一年工作365天,那么要想把如图所示的小程序的所有路径测试完,则需要3170年。上页小程序即使每条路径都测试过了,仍然可能存在错误。因为:穷举路径测试无法检查出程序本身是否违反了

5、设计规范,即程序是否是一个错误的程序。穷举路径测试不可能查出程序因为遗漏路径而出错。穷举路径测试发现不了一些与数据相关的错误。Inspurgroup2014/9/16浪潮软件评测实验室42014/9/169测试覆盖标准为了衡量测试的覆盖程度,需要建立一些标准。测试覆盖率可以表示出测试的充分性,在测试分析报告中可以作为量化指标的依据,测试覆盖率越高效果越好。测试覆盖率:用于确定测试所执行到的覆盖项的百分比。测试覆盖率包括功能点覆盖率和逻辑覆盖率:功能点覆盖率大致用于表示软件已经实现的功能与软件需要实现的功能之间的比

6、例关系。逻辑覆盖率指程序逻辑的覆盖率,可分为语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径覆盖。Inspurgroup2014/9/16浪潮软件评测实验室10测试覆盖标准覆盖标准从低到高分别是:语句覆盖:一个较弱的测试标准。它的含义是:选择足够的测试用例,使得程序中每个语句至少都能被执行一次。它是最弱的逻辑覆盖,效果有限,必须与其它方法交互使用。判定覆盖(分支覆盖):执行足够的测试用例,使得程序中的每一个分支至少都通过一次。判定覆盖比语句覆盖稍强一些,但实际效果表明,只是判定覆盖,还不能保证一定能

7、查出在判断条件中存在的错误。条件覆盖:执行足够的测试用例,使程序中每个判断的每个条件的每个可能取值至少执行一次;条件覆盖深入到判定中的每个条件,但可能不能满足判定覆盖的要求。Inspurgroup2014/9/16浪潮软件评测实验室52014/9/1611测试覆盖标准判定/条件覆盖:执行足够的测试用例,使判定中每个条件取到各种可能的值,并使每个判定取到各种可能的结果。判定/条件覆盖有缺陷。从表面看,它测试了所有条件的取值。但事实并非如此。往往某些条件掩盖了另一些条件。会遗漏某些条件取值错误的情况。为彻底地检查所有

8、条件的取值,需要将判定语句中给出的复合条件表达式进行分解,形成由多个基本判定嵌套的流程图。这样就可以有效地检查所有的条件是否正确了。条件组合覆盖:执行足够的用例,使得每个判定中条件的各种可能组合都至少出现一次。这是一种相当强的覆盖准则,可以有效地检查各种可能的条件取值的组合是否正确。它不但可覆盖所有

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。