静态测试 定义:人工方式进行的代码复审。又称人工测试, 代码复审。 目的:检査程序的静态结构,找出编译不能发现 的错误和人的主观认识上的偏差 范围:需求定义、设计文档、源代码(着重分析) 特点: Myers的研究表明,对于某些类型的错误,静态 测试更有效。 经验表明,组织良好的代码复审可以发现程序 中30%到70%的编码和逻辑设计错误 不存在错误定位问题
静态测试 • 定义:人工方式进行的代码复审。又称人工测试, 代码复审。 • 目的:检查程序的静态结构,找出编译不能发现 的错误和人的主观认识上的偏差。 • 范围:需求定义、设计文档、源代码(着重分析) • 特点: – Myers的研究表明,对于某些类型的错误,静态 测试更有效 。 – 经验表明,组织良好的代码复审可以发现程序 中30%到70%的编码和逻辑设计错误。 – 不存在错误定位问题
动态测试 定义:机器测试,在设定的测试数据上执行被 测试程序的过程。 目的:通过执行程序代码动态地验证结果的正 确性 个过程:设计测试用例;执行被测试程序; 分析执行结果并发现错误。 个要素:程序、测试数据、需求定义 °两个方面:在测试数据上程序是对的;测试 数据是正确的
动态测试 • 定义: 机器测试,在设定的测试数据上执行被 测试程序的过程。 • 目的: 通过执行程序代码动态地验证结果的正 确性。 • 三个过程:设计测试用例;执行被测试程序; 分析执行结果并发现错误。 • 三个要素:程序、测试数据、需求定义 • 两个方面:在测试数据上程序是对的;测试 数据是正确的
黑盒测试( Black- Box Testing) 定义 已知产品应该具有的功能,通过测试检验其 每个功能是否都能够正常使用。又称功能测 试 用途 把程序看成一个黑盒子,仅仅考虑输入和输 出的对应关系和程序接口,完全不考虑它的 内部结构和处理过程。一般用于综合测试 系统测试等
黑盒测试(Black-Box Testing) • 定义 – 已知产品应该具有的功能,通过测试检验其 每个功能是否都能够正常使用。又称功能测 试 • 用途 – 把程序看成一个黑盒子,仅仅考虑输入和输 出的对应关系和程序接口,完全不考虑它的 内部结构和处理过程。一般用于综合测试、 系统测试等
白盒测试( White- BoX Testing) 定义 已知产品内部的工作过程,通过测试检验产 品内部动作是否都能按照需求定义的规定正 常使用。又称 Glass box testing,结构测试。 用途 必须完全了解程序的内部结构和处理过程, 才能按照程序内部的逻辑测试,以检验程序 中每条路径是否正确,因此一般用于规模较 小软件
白盒测试(White-Box Testing) • 定义 – 已知产品内部的工作过程,通过测试检验产 品内部动作是否都能按照需求定义的规定正 常使用。又称 Glass box testing,结构测试。 • 用途 – 必须完全了解程序的内部结构和处理过程, 才能按照程序内部的逻辑测试,以检验程序 中每条路径是否正确,因此 一般用于规模较 小软件
穷举测试( Exhaustive Testing) 定义:包含所有可能情况的测试。 对于黑盒测试,必须对所有输入数据的各种可 能值的排列组合都进行测试。 对于白盒测试,程序中每条可能的路径在每种 可能的输入数据下至少执行一次 穷举测试是不可能的 对于黑盒是不可能的。例如,对C编译器进行测试, 方面要编出所有合法程序让它编译;另一方面又要 编出一切不合法的程序,考察它能否指出程序的非法 性质。显然,这两类程序的数量是无限的。 对于白盒也是不可能的
穷举测试(Exhaustive Testing) • 定义:包含所有可能情况的测试。 • 对于黑盒测试,必须对所有输入数据的各种可 能值的排列组合都进行测试。 • 对于白盒测试,程序中每条可能的路径在每种 可能的输入数据下至少执行一次。 • 穷举测试是不可能的 – 对于黑盒是不可能的。例如,对C编译器进行测试, 一方面要编出所有合法程序让它编译;另一方面又要 编出一切不合法的程序,考察它能否指出程序的非法 性质。显然,这两类程序的数量是无限的。 – 对于白盒也是不可能的