第4章 白盒测试及其实例设计
- 格式:ppt
- 大小:407.50 KB
- 文档页数:38
第4章白盒测试方法1.简述白盒测试用例的设计方法,并进行分析总结。
解:白盒测试用例设计方法主要有逻辑覆盖和独立路径测试。
从覆盖源程序语句的详尽程度分析,逻辑覆盖主要有以下不同的覆盖标准:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。
实际项目中,由于程序内部的逻辑存在不确定性和无穷性,尤其对于大规模复杂软件,不必采用所有的覆盖指标,而应根据实际情况选择合适的覆盖指标。
独立路径测试是在程序控制流图的基础上,通过分析控制结构的环路复杂性,导出可执行的独立路径集合,从而设计出相应的测试用例。
设计出的测试用例要保证被测程序的每条可执行的独立路径至少被执行一次。
独立路径测试给出了满足路径覆盖指标所需测试用例的下限,同时给出了语句覆盖的上限,它可以确保对所有相互独立的决策结果进行测试。
2.分析归纳逻辑覆盖的各种策略,并比较每种覆盖的特点,分析在怎样的情况下采用何种覆盖方式。
解:语句覆盖是选择足够多的测试数据,使被测程序中每个语句至少执行一次。
语句覆盖是最弱的逻辑覆盖标准。
判定覆盖又叫分支覆盖,它不仅每个语句必须至少执行一次,而且每个判定表达式的每种可能的结果都应该至少执行一次。
判定条件覆盖比语句覆盖强,但是对程序逻辑的覆盖程度仍然不高。
条件覆盖的含义是,使判定表达式中的每个条件都取到各种可能的结果。
条件覆盖通常比判定覆盖强,但是也可能有相反的情况:虽然每个条件都取到了两个不同的结果,判定表达式却始终只取一个值。
判定/条件覆盖的含义是,选取足够多的测试数据,使得判定表达式中的每个条件都取到各种可能的值,而且每个判定表达式也都取到各种可能的结果。
但有时判定/条件覆盖也并不比条件覆盖更强。
条件组合覆盖是更强的逻辑覆盖标准,它要求选取足够的测试数据,使得每个判定表达式中条件的各种可能组合都至少出现一次。
满足条件组合覆盖标准的测试数据,也一定满足判定覆盖、条件覆盖和判定/条件覆盖标准。
因此,条件组合覆盖是前述几种覆盖标准中最强的。
白盒测试白盒测试(White-box Testing,又称逻辑驱动测试,结构测试)是把测试对象看作一个打开的盒子。
利用白盒测试法进行动态测试时,需要测试软件产品的内部结构和处理过程,不需测试软件产品的功能。
白盒测试又称为结构测试和逻辑驱动测试。
白盒测试法的覆盖标准有逻辑覆盖、循环覆盖和基本路径测试。
其中逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。
六种覆盖标准:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖发现错误的能力呈由弱至强的变化。
语句覆盖每条语句至少执行一次。
判定覆盖每个判定的每个分支至少执行一次。
条件覆盖每个判定的每个条件应取到各种可能的值。
判定/条件覆盖同时满足判定覆盖条件覆盖。
条件组合覆盖每个判定中各条件的每一种组合至少出现一次。
路径覆盖使程序中每一条可能的路径至少执行一次。
白盒测试也称结构测试或逻辑驱动测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。
"白盒"法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。
"白盒"法是穷举路径测试。
在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。
贯穿程序的独立路径数是天文数字。
但即使每条路径都测试了仍然可能有错误。
第一,穷举路径测试决不能查出程序违反了设计规范,即程序本身是个错误的程序。
第二,穷举路径测试不可能查出程序中因遗漏路径而出错。
第三,穷举路径测试可能发现不了一些与数据相关的错误。
白盒测试六种覆盖方法摘要:白盒测试作为测试人员常用的一种测试方法,越来越受到测试工程师的重视。
白盒测试并不是简单的按照代码设计用例,而是需要根据不同的测试需求,结合不同的测试对象,使用适合的方法进行测试。
实验四 白盒测试-JUNIT【实验目的】通过上机使用JUNIT 工具, 体会单元测试、白盒测试的逻辑覆盖的方法。
【实验环境】Eclipse, JAVA5以上, JUNIT4【实验要求】根据书上第3章后的第6题(P63页)的流程图,用最少的测试用例完成覆盖要求:路径覆盖+条件组合覆盖。
要求:1)根据流程图进行单元测试用例设计;(函数输入:整型x 和y ,函数输出:y ) 2)完成源代码和测试代码。
3)执行JUNIT 输出测试结果,满足覆盖率且用例通过率100%(说明:如果你想体验TDD(TestDrivenDevelope),可以先完成测试代码,再写源代码,直至所有的测试代码全部Pass 。
)【实验指导】1、JUNIT 工具的使用说明·JUNIT 简介JUNIT 工具最初是由Erich Gamma 和 Kent Beck 编写的一个单元测试(Unit Test )的支持框架。
用来编写和执行单元测试,即所谓白盒测试。
本次实验我们采用的是JUNIT4,与以前的JUNIT3相比,使用起来简单方便许多。
在JUNIT3中,测试用例必须继承TestCase 类、且测试方法必须以test 开头,在JUnit4中,测试用例无需继承TestCase 类,只需要使用@Test 等注解。
·JUNIT 环境配置Eclipse 已带有JINIT 插件,无须安装只需要配置即可。
具体步骤: 1) 创建java Project 。
例:将项目命名为TDD2) 添加Junit4 libraires 。
选择对应项目 (在Package Explorer 中) -> 右击鼠标 -> 选择properties -> 选择Java Build Path (在左边的菜单中) -> 在右边选择标签 Libraries -> 单击按钮“Add Library” -> 选择JUnit , 单击按钮 “Next>” -> 选择eJUnit library version 为:JUnit4 -> 单击按钮“Finish” –> 单击按钮“OK”即可。