白盒测试单元测试.ppt

白盒测试单元测试.ppt

第7章:实现 主要内容 7.1 编码 7.2 软件测试基础 7.3 单元测试 7.4 集成测试 7.5 确认测试 7.6 白盒测试技术 7.7 黑盒测试技术 7.8 调试 7.9 软件可靠性 目的与要求 一般了解:编码的语言选择及有关语言的知识;测试的定义、目的;验收测试; 重点掌握:结构化的编程风格;软件测试的步骤、黑盒测试、白盒测试单元测试、集成测试、设计测试方案、调试策略。 重点与难点 结构化的编程风格 软件测试 技术(黑盒测试和白盒测试)。 编码和测试统称为实现。 编码:把软件设计结果翻译成程序。 测试:检测程序并改正错误的过程。 计算机程序设计语言基本上可以分为两大类: 1. 汇编语言; 2. 高级语言。 从应用特点看,高级语言可分为: 1)基础语言 如BASIC、FORTRAN、COBOL、ALGOL等 2)结构化语言 如ALGOL、PL/1、PASCAL、C、ADA等 3)专用语言 如APL、BLISS、FORTH、LISP、PROLOG等 选择一种编程语言的理论标准: 1)有理想的模块化机制; 2)可读性好的控制结构和数据结构; 3)便于调试和提高软件可靠性; 4)编译程序发现程序错误的能力强; 5)有良好的独立编译机制。 选择语言时除了考虑理论上的标准,还必须同时考虑主要的实用标准: 1.程序内部的文档 选取含义鲜明的名字,如果使用缩写,缩写规则要一致,并给每个名字加注释; 通常在每个模块开始处要有一段注释,描述模块功能、算法、接口特点等; 程序清单布局应利用适当的阶梯形式,使程序的层次结构清晰明显。 2.数据说明 数据说明的次序应该标准化,如按数据类型确定说明的次序; 多个变量名在一个语句中说明时,应该按字母顺序排列这些变量; 如果设计时使用了复杂的数据结构,应该用注释说明实现该数据结构的方法和特点。 3.语句构造 4.输入/输出 5.效率 A.程序运行时间 B.存储器效率 C.输入/输出效率 7.2 软件测试基础 有关测试的一些规则: (1)测试是为了发现程序中的错误而执行程序的过程; (2)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案; (3)成功的测试是发现了至今为止尚未发现的错误的测试。 7.2.2 软件测试准则 5)穷举测试是不可能的; 黑盒测试: 如果已经知道软件应该具有的功能,可以通过测试来检验是否每个功能都能正常使用,这种测试称黑盒测试。也称功能测试。 白盒测试: 也称结构测试。 如果知道软件内部工作过程,可以通过测试来检验软件内部动作是否按照规格说明书的规定正常进行,这种测试称为白盒测试。 1.模块测试 模块测试又称单元测试,它把每个模块作为单独的实体来测试。 2.子系统测试 子系统测试是把经过单元测试的模块放在一起形成一个子系统来测试。 3.系统测试 系统测试是把经过测试的子系统装配成一个完整的系统来测试。 4.验收测试 验收测试把软件系统作为单一的实体进行测试(利用用户的实际数据测试)。 5.平行运行 平行运行是同时运行新开发出来的系统和将被它取代的旧系统,以便比较新旧两个系统的处理结果。 7.2.5 测试阶段的信息流 7.3 单元测试 单元测试的一般方法是: 首先通过编译系统检查并改正程序中所有的语法错误; 然后用详细设计模块说明为指南,对重要的控制路径进行测试,以便发现模块内部的错误。 通常,单元测试使用白盒测试方法。 1)模块接口 应该对穿过模块接口的数据流进行检测,以保证正确的输入和输出。 2)局部数据结构 这是错误的主要来源,应该设计相应的测试用例,以便发现数据结构方面的错误。 3)重要的执行路径 由于不可能进行穷尽测试,因此选择测试路径是非常关键的。 4)出错处理通路 5)边界条件 审查小组: 1)组长; 2)程序的设计者; 3)程序的编写者; 4)程序的测试者。 7.3.3 计算机测试 由于软件模块不是一个独立的系统,不能独立运行,要依靠其他模块调用,或需要调用其他模块。 因此,必须要为测试的单元开发驱动程序或存根程序。 1)驱动程序 相当于一个“主程序”,用来把测试数据传送给被测试的模块,并打印有关结果。 2)存根程序 用来代替被测试模块所调用的模块,相当于“虚拟子程序”。 如,测试B模块,设计了A模块和C模块。 由A负责传送测试数据,由C负责模拟

文档评论(0)

1亿VIP精品文档

相关文档