第7章系统测试 了解系统测试的原则、方法、手段 理解测试情况设计的几种基本方法 掌握系统测试过程常网的测试类型 掌握系统测试文档箱女要验 了解基本的测试工
第7章 系统测试 了解系统测试的原则、方法、手段 理解测试情况设计的几种基本方法 掌握系统测试过程常见的测试类型 掌握系统测试文档的结构及要求 了解基本的测试工具
第七章系统测试 ■71系统测试概述 ■72系统测试过程 73系统测试文档 ■74测试工具简介
第七章 系统测试 ◼7.1 系统测试概述 ◼7.2 系统测试过程 ◼7.3 系统测试文档 ◼7.4 测试工具简介
第七章系统测试 系统测试在系统开发过程中占有重要的地位。 任何一个系统分析员,在系统分析和设计时都不可 能把所有问题都考虑周到;任何一个程序员在系统 实现时,总是或多或少地发生差错。然而对系统而 言,不允许出现任何差错,所以测试是非常重要的。 可以说,测试就是寻找“系统错误”,特别是寻找 不经常出现的错误、隐藏着的错误。此外,还要对 系统的容错、纠错能力等进行测试
系统测试在系统开发过程中占有重要的地位。 任何一个系统分析员,在系统分析和设计时都不可 能把所有问题都考虑周到;任何一个程序员在系统 实现时,总是或多或少地发生差错。然而对系统而 言,不允许出现任何差错,所以测试是非常重要的。 可以说,测试就是寻找“系统错误” ,特别是寻找 不经常出现的错误、隐藏着的错误。此外,还要对 系统的容错、纠错能力等进行测试。 第七章 系统测试
71系统测试概述 ■711系统测试的原则 ■712系统测试的方法 ■713系统测试过程中应注意的问题 ■714测试情况设计
7.1 系统测试概述 ◼7.1.1 系统测试的原则 ◼7.1.2 系统测试的方法 ◼7.1.3 系统测试过程中应注意的问题 ◼7.1.4 测试情况设计
71系统测试概述 著名软件测试专家迈尔斯( Greenford J. Myers)在 《软件测试技巧》一书中,就系统测试目的提出以 下观点: ①测试是为了发现错误而执行程序的过程; ②测试是为了证明程序有错,而不是证明程序无错误; ③一个好的测试用例,在于能够发现至今未能发现的 错误; ④一个成功的测试是发现了至今未发现过的错误
7.1 系统测试概述 著名软件测试专家迈尔斯(Grenford J. Myers)在 《软件测试技巧》一书中,就系统测试目的提出以 下观点: ①测试是为了发现错误而执行程序的过程; ②测试是为了证明程序有错,而不是证明程序无错误; ③一个好的测试用例,在于能够发现至今未能发现的 错误; ④一个成功的测试是发现了至今未发现过的错误
7.1.1系统测试的原则 根据测试目的,一般情况下应遵循的测试原则是: 1).应当把“尽早地和不断地进行软件测试”作为软 件开发者的座右铭。 不应把软件测试亿看作是软件于发的个独言阶, 软件开发的各个阶段的技术评审,这样才能在开发 过程中尽早发现和预防错误,把出现的错误克服在 早期,杜绝某些发生错误的隐患。 2H某部肉组成输入数据和与之对应的期拍 测试以前应当根据测试的要求选择测试用例(Test case)用来检验程序员编制的程序,因此不但需 要测试的输入数据,而且需要针对这些输入数据的 预期输出结果
7.1.1 系统测试的原则 根据测试目的,一般情况下应遵循的测试原则是: 1) 应当把“尽早地和不断地进行软件测试”作为软 件开发者的座右铭。 不应把软件测试仅仅看作是软件开发的一个独立阶段, 而应当把它贯穿到软件开发的各个阶段中。坚持在 软件开发的各个阶段的技术评审,这样才能在开发 过程中尽早发现和预防错误,把出现的错误克服在 早期,杜绝某些发生错误的隐患。 2) 测试用例应由测试输入数据和与之对应的预期输 出结果这两部分组成。 测试以前应当根据测试的要求选择测试用例(Test case),用来检验程序员编制的程序,因此不但需 要测试的输入数据,而且需要针对这些输入数据的 预期输出结果
7.1.1系统测试的原则 3)程序员应避免测试自己的程序。 程序员应尽可能避免测试自己编写的程序,程序开 发小组也应尽可能避免测试本小组开发的程序。如 果条件允许,最好建立独立的软件测试小组或测试 机构。这点不能与程序的调试( debuging)相混淆。 调试由程序员自己来做更有效。 4)设计测试用刚时,应当包括合理的输入条件和 不合理的输入条件。 合理的输入条件是指能验证程序正确的输入条件,不 合理的输入条件是指异常的、临界的,可能引起问 题异变的输入条件。软件系统处理非法命令的能力 必须在测试时受到检验。用不合理的输入条件测试 程序时,往往比用合理的输入条件进行测试能发现 更多的错误
7.1.1 系统测试的原则 3) 程序员应避免测试自己的程序。 程序员应尽可能避免测试自己编写的程序,程序开 发小组也应尽可能避免测试本小组开发的程序。如 果条件允许,最好建立独立的软件测试小组或测试 机构。这点不能与程序的调试(debuging)相混淆。 调试由程序员自己来做更有效。 4) 在设计测试用例时,应当包括合理的输入条件和 不合理的输入条件。 合理的输入条件是指能验证程序正确的输入条件,不 合理的输入条件是指异常的、临界的,可能引起问 题异变的输入条件。软件系统处理非法命令的能力 必须在测试时受到检验。用不合理的输入条件测试 程序时,往往比用合理的输入条件进行测试能发现 更多的错误
7.1.1系统测试的原则 5)充分注意测试中的群集现象。 在被测程序段中,若发现错误数目多,则残存错误数 目也比较多。这种错误群集性现象,已为许多程序 的测试实践所证实。根据这个规律,应当对错误群 集的程序段进行重点测试,以提高测试投资的效益。 6)严格执行测试计划,排除测试的随意性 测试之前应仔细考虑测试的项目,对每一项测试做出 周密的计划,包括被测程序的功能、输入和输出、 测试内容、进度安排、资源要求等
7.1.1 系统测试的原则 5) 充分注意测试中的群集现象。 在被测程序段中,若发现错误数目多,则残存错误数 目也比较多。这种错误群集性现象,已为许多程序 的测试实践所证实。根据这个规律,应当对错误群 集的程序段进行重点测试,以提高测试投资的效益。 6) 严格执行测试计划,排除测试的随意性。 测试之前应仔细考虑测试的项目,对每一项测试做出 周密的计划,包括被测程序的功能、输入和输出、 测试内容、进度安排、资源要求等
7.1.1系统测试的原则 7)应当对每一个测试结果做全面检查 有些错误的征兆在输出实测结果时已经明显地 出现了,但是如果不仔细地全面地检查测试结 果,就会使这些错误被遗漏掉。 8)妥善保存测试计划,测试用例,出错统计和 最终分析报告。 按照测试计划要求,将所有测试过程进行详细 记录,并将测试文档资料完整保存,以便在以 后的系统维护中查阅
7.1.1 系统测试的原则 7) 应当对每一个测试结果做全面检查。 有些错误的征兆在输出实测结果时已经明显地 出现了,但是如果不仔细地全面地检查测试结 果,就会使这些错误被遗漏掉。 8) 妥善保存测试计划,测试用例,出错统计和 最终分析报告。 按照测试计划要求,将所有测试过程进行详细 记录,并将测试文档资料完整保存,以便在以 后的系统维护中查阅
71.2系统测试的方法 按照迈尔斯的定义,测试是一个执行程序的 过程,即要求被测程序在机器上运行。其实, 不执行程序也可以发现程序的错误。为便于区 分,一般把前者称为“动态测试”,后者称为 “静态分析”。广义地说,它们都属于程序测 试,测试的方法分类见图71
7.1.2 系统测试的方法 按照迈尔斯的定义,测试是一个执行程序的 过程,即要求被测程序在机器上运行。其实, 不执行程序也可以发现程序的错误。为便于区 分,一般把前者称为“动态测试”,后者称为 “静态分析”。广义地说,它们都属于程序测 试,测试的方法分类见图7.1