验证和确认 ■确认( alidation),是一系列的活动和过 程,目的是想证实在一个给定的外部环 境中软件的逻辑正确性。 需求规格说明的确认 ■程序的确认(静态确认、动态确认) 验证( erification),试图证明在软件生存 期各个阶段,以及阶段间的逻辑协调性、 完备性和正确性
验证和确认 ◼ 确认(Validation),是一系列的活动和过 程,目的是想证实在一个给定的外部环 境中软件的逻辑正确性。 ◼ 需求规格说明的确认 ◼ 程序的确认 (静态确认、动态确认) ◼ 验证(Verification),试图证明在软件生存 期各个阶段,以及阶段间的逻辑协调性、 完备性和正确性
用户要求 运行结果 用 计算机: 我要什么?相符吗? 程序运行得 到的结果 理解正确性/① 运行正确性 表达正确性 输入正确性 需求说明书 源程序 分析员: 程序员: 我可以提供 我要让计算 什么? 机怎么做 理解正确性 设计说明书 理解正确性 设计正确性 编码正确性 表达正确性 设计员: 我要让软件 做什么?
测试信息流 错误 结果)二→(排错 结米(分析 试 改正的软件 测试 软件配置 预期结果 测试配置 可靠性 分析 测试工具 预的可靠性
测试信息流
测试信息流 ■软件配置:软件需求规格说明、软件设计规格说明、 源代码等 ■测试配置:测试计划、测试用例、测试程序等; ■测试工具:测试数据自动生成程序、静态分析程序、 动态分析程序、测试结果分析程序、以及驱动测试的 测试数据库等等 测试结果分析:比较实测结果与预期结果,评价错误 是否发生。 ■排错(调试):对已经发现的错误进行错误定位和确定 出错性质,并改正这些错误,同时修改相关的文档。 修正后的文档再测试:直到通过测试为止
测试信息流 ◼ 软件配置:软件需求规格说明、软件设计规格说明、 源代码等; ◼ 测试配置:测试计划、测试用例、测试程序等; ◼ 测试工具:测试数据自动生成程序、静态分析程序、 动态分析程序、测试结果分析程序、以及驱动测试的 测试数据库等等。 ◼ 测试结果分析:比较实测结果与预期结果,评价错误 是否发生。 ◼ 排错(调试):对已经发现的错误进行错误定位和确定 出错性质,并改正这些错误,同时修改相关的文档。 ◼ 修正后的文档再测试:直到通过测试为止
测试策略途径 ■测试开始于模块层,然后延伸到整个基 于计算机的系统集合中 不同的测试技术适用于不同的时间点 测试是由软件的开发人员和(对大型系 统来说)独立的测试组来管理的 ■测试和调试是不同的活动,但是调试必 须能够适应任何的测试策略
测试策略途径 ◼ 测试开始于模块层,然后延伸到整个基 于计算机的系统集合中 ◼ 不同的测试技术适用于不同的时间点 ◼ 测试是由软件的开发人员和(对大型系 统来说)独立的测试组来管理的 ◼ 测试和调试是不同的活动,但是调试必 须能够适应任何的测试策略