- 1、本文档共74页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章 软件测试基础;Hello Everyone;本章要点;前言;2.1.1 软件测试的定义和对象
1.软件测试定义
1979年,Glenford J. Myers在其著作《软件测试的艺术》对软件测试定义为:“测试是为了发现错误而执行的一个程序或系统的过程”,这个定义不管是在早期还是当今,都有着相当大的影响。
1983年,Bill Hetzel在《软件测试完全指南》中指出:“测试是以评价一个程序或系统属性为目标的任何一种活动,测试是对软件质量的度量”。这个定义是对Glenford J. Myers定义的很好的补充,至今仍被引用。
1983年IEEE对软件测试下的定义是:“使用人工或自动的手段来运行或测定某个软件系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别”,软件测试不再被认为是一个一次性的、只属于开发后期的活动,而应与软件的整个开发流程融为一体。;2.1.1 软件测试的定义和对象;2.1.2 验证与确认(VV);2.1.2 验证与确认(VV);2.1.2 验证与确认(VV);2.1.2 验证与确认(VV);2.2.1 按开发阶段分类
按开发阶段,软件测试可以划分为:
单元测试
集成测试
确认测试
系统测试
验收测试;2.2.1 按开发阶段分类;2.2.1 按开发阶段分类;2.2.1 按开发阶段分类;2.2.1 按开发阶段分类;2.2.1 按开发阶段分类;2.2.2 按测试实施组织分类;2.2.2 按测试实施组织分类;2.2.2 按测试实施组织分类;补充知识;补充知识;补充知识;补充知识;补充知识;补充知识;2.2.2 按测试实施组织分类;2.2.3 按测试策略分类;2.2.3 按测试策略分类;2.2.3 按测试策略分类;2.2.3 按测试策略分类;2.2.4 按测试执行方式分类;2.2.5 其他测试方法和技术;1.回归测试
回归测试(Regression Testing)是为了验证对软件引入修改的正确性及其影响而进行的测试。?
软件开发的各个阶段都会进行多次回归测试。
;2.迭代测试
是从迭代的开发模式中延伸出的。
在每个迭代周期中,测试工作由两方面组成:
对当前迭代周期产品的增量测试。
对原先迭代周期已完成功能的回归测试。
迭代开发模式继承了瀑布开发模式的优点:全面、计划性强和易于管理。更为重要的是,迭代开发模式将测试工作分布到每个迭代周期中,使测试工作提前进行,以尽早地发现软件中的缺陷,从而降低软件开发的风险和成本。;2.2.5 其他测试方法和技术;2.2.5 其他测试方法和技术;2.2.5 其他测试方法和技术;2.2.5 其他测试方法和技术;2.2.5 其他测试方法和技术;2.2.5 其他测试方法和技术;2.2.5 其他测试方法和技术;2.2.5 其他测试方法和技术;2.2.5 其他测试方法和技术;2.2.5 其他测试方法和技术;2.2.5 其他测试方法和技术;测试过程的质量将直接影响测试实施的效果。软件测试过程和软件开发过程一样,都应遵循软件工程的原理。?;2.3.1 软件测试过程模型;1.Ⅴ模型
反映了测试活动与分析设计活动的关系,如图所示。
V模型指出,单元和集成测试应检测程序的执行是否满足软件设计的要求;系统测试应检测系统功能、性能的质量特性是否达到系统要求的指标;确认测试和验收测试追溯软件需求规格说明书进行测试,确认软件的实现是否满足用户需要或合同的要求。
局限性:仅把测试作为在编码之后的一个阶段,主要是针对程序进行的寻找错误的活动,对软件设计、需求分析等活动的测试要到后期才能完成。使修复错误的代价大大增加,不利于提高软件开发的测试的效率。;2.3.1 软件测试过程模型;2.3.1 软件测试过程模型;W模型强调:测试伴随着软件开发的各阶段,测试的对象不仅仅是程序,需求分析、设计等同样要测试。测试与开发是同步进行的。
W模型有利于尽早地、全面地进行测试,以发现软件中存在的问题。
W模型也有利于全过程地测试。
W模型存在局限性。在W模型中,需求分析、设计、编码等活动被视为串行的,同时,测试和开发活动之间也是线性的关系,某开发活动完全结束后才可以正式开始进行测试,这样就无法支持迭代、自发性及变更调整。;3.H模型
V模型和W模型都把软件的开发过程中的需求分析、设计、编码等活动视为串行的,而这并不现实。
故与各开发阶段相对应的测试之间也不可能保持严格的次序关系。
同时,各层次的测试(单元测试、集成测试、系统测试)也存在反复触发、迭代和增量关系。;为解决以上问题,H模型被提出。
它将测试活动完全独立出来,形成了一个完全独立的流程,将测试准备活动和测试执行活动清晰地体现出来,如图所示。
图表示的
文档评论(0)