电子斜技大学 软件技术基础 5.4软件测试 主讲教师:刘民岷 航空航天学院 a口2 软件技术基础课程组
软件技术基础 主讲教师:刘民岷 航空航天学院 软件技术基础课程组
软件错误难以避免 xinibalizauon Error 提示 NX许可证错误:许可证骏务器关机或未响应。检查 UGS_LICENSE_SERVER设置是否正确.[-96】 Access violation at address 00408D3F in module 'GGJ12.exe'.Read of address 00000000 确定 确定 ☒ 8 error IPersistFi1e:Save失败;代码0x80070005. HPCP1020 STRAY.EXE-应用程序错安 error 拒绝防问。 3 A 8 应月程字发生异常未知的软件异常(0xC0000417) error 确定 确定 取消 电子科技大学刘民岷 软件测试 2
电子科技大学 刘民岷 软件测试 2
如何尽量减少软件错误? 敏生测式 电子科技大学刘民岷 软件测试 3
电子科技大学 刘民岷 软件测试 3
1、软件测试概述 基本概念 -软件测试:为了发现错误而执行程序的过程 -调试:找出程序中的错误原因、位置并加以纠正 -可靠性:在给定时间内,软件不发生错误的概率 软件测试的目标 测试是为了发现软件中的错误而运行软件的过程; -好的测试方案是尽可能地发现至今尚未发现的错误的测试 方案; -成功的测试是发现出至今尚未发现的错误的测试。 THE SOFTWARE DEVELOPMENT CYCLE 电子科技大学刘民岷 软件测试 2
电子科技大学 刘民岷 软件测试 4 ⚫ 基本概念 –软件测试:为了发现错误而执行程序的过程 –调试:找出程序中的错误原因、位置并加以纠正 –可靠性:在给定时间内,软件不发生错误的概率 ⚫ 软件测试的目标 –测试是为了发现软件中的错误而运行软件的过程; –好的测试方案是尽可能地发现至今尚未发现的错误的测试 方案; –成功的测试是发现出至今尚未发现的错误的测试
1、软件测试概述(续) 软件测试的原则 -不要抱“软件不会有错或查不出错”的幻想; -设计测试用例时,应同时确定输出结果; 一设计测试用例时,应包括合理的输入数据和不合理的输入 数据; -软件设计者应当避免测试自己的程序; -严格全面地执行测试计划; 一测试完成后,应该妥善保存测试计划、测试用例、出错统 计和最终分析报告。 THE SOFTWARE DEVELOPMENT CYCLE 电子科技大学刘民岷 软件测试 5
电子科技大学 刘民岷 软件测试 5 ⚫ 软件测试的原则 –不要抱“软件不会有错或查不出错”的幻想; –设计测试用例时,应同时确定输出结果; –设计测试用例时,应包括合理的输入数据和不合理的输入 数据; –软件设计者应当避免测试自己的程序; –严格全面地执行测试计划; –测试完成后,应该妥善保存测试计划、测试用例、出错统 计和最终分析报告
1、软件测试概述(续) 软件测试的方式 一人工测试 一人工对软件进行阅读和检查; 检查软件结构是否合理,功能是否达到设计说明要求; 各模块接口是否正确;模块内部控制逻辑是否正确; 进行数据结构分析和语法分析; - 动态测试 一上机测试,用设计好的测试用例执行程序; -自动测试 一利用测试工具进行测试; 一包括:静态分析工具、动态分析工具和测试评估工具。 电子科技大学刘民岷 软件测试 6
电子科技大学 刘民岷 软件测试 6 ⚫ 软件测试的方式 –人工测试 – 人工对软件进行阅读和检查; – 检查软件结构是否合理,功能是否达到设计说明要求; 各模块接口是否正确;模块内部控制逻辑是否正确; 进行数据结构分析和语法分析; –动态测试 – 上机测试,用设计好的测试用例执行程序; –自动测试 – 利用测试工具进行测试; – 包括:静态分析工具、动态分析工具和测试评估工具
2、软件测试策略 设计 软件 系统 被测模块 单元 信息 需求 其它 测试 元素 被测模块 单元 集成 确认 系统 测试 测试 已集成 测试 已确认 测试 可交付 的软件 的软件 的软件 被测模块 单元 测试 单元测试 组装测试 确认测试 系统测试 电子科技大学刘民岷 软件测试 7
电子科技大学 刘民岷 软件测试 7 单元 测试 单元 测试 单元 测试 集成 测试 确认 测试 系统 测试 被测模块 被测模块 被测模块 可交付 的软件 已确认 的软件 已集成 的软件 设计 信息 软件 需求 系统 其它 元素 单元测试 组装测试 确认测试 系统测试
2、软件测试策略(续) 单元测试 一目的:发现模块的子程序或过程的实际功能与模块的功 能和接口描述是否符合;是否有编码错误。 -主要内容: -模块接口测试; 一局部数据结构测试; -重要路径测试; 一出错处理能力测试; 一边界条件测试。 包括人工测试和上机测试两步。 - THE SOFTWARE DEVELOPMENT CYCLE 电子科技大学刘民岷 软件测试 2 8
电子科技大学 刘民岷 软件测试 8 ① 单元测试 –目的:发现模块的子程序或过程的实际功能与模块的功 能和接口描述是否符合;是否有编码错误。 –主要内容: – 模块接口测试; – 局部数据结构测试; – 重要路径测试; – 出错处理能力测试; – 边界条件测试。 –包括人工测试和上机测试两步
2、软件测试策略(续) 2 组装测试一集成测试或联合测试 一非渐增式组装测试:一次性将所有模块组装起来进行整 体测试 一优点:各模块测试并行进行,可加快测试速度, 一缺点:难于找到错误产生的原因。 -渐增式组装测:将模块逐步组装成大系统,每连接一个 模块就进行一次测试,直到组装完成 -优,点:能及时发现模块间接口的错误,对问题的诊断 和定位容易;测试更为彻底; -缺点:增加了测试的开销。 一两种策略:自底向上测试、自顶向下测试 电子科技大学刘民岷 软件测试 9
电子科技大学 刘民岷 软件测试 9 ② 组装测试-集成测试或联合测试 –非渐增式组装测试:一次性将所有模块组装起来进行整 体测试 – 优点:各模块测试并行进行,可加快测试速度; – 缺点:难于找到错误产生的原因。 –渐增式组装测:将模块逐步组装成大系统,每连接一个 模块就进行一次测试,直到组装完成 – 优点:能及时发现模块间接口的错误,对问题的诊断 和定位容易;测试更为彻底; – 缺点:增加了测试的开销。 – 两种策略:自底向上测试、自顶向下测试
2、软件测试策略(续) 确认测试一有效性测试 -有效性测试:在模拟环境下,用黑盒测试法验证软件是 否满足需求说明书的要求 -软件配置复查:保证所有文档的完整性和正确性,保证 软件质量符合要求 -测试:开发者陪同用户在开发环境下测试,评价软件的 功能、可用性、可靠性、性能和支持等 一测试:用户在实际使用环境下进行测试,目的是测试可 支持性 一验收测试:以用户为主的测试,确定系统功能和性能的 可接受性 电子科技大学刘民岷 软件测试 10
电子科技大学 刘民岷 软件测试 10 ③ 确认测试-有效性测试 –有效性测试:在模拟环境下,用黑盒测试法验证软件是 否满足需求说明书的要求 –软件配置复查:保证所有文档的完整性和正确性,保证 软件质量符合要求 – α测试:开发者陪同用户在开发环境下测试,评价软件的 功能、可用性、可靠性、性能和支持等 – β测试:用户在实际使用环境下进行测试,目的是测试可 支持性 –验收测试:以用户为主的测试,确定系统功能和性能的 可接受性