第七章测试 基本概念 单元测试 ■集成测试 验收测试 设计测试方案 ■调试 软件可靠性 日立预测法 ■自动测试工具
第七章 测试 ◼ 基本概念 ◼ 单元测试 ◼ 集成测试 ◼ 验收测试 ◼ 设计测试方案 ◼ 调试 ◼ 软件可靠性 ◼ 日立预测法 ◼ 自动测试工具
基本概念 ■7.1.1软件测试的目杉 ■7.12黑盒测试和白盒测试 ■713软件测试的步骤 ■7.1.4测试阶段的信息流
基本概念 ◼ 7.1.1 软件测试的目标 ◼ 7.1.2 黑盒测试和白盒测试 ◼ 7.1.3 软件测试的步骤 ◼ 7.1.4 测试阶段的信息流
基本概念 ■软件测试的目标 测试是为了发现程序中的错误而执行程序的过 程 只能尽可能查错,不能证明程序中没有错 测试员与程序员不应是同一个人
基本概念 ◼ 软件测试的目标 ◼ 测试是为了发现程序中的错误而执行程序的过 程 ◼ 只能尽可能查错,不能证明程序中没有错 ◼ 测试员与程序员不应是同一个人
基本概念 黑盒测试和白盒测试 黑盒测试--经知道产品应该具有的功能,检 验每个功能是否都能正常使用--功能测试 ■白盒测试-已经知道产品内部工作过程,检验 产品内部动作是否按规定正常使用-结构测试
基本概念 ◼ 黑盒测试和白盒测试 ◼ 黑盒测试----已经知道产品应该具有的功能,检 验每个功能是否都能正常使用----功能测试 ◼ 白盒测试----已经知道产品内部工作过程,检验 产品内部动作是否按规定正常使用----结构测试
基本概念 ■软件测试的步骤 ■模块测试 单元测试 子系统测试 测试模块的接口 系统测试 和子系统测试合称集成测试 验收测试 ■平行运行
基本概念 ◼ 软件测试的步骤 ◼ 模块测试 ◼ 单元测试 ◼ 子系统测试 ◼ 测试模块的接口 ◼ 系统测试 ◼ 和子系统测试合称集成测试 ◼ 验收测试 ◼ 平行运行
基本概念 ■测试阶段的信息流 测试结果(评价 错误 测试配重(测试 人歌 调试 眯安 正确 可靠性 模型}毒性预测 图7.2测试阶段的信息流
基本概念 ◼ 测试阶段的信息流
单元测试 ■721单元测试考虑 ■722单元测试过程
单元测试 ◼ 7.2.1 单元测试考虑 ◼ 7.2.2 单元测试过程
单元测试 ■单元测试考虑 ■模块接口 内部检査:传输参数的数目、属性、单位、次序 是否匹配;全程变量的定义是否一致;只做输入 的变元有无被修改 外部检查:打开、结束、关闭文件的操作;文件 和属性;Ⅳ○错误处理;输出拼写 ■局部数据结构 数据说明( declaration);初始化与缺省值的设置 变量名拼写;数据类型的相容性;上\下溢出及 地址异常
单元测试 ◼ 单元测试考虑 ◼ 模块接口 ◼ 内部检查:传输参数的数目、属性、单位、次序 是否匹配;全程变量的定义是否一致;只做输入 的变元有无被修改 ◼ 外部检查:打开、结束、关闭文件的操作;文件 和属性;I\O错误处理;输出拼写 ◼ 局部数据结构 ◼ 数据说明(declaration);初始化与缺省值的设置; 变量名拼写;数据类型的相容性;上\下溢出及 地址异常
单元测试 单元测试考虑 ■重要的执行通路常见的错误 ■计算次序问题 不同类型混合运算(例:比较类型不同的量) ■初值设置错误 精度问题(例:精度不够导致两变量不可能相等, 而程序中等待相等条件的出现) 表达式错误 循环终止条件错误(例:次数差1,或陷入死循环)
单元测试 ◼ 单元测试考虑 ◼ 重要的执行通路 常见的错误 ◼ 计算次序问题 ◼ 不同类型混合运算(例:比较类型不同的量) ◼ 初值设置错误 ◼ 精度问题(例:精度不够导致两变量不可能相等, 而程序中等待相等条件的出现) ◼ 表达式错误 ◼ 循环终止条件错误(例:次数差1,或陷入死循环)
单元测试 单元测试考虑 ■出错处理通路常见的问题 ■输岀的错误信息难以理解,不能确定错误位置 ■描述的错误与实际错误不符 ■处理之前系统已经干预 ■处理不正确 边界条件 单元测试中最后,也可能是最重要的任务,因为软 件常在其边界失效
单元测试 ◼ 单元测试考虑 ◼ 出错处理通路 常见的问题 ◼ 输出的错误信息难以理解,不能确定错误位置 ◼ 描述的错误与实际错误不符 ◼ 处理之前系统已经干预 ◼ 处理不正确 ◼ 边界条件 ◼ 单元测试中最后,也可能是最重要的任务,因为软 件常在其边界失效