白盒测试基础

白盒测试基础

ID:43708547

大小:567.41 KB

页数:58页

时间:2019-10-13

白盒测试基础_第1页
白盒测试基础_第2页
白盒测试基础_第3页
白盒测试基础_第4页
白盒测试基础_第5页
资源描述:

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

1、白盒测试基础白盒测试技术之一目录白盒测试技术概述白盒测试用例设计技术白盒测试工具实例1、白盒测试技术概述1.1白盒测试概念1.2白盒测试与黑盒测试比较1.3白盒测试的分类1.4白盒测试的合适程度1、白盒测试技术概述1.1白盒测试概念白盒测试(white-boxtesting),又称结构测试或者逻辑驱动测试,其按照程序内部的结构进行测试。白盒测试方法就是把测试对象看做一个透明的盒子,测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试,通过测试证明每种内部操作是否符合设计规格说明。?X=2y=

2、4y=2xX=2y=4黑盒测试白盒测试图1.1黑盒测试与白盒测试1、白盒测试技术概述1.1白盒测试概念对程序模块的所有独立的执行路径至少测试一遍。在循环的边界和运行的界限内执行循环体。白盒测试主要是想对程序模块进行如下检查:对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测一遍。测试内部数据结构的有效性等。1、白盒测试技术概述1.2白盒测试与黑盒测试比较白盒测试和黑盒测试都是软件测试的手段之一,在测试过程中两者互为补充,共同验证软件的质量。其中,黑盒测试主要用在系统测试阶段;而白盒测试则把测试深入到“盒子内部”,关注软件

3、的结构和逻辑细节,主要用在单元测试和集成测试阶段。1、白盒测试技术概述1.2白盒测试与黑盒测试比较表1.1黑盒测试与白盒测试比较1、白盒测试技术概述1.3白盒测试的分类根据是否运行源代码,白盒测试分为静态分析和动态测试。静态分析:不实际运行程序,只是静态的分析程序的代码是否符合相应的编码规范或是检查程序里面的逻辑错误。静态分析可分为:代码走查、代码审查及技术评审等。静态分析需借助白盒测试工具(Logiscope、C++Test)来自动检测。1、白盒测试技术概述1.3白盒测试的分类表1.2静态分析方法比较参与人员是否有计划和报告

4、正式程度代码走查(WalkThrough)开发组内部无低代码审查(Inspection)开发组内部有中技术评审(Review)开发组、测试组和相关人员有高1、白盒测试技术概述1.3白盒测试的分类动态测试,即实际运行被测软件来测试。动态测试是白盒测试的重点,常用的测试技术有逻辑驱动覆盖、路径图法、边界值等。1、白盒测试技术概述1.4白盒测试的合适程度一般而言,白盒测试做多做少与产品形态有关,如果产品更多的具备软件平台特性,白盒测试应占总测试的80%以上,甚至接近100%,而如果产品具备复杂的业务操作,有大量GUI界面,黑盒测试的

5、份量应该更重些。根据经验,对于大多数嵌入式产品,白盒测试方式展开测试(包括代码走读)应占总测试投入的一半以上,白盒测试发现的问题数也应超过总问题数的一半。2、白盒测试用例设计2.1逻辑驱动覆盖技术2.2基本路径覆盖技术2.3循环覆盖技术2.4边界值测试2、白盒测试用例设计2.1逻辑驱动覆盖技术逻辑覆盖测试:主要是针对程序的内部逻辑结构设计测试用例的技术,它通过运行测试用例达到逻辑覆盖的目的。主要包括以下6种类型的逻辑覆盖:语句覆盖SC判断覆盖(分支DC)条件覆盖判定条件覆盖条件组合覆盖路径覆盖2、白盒测试用例设计技术2.1逻辑

6、驱动覆盖技术方法步骤:1)分析程序中的可执行语句,把可执行语句分块,并进行标记。2)画出程序流程图,在流程图中使用语句块表示各个顺序执行的语句。3)a、设计测试用例,使模块中的可执行语句都被覆盖,即语句覆盖率达到100%。b、设计测试用例,使模块中每个分支都被执行,即分支覆盖了达到85%以上。c、。。。。。。4)为了使模块能够运行,需要写驱动函数和桩函数。2、白盒测试用例设计2.1逻辑驱动覆盖技术例1:func(inta,b,x){if((a>1)&&(b==0))1x=x/a;if((a==2)

7、

8、(x>1))2x=x+1;

9、}逻辑覆盖用例表2.1逻辑覆盖类型含义测试用例(a,b,x)说明SC语句覆盖使得每一条语句至少被执行一次。2,0,3语句覆盖对于多分支的逻辑运算无法全面反映。DC分支覆盖使得程序中每一个分支至少被执行一次,即每一条分支语句的“真”值和“假”值都至少执行一次。3,0,12,1,3具有比语句覆盖更强的测试,但忽略每个条件的取值情况。条件覆盖不仅每一个语句至少执行一次,而且使得判定中每个条件获得各种可能的结果。两个用例2,0,4、1,1,1或者2,0,1、1,1,2第一组用例满足分支覆盖,但第二组用例不满足分支覆盖。判定条件覆盖使得

10、判定中每个条件的所有可能取值至少能够获取一次,同时每个判断的所有可能的判定结果至少执行一次。2,0,41,1,1判定条件覆盖未考虑条件的组合情况。条件组合覆盖使得每个判定中条件的各种组合至少出现一次。四个用例即覆盖:1,0,21,1,12,0,42,1,18种组合:(1)a>

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

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

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