Chapter 17 SOFTWARE TESTING STRATEGIES 软件测试策略把软件测试用例的设计方法集成 到一系列已经周密计划的过的步骤中去,从 而使得软件开发得以成功完成。 17.1软件测试的策略途径 测试是一系列可以事先计划并且可以系统地进 行管理的活动 测试开始于模块层,然后延伸到整个计算机 系统。 不同的测试技术适用于不同的时间点。 测试是由软件开发人员和独立的测试组来管 理的
Chapter 17 SOFTWARE TESTING STRATEGIES 软件测试策略把软件测试用例的设计方法集成 到一系列已经周密计划的过的步骤中去,从 而使得软件开发得以成功完成。 17.1 软件测试的策略途径 测试是一系列可以事先计划并且可以系统地进 行管理的活动。 • 测试开始于模块层,然后延伸到整个计算机 系统。 • 不同的测试技术适用于不同的时间点。 • 测试是由软件开发人员和独立的测试组来管 理的
Chapter 17 SOFTWARE TESTING STRATEGIES 测试和调试是不同的活动,但是调试必须能 够适应任何的测试策略。 软件测试策略必须提供可以用来检验一小段原 代码是否得以正确实现的底层测试,同时也 提供能验证整个系统的功能是否符合用户需 求的高层测试 17.1.1验证和确认 测试是质量可以被评估,错误可以被发现的 最后壁垒,但是,测试不应当被视为一个安 全网
Chapter 17 SOFTWARE TESTING STRATEGIES • 测试和调试是不同的活动,但是调试必须能 够适应任何的测试策略。 软件测试策略必须提供可以用来检验一小段原 代码是否得以正确实现的底层测试,同时也 提供能验证整个系统的功能是否符合用户需 求的高层测试。 17.1.1 验证和确认 测试是质量可以被评估,错误可以被发现的 最后壁垒,但是,测试不应当被视为一个安 全网
Chapter 17 SOFTWARE TESTING STRATEGIES 17.1.2软件测试组织 软件开发者总是负责程序的单个单 元的测试,保证每个单元能够完成设计 的功能。在很多情况下,开发者也进行 集成测试。仅仅在软件体系结构完成后 独立测试组织(ITG)才开始介入 17.1.3一种软件测试策略
Chapter 17 SOFTWARE TESTING STRATEGIES 17.1.2 软件测试组织 软件开发者总是负责程序的单个单 元的测试,保证每个单元能够完成设计 的功能。在很多情况下,开发者也进行 集成测试。仅仅在软件体系结构完成后, 独立测试组织(ITG)才开始介入。 17.1.3 一种软件测试策略
Chapter 17 SOFTWARE TESTING STRATEGIES 系统工程 需求—7 设计 RDCU 编码 单元测试 集成测试 sT← 确认测试 测试策略 系统测试
Chapter 17 SOFTWARE TESTING STRATEGIES C U D R S I V ST 系统工程 需求 设计 编码 单元测试 集成测试 确认测试 系统测试 测试策略
Chapter 17 SOFTWARE TESTING STRATEGIES 软件工程的过程可以看成是一个螺旋结 构。最初,系统工程定乂了软件的功能, 从而引出了软件需求分析,建立了软件 的信息域、功能、行为、性能、约東和 确认标准。沿着螺旋向内前进,经过设 计阶段,最终到达编码。为了开发计算 机软件,我们沿着流线的螺旋前进,每 卷都会降低软件的抽象层次
Chapter 17 SOFTWARE TESTING STRATEGIES 软件工程的过程可以看成是一个螺旋结 构。最初,系统工程定义了软件的功能, 从而引出了软件需求分析,建立了软件 的信息域、功能、行为、性能、约束和 确认标准。沿着螺旋向内前进,经过设 计阶段,最终到达编码。为了开发计算 机软件,我们沿着流线的螺旋前进,每 一圈都会降低软件的抽象层次
Chapter 17 SOFTWARE TESTING STRATEGIES 求分析 高层测试 集成测试 计 编码 单元测试 软件测试步骤
Chapter 17 SOFTWARE TESTING STRATEGIES 高层测试 集成测试 单元测试 软件测试步骤 需求分析 设计 编码
Chapter 17 SOFTWARE TESTING STRATEGIES 对数泊松执行时间模型( logarithmic possion execution- time model)的软件故障模型为: f(t=(1/p)Indopt+1) 瞬时的故障密度,1(t)=/(lpt+1)。 测试人员可以预测测试进程中错误的急剧减少。 如果这个预测模型与实际所收集的错误吻合 的话,那么这个模型就可以用来预测为了达 到一个可以接受的低故障密度,以及测试过 程所需要的时间
Chapter 17 SOFTWARE TESTING STRATEGIES 对数泊松执行时间模型(logarithmic possion execution-time model)的软件故障模型为: F(t)=(1/p)ln(l0pt+1) ; 瞬时的故障密度,l(t)=l0 /(l0 pt+1) 。 测试人员可以预测测试进程中错误的急剧减少。 如果这个预测模型与实际所收集的错误吻合 的话,那么这个模型就可以用来预测为了达 到一个可以接受的低故障密度,以及测试过 程所需要的时间
Chapter 17 SOFTWARE TESTING STRATEGIES 预期的故障密度,1(t) 耐时 的故障数 执行时间,t
Chapter 17 SOFTWARE TESTING STRATEGIES 每 小 时 的 故 障 数 l0 预期的故障密度,l(t) 执行时间,t
Chapter 17 SOFTWARE TESTING STRATEGIES 通过在软件测试过程中收集数据和利用现有的 软件可靠性模型,就可以回答:测试什么时 候完成。 17.2策略问题 明确地指出测试目标。测试的特定目标应当 用可以测度的术语来描述。比如测试有效性 测试覆盖率、故障出现的平均时间、发现和 改正缺陷的开销、允许剩余的缺陷密度或出 现频率
Chapter 17 SOFTWARE TESTING STRATEGIES 通过在软件测试过程中收集数据和利用现有的 软件可靠性模型,就可以回答:测试什么时 候完成。 17.2 策略问题 明确地指出测试目标。测试的特定目标应当 用可以测度的术语来描述。比如测试有效性、 测试覆盖率、故障出现的平均时间、发现和 改正缺陷的开销、允许剩余的缺陷密度或出 现频率
Chapter 17 SOFTWARE TESTING STRATEGIES 17.3单元测试 单元测试完成对最小的软件设计单元一模 块的验证工作。使用过程设计描述作为指南 对重要的控制路径进行测试以发现模块内的 错误。 17.3.1单元测试考虑 对模块接口的测试保证在测试时进出程序单元 的数据流是正确的,对局部数据结构的检查 保证临时存储的数据在算法执行的整个过程 中都能维持其完整性,对边界条件的测试保 证模块在极限的情形下仍然能够正确执行
Chapter 17 SOFTWARE TESTING STRATEGIES 17.3 单元测试 单元测试完成对最小的软件设计单元—模 块的验证工作。使用过程设计描述作为指南, 对重要的控制路径进行测试以发现模块内的 错误。 17.3.1 单元测试考虑 对模块接口的测试保证在测试时进出程序单元 的数据流是正确的,对局部数据结构的检查 保证临时存储的数据在算法执行的整个过程 中都能维持其完整性,对边界条件的测试保 证模块在极限的情形下仍然能够正确执行