
第9章软件测试 6学时
第9章 软件测试 6学时

引言。 ▣据新华社洛杉矶2002年6月报道,美国 家研究所公布的调查结果表明,软件错误使 美国每年损失高达595亿美元。同时指出, 如能做好检测工作,即在软件开发的早期发 现漏洞并进行弥补每年能给美国企业节省成 本222亿美元。然而,目前软件中一半以 上的错误是在开发的后期或者售后使用中才 被发现的
引言-- 据新华社洛杉矶2002年6月报道,美国一 家研究所公布的调查结果表明,软件错误使 美国每年损失高达595亿美元。同时指出, 如能做好检测工作,即在软件开发的早期发 现漏洞并进行弥补每年能给美国企业节省成 本222亿美元。然而,目前软件中一半以 上的错误是在开发的后期或者售后使用中才 被发现的

第9章软件测试 要求 1)软件测试的概念 掌握 2)黑盒测试和白盒测试方法 掌握 3)单元测试过程 理解 4)集成测试,系统测试,验收测试的基本过程 了解 5)面向对象的测试概念和方法 了解
第9章 软件测试 1)软件测试的概念 2)黑盒测试和白盒测试方法 3)单元测试过程 4)集成测试,系统测试,验收测试的基本过程 5)面向对象的测试概念和方法 掌握 掌握 理解 了解 了解 要求

9.1软件测试的概念 9.1.1测试的定义 ■从广义上讲是指软件产品生存周期内所有的检查 评审和确认活动 ■从狭义上讲,软件测试是为了发现错误而执行程 序的过程 ■软件测试是根据软件开发各阶段的规格说明和程 序内部结构而精心设计的一批测试用例,用这些测 试用例运行程序,以发现程序错误的过程。 ▣一个测试用例是一组输入数据及其对应的预期 输出结果
9.1软件测试的概念 9.1.1测试的定义 ◼ 从广义上讲是指软件产品生存周期内所有的检查、 评审和确认活动 ◼ 从狭义上讲,软件测试是为了发现错误而执行程 序的过程 ◼ 软件测试是根据软件开发各阶段的规格说明和程 序内部结构而精心设计的一批测试用例,用这些测 试用例运行程序,以发现程序错误的过程。 一个测试用例是一组输入数据及其对应的预期 输出结果

测试的工作量 ▣一般性软件其测试工作量大约古整个开发工 作量的406 ▣系统软件或关系到人的生命财产安全的重要 软件,其测试工作量通常可能达到整个开发 工作量的3一5倍
测试的工作量 一般性软件其测试工作量大约占整个开发工 作量的40% 系统软件或关系到人的生命财产安全的重要 软件,其测试工作量通常可能达到整个开发 工作量的3—5倍

软件测试的目标 口优秀的测试用例以最小的代价、在最短的 时间内,尽可能多地发现软件中的错误。 ▣测试并不仅仅是为了要找出错误,通过分析 错误产生的原因和错误的分布特征,来帮助 评价软件的质量、进步发现软件的缺陷, 同时也有助于设计出更有针对性的测试方法 提高测试效率
软件测试的目标 优秀的测试用例:以最小的代价、在最短的 时间内,尽可能多地发现软件中的错误 。 测试并不仅仅是为了要找出错误,通过分析 错误产生的原因和错误的分布特征,来帮助 评价软件的质量、进一步发现软件的缺陷, 同时也有助于设计出更有针对性的测试方法, 提高测试效率

测试原则 目 应该把测试贯穿在整个开发过程之中。事实上从 需求分析阶段开始,每个阶段结束之前都要进行 阶段审查,目的是尽早发现和纠正错误。 口每个测试用例都应该包括测试输入数据和这组数 据输入作用下的预期输出结果。在实际操作中可 以列出一张电子表格,包括每个测试用例的编号 类型、输入数据、预期输出结果、实际输出结果、 出错原因分析
测试原则 应该把测试贯穿在整个开发过程之中。事实上从 需求分析阶段开始,每个阶段结束之前都要进行 阶段审查,目的是尽早发现和纠正错误。 每个测试用例都应该包括测试输入数据和这组数 据输入作用下的预期输出结果。在实际操作中可 以列出一张电子表格,包括每个测试用例的编号、 类型、输入数据、预期输出结果、实际输出结果、 出错原因分析

测试原则续 ▣程序员应该尽量避免检查自己编写的代码。 测试工作需要严格的工作作风,程序员在测 试自己编写的代码时往往会带有一些倾向性, 使得他们工作中常常出现一些疏漏。而且程 序员对设计规格说明书的理解错误而引入的 错误更是难于发现
测试原则续 程序员应该尽量避免检查自己编写的代码。 测试工作需要严格的工作作风,程序员在测 试自己编写的代码时往往会带有一些倾向性, 使得他们工作中常常出现一些疏漏。而且程 序员对设计规格说明书的理解错误而引入的 错误更是难于发现

测试原则续 口在设计测试用例时,应该包括有效的、期望的输入 情况,也要包括无效的和不期望的输入情况。即能 够验证程序正常运行的合理输入,也能够验证对异 常情况处理的不合理输入数据以及临界数据输入。 口在测试时,人们常常过多地考虑合法和期望的输入 条件,以检查程序是否做了它应该做的事情,而忽 视了不合法的和预想不到的输入条件。 ▣用户在使用系统时,输入一些错误指令和参数是经 常发生的,如果软件遇到这种情况不能做出适当的 反应,给出相应的提示信息,可能会误导用户甚至会 造成严重损失
测试原则续 在设计测试用例时,应该包括有效的、期望的输入 情况,也要包括无效的和不期望的输入情况。即能 够验证程序正常运行的合理输入,也能够验证对异 常情况处理的不合理输入数据以及临界数据输入。 在测试时,人们常常过多地考虑合法和期望的输入 条件,以检查程序是否做了它应该做的事情,而忽 视了不合法的和预想不到的输入条件。 用户在使用系统时,输入一些错误指令和参数是经 常发生的,如果软件遇到这种情况不能做出适当的 反应,给出相应的提示信息,可能会误导用户,甚至会 造成严重损失

测试原则续 ▣软件中遗留的错误数量与己经发现的错误数 量成正比。根据这个规律对测试中发现错误 成堆的模块更要仔细测试。例如,在某个著 名的操作系统中,44%的错误仅与4%的模 块有关。 ▣回归测试的关联性要特别引起注意,修改 个错误而引起更多错误的现象并不少见
测试原则续 软件中遗留的错误数量与已经发现的错误数 量成正比。根据这个规律对测试中发现错误 成堆的模块更要仔细测试。例如,在某个著 名的操作系统中,44%的错误仅与4%的模 块有关。 回归测试的关联性要特别引起注意,修改一 个错误而引起更多错误的现象并不少见