文档详情

黑盒测试和白盒测试..ppt

发布:2017-01-01约4.15千字共34页下载文档
文本预览下载声明
测试覆盖准则 (1)Foster的ESTCA覆盖准则 前面所介绍的逻辑覆盖其出发点似乎是合理的。所谓“覆盖”,就是想要做到全面而无遗漏。但是,事实表明,它并不能真的做到无遗漏。 K.A.Foster从测试工作实践的教训出发,吸收了计算机硬件的测试原理,提出了一种经验型的测试覆盖准则。 (2)Woodward等人的层次LCSAJ覆盖准则 Woodward等人曾经指出结构覆盖的一些准则,如分支覆盖或路径覆盖,都不足以保证测试数据的有效性。为此,他们提出了一种层次LCSAJ覆盖准则。 小结 本讲主要介绍了黑盒测试和白盒测试的基本概念以及几种常见的白盒测试技术。 第3章 软件测试基本技术 3.1 黑盒测试与白盒测试 3.2 白 盒 测 试技术 3.3 黑 盒 测 试技术 本讲教学目标 了解黑盒测试和白盒测试的基本概念; 掌握几中白盒测试技术:静态测试、程序插桩和逻辑覆盖技术。 3.1 黑盒测试与白盒测试 任何工程产品都可以使用白盒测试和黑盒测试两种方法之一进行测试。 1.黑盒测试 黑盒测试:已知产品的功能设计规格和用户手册,可以进行测试证明每个功能是否实现、每个实现了的功能是否符合要求,以及产品的性能是否满足用户的要求。 软件的黑盒测试意味着测试要在软件的接口处进行,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书和用户手册,检查程序的功能是否符合它的功能说明,以及性能是否满足用户的要求。因此黑盒测试又叫功能测试或数据驱动测试。 黑盒测试主要是为了发现以下几类错误: 1. 是否有不正确或遗漏的功能? 2. 在接口上,输入是否能正确的接受?能否输出正确的结果? 3. 是否有数据结构错误或外部信息(例如数据文件)访问错误? 4. 性能上是否能够满足要求? 5. 是否有初始化或终止性错误? 2.白盒测试 白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。 软件的白盒测试是对软件的过程性细节做细致的检查,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试,通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。 白盒测试须对程序模块进行如下检查: 1. 保证一个模块中的所有独立路径至少被使用一次 2. 对所有逻辑值均测试true和false。 3. 在循环的边界和运行的界限内执行循环体。 4. 检查内部数据结构以确定其有效性。 3.2 白 盒 测 试 技 术 白盒测试是一种被广泛使用的逻辑测试方法,也称为结构测试或逻辑驱动测试。 白盒测试对象基本上是源程序,是以程序的内部逻辑为基础的一种测试方法。 白盒测试方法又可分为静态测试和动态测试。静态测试是一种不通过执行程序而进行测试的技术,其关键功能是检查软件的表示和描述是否一致,没有冲突或者没有歧义。它瞄准的是纠正软件系统在描述、表示和规格上的错误,是任何进一步测试的前提。而动态测试需要软件的执行,当软件系统在模拟的或真实的环境中执行之前、之中和之后,对软件系统行为的分析是动态测试的主要特点。它显示了一个系统在检查状态下是正确还是不正确。 3.2.1 白盒测试静态测试 最常见的静态测试是找出源代码的语法错误,这类测试可由编译器来完成,因为编译器可以逐行分析检验程序的语法,找出错误并报告。除此之外,测试人员须采用人工的方法来检验程序,有些地方存在非语法方面的错误,只能通过人工检测的方法来判断。 人工检测的方法主要有代码检查法、静态结构分析法等。 1.代码检查法 代码检查法主要是通过桌面检查,代码审查和走查方式,对以下内容进行检查: (1) 检查代码和设计的一致性; (2) 代码的可读性以及对软件设计标准的遵循情况; (3) 代码逻辑表达的正确性; (4) 代码结构的合理性; (5) 程序中不安全、不明确和模糊的部分; (6) 编程风格方面的问题等。 代码检查方式主要有: (1)桌面检查 (2)代码审查 (3)走查 2.静态结构分析法 在静态结构分析中,测试人员通常通过使用测试工具分析程序源代码的系统结构、数据结构、数据接口、内部控制逻辑等内部结构,生成函数调用关系图、模块控制流图、内部文件调用关系图等各种图形、图表,清晰地标识整个软件的组成结构。
显示全部
相似文档