欢迎来到天天文库
浏览记录
ID:11177087
大小:609.50 KB
页数:29页
时间:2018-07-10
《软件质量保证与测试课件第9章 软件测试过程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第9章软件测试过程1内容提要9.1计算机软件的可靠性要素9.1.1软件可靠性工程9.1.2注意的要素9.2软件测试的目的和原则9.2.1软件测试的目的9.2.2软件测试的原则9.3软件测试过程9.3.1软件测试过程概述9.3.2单元测试9.3.3集成测试9.3.4系统测试9.3.5验收测试9.3.6回归测试2内容提要9.4软件测试与软件开发的关系9.4.1软件测试贯穿于整个软件开发生命周期9.4.2生命周期测试与V模型9.5软件测试的过去、现在和未来9.6我国软件测试产业的现状9.7测试工具选择9.7.1白盒测试工具9.7.2黑盒测试工具9.7.3测试设计和开发工具9.7.4测试执
2、行和评估工具9.7.5测试管理工具9.7.6功能和成本9.8小结39.1计算机软件的可靠性要素9.1.1软件可靠性工程软件可靠性(SoftwareReliability)是软件质量中的一个重要因素,同时,它还是软件系统固有特性之一,它表明了一个软件系统按照用户的要求和设计的目标,执行其功能的正确程度。软件可靠性与软件缺陷有关,也与系统输入和系统使用有关。理论上说,可靠的软件系统应该是正确、完整、一致和健壮的。但是实际上任何软件都不可能达到百分之百的正确,而且也无法精确度量。一般情况下,只能通过对软件系统进行测试来度量其可靠性。软件可靠性有很多不同描述的定义,目前被广泛接受的定义是:
3、“软件可靠性是软件系统在规定的时间内及规定的环境条件下,软件不引起系统失效的概率。”该概率是系统功能及软件中存在的差错的函数。软件可靠性是软件的客观属性,它只有在软件运行时才表现出来。因此,一般来说,软件失效就意味着在软件运行时不能够完成需求中所规定的预期任务。49.1.2注意的要素规定的时间规定的环境条件不引起系统失效研究软件可靠性的目的软件的可靠性与正确性的区别59.2软件测试的目的和原则软件测试就是在软件投入运行前,对软件的需求分析、设计、实现编码进行最终审查。表面上看,软件工程的其他阶段都是建设性的,而软件测试是摧毁性的。但是,软件测试的最终目的是建立一个高可靠性的软件系统
4、的一部分。正如本章开篇所说,它的定义为:软件测试就是为了发现缺陷而运行程序的过程。69.2.1软件测试的目的著名软件工程专家G.J.Myers将软件测试的目的归纳:测试是程序的执行过程,目的在于发现错误;一个好的测试用例在于能发现至今未发现的错误;一个成功的测试是发现了至今未发现的错误的测试。79.2.2软件测试的原则在整个开发过程中要尽早地和不断地进行软件测试。在开始测试时,不应默认程序中不存在错误。设计测试用例时,要给出测试的预期结果。测试工作应避免由系统开发人员或开发机构本身来承担。对合理的和不合理的输入数据都要进行测试。重点测试错误群集的程序区段。除检查程序功能是否完备外,
5、还要检查程序功能是否有多余。用穷举测试是不可能的。长期完整保留所有的测试用例和测试文件,直至该软件产品被废弃为止。89.3软件测试过程9.3.1软件测试过程概述由于软件错误的复杂性,在软件工程范围内要综合应用测试技术,根据定义域中的取值,通过执行和观察,将预期的行为和实际的行为做比较,以确认测试的结果,因此软件测试是一个综合测试的过程。软件测试时需要以下三类信息:软件配置:指需求说明书、设计说明书和源程序等。测试配置:指测试方案、测试用例和测试驱动程序等。测试工具:指计算机辅助测试的有关工具。9软件测试过程交付模块单元测试单元测试单元测试集成测试集成测试系统测试验收测试模块模块回归
6、测试贯穿整个测试过程109.3.2单元测试定义测试内容接口测试局部数据结构测试重要执行路径测试错误处理测试边界条件测试测试方法驱动模块桩模块测试技术静态测试白盒测试状态转换测试功能测试和非功能测试测试人员(模拟E)(模拟D)(模拟M)MBACDE驱动模块B测试用例测试结果桩模块1桩模块2(a)软件结构(b)模块B的测试环境119.3.3集成测试定义测试内容测试方法非增量式集成测试方法增量式集成测试方法自顶向下增量式集成测试自底向上增量式集成测试测试技术测试人员12两种测试方法的比较测试方法优点缺点自顶向下1.如果程序错误趋向于发生在程序的顶端时,有利于查出错误。2.可以较早出现程序
7、的轮廓。3.加进输人/输出模块后,较方便描述测试用例。1.桩模块较难设计。2.模块介入使结果较难观察。自底向上1.如果程序错误趋向于发生在程序的底端时,有利于查出错误。2.容易产生测试条件和观察测试结果。3.容易编写驱动模块。1.在加入最后一个模块之前,程序不能作为一个整体存在。2.必须给出驱动程序。139.3.4系统测试定义测试内容功能测试性能测试强度测试可靠性测试恢复测试安装测试安全性测试配置测试可用性测试兼容性测试网站测试测试技术测试人员149.3.5验收测试定
此文档下载收益归作者所有