logo资料库

软件工程--软件测试(黑盒测试、白盒测试、测试用例).ppt

第1页 / 共82页
第2页 / 共82页
第3页 / 共82页
第4页 / 共82页
第5页 / 共82页
第6页 / 共82页
第7页 / 共82页
第8页 / 共82页
资料共82页,剩余部分请下载后查看
第7章 软件测试 第 7 章 软 件 测 试 7.1 软件测试概述 7.2 测试方法 7.3 测试用例的设计 7.4 测试过程 7.5 调试 返回 主目录 1
第7章 软件测试 第 7 章 软 件 测 试 7.1软件测试概述 7.1.1软件测试的目的 统计资料表明,测试的工作量约占整个项目开发工作量 的40%左右,对于关系到人的生命安全的软件(如飞机飞行自 动控制系统),测试的工作量还要成倍增加。 那么,为什么要花这么多代价进行测试? 其目的何在? 它是“说明程序能正确地执行它应有的功能”,还是“表明 程序没有错误”。如果是这样一个目的,就要朝着“证明程 序正确”这个目标靠拢,无意识地选择一些不易暴露错误的 例子。因此G.J.Myers对软件测试的目的提出了以下观点: 2
第7章 软件测试 (1) 软件测试是为了发现错误而执行程序的过程。 (2) 一个好的测试用例能够发现至今尚未发现的错误。 (3) 一个成功的测试是发现了至今尚未发现的错误的测试。 因此,测试阶段的基本任务应该是根据软件开发各阶段的 文档资料和程序的内部结构,精心设计一组“高产”的测试 用例,利用这些用例执行程序,找出软件中潜在的各种错误 和缺陷。 3
第7章 软件测试 7.2 测 试 方 法 7.2.1静态测试与动态测试 1. 静态测试 静态测试是指被测试程序不在机器上运行,而是采用人 工检测和计算机辅助静态分析的手段对程序进行检测,方法 如下: (1) 人工测试:是指不依靠计算机而靠人工审查程序或评 审软件。人工审查程序偏重于编码质量的检验,而软件审查 除了审查编码还要对各阶段的软件产品进行检验。 4
第7章 软件测试 (2) 计算机辅助静态分析: 指利用静态分析工具对被测试 程序进行特性分析,从程序中提取一些信息,以便检查程序逻 辑的各种缺陷和可疑的程序构造。如用错的局部量和全程量、 不匹配参数、不适当的循环嵌套和分支嵌套、 潜在的死循环及 不会执行到的代码等。还可能提供一些间接涉及程序欠缺的信 息、 各种类型的语句出现的次数、变量和常量的引用表、标识 符的使用方式、过程的调用层次及违背编码规则等。静态分析 中还可以用符号代替数值求得程序结果, 以便对程序进行运算 规律的检验。 5
第7章 软件测试 2. 动态测试 动态测试指通过运行程序发现错误。一般意义上的测试大 多是指动态测试。为使测试发现更多的错误,需要运用一些有 效的方法。 测试任何产品,一般有两种方法:一是测试产品 的功能,二是测试产品内部结构及处理过程。对软件产品进行 动态测试时, 也用这两种方法,分别称为黑盒测试法和白盒 测试法。 6
第7章 软件测试 7.2.2黑盒测试法与白盒测试法 1. 黑盒法 该方法把被测试对象看成一个黑盒子,测试人员完全不 考虑程序的内部结构和处理过程,只在软件的接口处进行测 试, 依据需求说明书,检查程序是否满足功能要求。因此, 黑盒测试又称为功能测试或数据驱动测试。 通过黑盒测试主要发现以下错误: (1) 是否有不正确或遗漏了的功能。 (2) 在接口上,能否正确地接受输入数据, 能否产生正确 的输出信息。 (3) 访问外部信息是否有错。 (4) 性能上是否满足要求等。 7
第7章 软件测试 用黑盒法测试时,必须在所有可能的输入条件和输出条件 中确定测试数据。是否要对每个数据都进行穷举测试呢?例如 测试一个程序,需输入 3 个整数值。微机上,每个整数可能取 值有216个,3个整数值的排列组合数为216×216×216=248≈3×1014。 假设此程序执行一次为一毫秒, 用这些所有的数据去测试要用 1万年!但这还不能算穷举测试, 还要输入一切不合法的数据。 可见,穷举地输入测试数据进行黑盒测试是不可能的。 2. 白盒法 该方法把测试对象看作一个打开的盒子, 测试人员须了解 程序的内部结构和处理过程,以检查处理过程的细节为基础, 对程序中尽可能多的逻辑路径进行测试,检验内部控制结构和 数据结构是否有错, 实际的运行状态与预期的状态是否一致。 8
分享到:
收藏