《软件测试过程》PPT课件.ppt
《《软件测试过程》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《软件测试过程》PPT课件.ppt(29页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件质量保证与测试软件质量保证与测试第第9章章 软件测试过程软件测试过程 1内容提要内容提要p9.1 计算机软件的可靠性要素计算机软件的可靠性要素l9.1.1 软件可靠性工程l9.1.2 注意的要素p9.2 软件测试的目的和原则软件测试的目的和原则l9.2.1 软件测试的目的l9.2.2 软件测试的原则p9.3 软件测试过程软件测试过程l9.3.1 软件测试过程概述l9.3.2 单元测试l9.3.3 集成测试l9.3.4 系统测试l9.3.5 验收测试l9.3.6 回归测试2内容提要内容提要p9.4 软件测试与软件开发的关系软件测试与软件开发的关系l9.4.1 软件测试贯穿于整个软件开发生命周
2、期l9.4.2 生命周期测试与V模型p9.5 软件测试的过去、现在和未来软件测试的过去、现在和未来p9.6 我国软件测试产业的现状我国软件测试产业的现状p9.7测试工具选择测试工具选择l9.7.1 白盒测试工具l9.7.2 黑盒测试工具l9.7.3 测试设计和开发工具l9.7.4 测试执行和评估工具l9.7.5 测试管理工具l9.7.6 功能和成本p9.8 小结小结39.1 计算机软件的可靠性要素计算机软件的可靠性要素p9.1.1 软件可靠性工程软件可靠性工程l软件可靠性(Software Reliability)是软件质量中的一个重要因素,同时,它还是软件系统固有特性之一,它表明了一个软件系
3、统按照用户的要求和设计的目标,执行其功能的正确程度。软件可靠性与软件缺陷有关,也与系统输入和系统使用有关。理论上说,可靠的软件系统应该是正确、完整、一致和健壮的。理论上说,可靠的软件系统应该是正确、完整、一致和健壮的。但是实际上任何软件都不可能达到百分之百的正确,而且也无但是实际上任何软件都不可能达到百分之百的正确,而且也无法精确度量。一般情况下,只能通过对软件系统进行测试来度法精确度量。一般情况下,只能通过对软件系统进行测试来度量其可靠性。量其可靠性。l软件可靠性有很多不同描述的定义,目前被广泛接受的定义是:“软件可靠性是软件系统在规定的时间内及规定的环境条件下,软件不引起系统失效的概率。”
4、该概率是系统功能及软件中存在的差错的函数。软件可靠性是软件的客观属性,它只有在软件运行时才表现出软件可靠性是软件的客观属性,它只有在软件运行时才表现出来。因此,一般来说,软件失效就意味着在软件运行时不能够来。因此,一般来说,软件失效就意味着在软件运行时不能够完成需求中所规定的预期任务。完成需求中所规定的预期任务。49.1.2 注意的要素注意的要素p规定的时间规定的时间p规定的环境条件规定的环境条件p不引起系统失效不引起系统失效p研究软件可靠性的目的研究软件可靠性的目的p软件的可靠性与正确性的区别软件的可靠性与正确性的区别59.2 软件测试的目的和原则软件测试的目的和原则p软件测试就是在软件投入
5、运行前,对软件软件测试就是在软件投入运行前,对软件的需求分析、设计、实现编码进行最终审的需求分析、设计、实现编码进行最终审查。查。p表面上看,软件工程的其他阶段都是建设表面上看,软件工程的其他阶段都是建设性的,而软件测试是摧毁性的。性的,而软件测试是摧毁性的。p但是,软件测试的最终目的是建立一个高但是,软件测试的最终目的是建立一个高可靠性的软件系统的一部分。正如本章开可靠性的软件系统的一部分。正如本章开篇所说,它的定义为:软件测试就是为了篇所说,它的定义为:软件测试就是为了发现缺陷而运行程序的过程。发现缺陷而运行程序的过程。69.2.1 软件测试的目的软件测试的目的p著名软件工程专家著名软件工
6、程专家G.J.Myers将软件测将软件测试的目的归纳:试的目的归纳:l测试是程序的执行过程,目的在于发现错误;l一个好的测试用例在于能发现至今未发现的错误;l一个成功的测试是发现了至今未发现的错误的测试。79.2.2 软件测试的原则软件测试的原则p在整个开发过程中要尽早地和不断地进行软件测试。在整个开发过程中要尽早地和不断地进行软件测试。p在开始测试时,不应默认程序中不存在错误。在开始测试时,不应默认程序中不存在错误。p设计测试用例时,要给出测试的预期结果。设计测试用例时,要给出测试的预期结果。p测试工作应避免由系统开发人员或开发机构本身来承担。测试工作应避免由系统开发人员或开发机构本身来承担
7、。p对合理的和不合理的输入数据都要进行测试。对合理的和不合理的输入数据都要进行测试。p重点测试错误群集的程序区段。重点测试错误群集的程序区段。p除检查程序功能是否完备外,还要检查程序功能是否有多除检查程序功能是否完备外,还要检查程序功能是否有多余。余。p用穷举测试是不可能的。用穷举测试是不可能的。p长期完整保留所有的测试用例和测试文件,直至该软件产长期完整保留所有的测试用例和测试文件,直至该软件产品被废弃为止。品被废弃为止。89.3 软件测试过程软件测试过程p9.3.1 软件测试过程概述软件测试过程概述l由于软件错误的复杂性,在软件工程范围内要综合应用测试技术,根据定义域中的取值,通过执行和观
8、察,将预期的行为和实际的行为做比较,以确认测试的结果,因此软件测试是一个综合测试的过程。l软件测试时需要以下三类信息:软件配置:指需求说明书、设计说明书和源程序等。软件配置:指需求说明书、设计说明书和源程序等。测试配置:指测试方案、测试用例和测试驱动程序等。测试配置:指测试方案、测试用例和测试驱动程序等。测试工具:指计算机辅助测试的有关工具。测试工具:指计算机辅助测试的有关工具。9软件测试过程软件测试过程 交付模块单元测试单元测试单元测试集成测试集成测试系统测试验收测试模块模块回归测试贯穿整个测试过程109.3.2 单元测试单元测试p定义定义p测试内容测试内容l接口测试l局部数据结构测试l重要
9、执行路径测试l错误处理测试l边界条件测试p测试方法测试方法l驱动模块l桩模块p测试技术测试技术l静态测试l白盒测试l状态转换测试l功能测试和非功能测试p测试人员测试人员(模拟E)(模拟D)(模拟M)MBACDE驱动模块B测试用例测试结果桩模块1桩模块2(a)软件结构(b)模块B的测试环境119.3.3 集成测试集成测试p定义定义p测试内容测试内容p测试方法测试方法l非增量式集成测试方法l增量式集成测试方法自顶向下增量式集成测试自顶向下增量式集成测试自底向上增量式集成测试自底向上增量式集成测试p测试技术测试技术p测试人员测试人员12两种测试方法的比较两种测试方法的比较 测试测试方法方法优优点点缺
10、点缺点自顶向下1.如果程序错误趋向于发生在程序的顶端时,有利于查出错误。2.可以较早出现程序的轮廓。3.加进输人输出模块后,较方便描述测试用例。1.桩模块较难设计。2.模块介入使结果较难观察。自底向上1.如果程序错误趋向于发生在程序的底端时,有利于查出错误。2.容易产生测试条件和观察测试结果。3.容易编写驱动模块。1.在加入最后一个模块之前,程序不能作为一个整体存在。2.必须给出驱动程序。139.3.4 系统测试系统测试p定义定义p测试内容测试内容l功能测试l性能测试l强度测试l可靠性测试l恢复测试l安装测试l安全性测试l配置测试l可用性测试l兼容性测试l网站测试p测试技术测试技术p测试人员测
11、试人员149.3.5 验收测试验收测试p定义定义p测试内容测试内容p测试技术测试技术l测试l测试p测试人员测试人员159.3.6 回归测试回归测试p定义定义p测试策略测试策略l测试用例库的维护l回归测试包的选择p测试过程测试过程p测试技术测试技术p测试人员测试人员169.4 软件测试与软件开发的关系软件测试与软件开发的关系p9.4.1 软件测试贯穿于整个软件开发生命周期软件测试贯穿于整个软件开发生命周期l上世纪70年代中期以来,逐渐形成了软件开发声明周期的概念。这对于软件产品的质量保证以及组织好软件开发工具有着重要的意义。首先,由于能够把整个开发工作明确地划分为若干个开发步骤,就能把复杂的问题
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件测试过程 软件 测试 过程 PPT 课件
限制150内