软件测试第1章 绪论.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
20世纪70年代中期以来,形成了软件生存期概念。 这时人们对于软件测试的认识更广泛,也更深刻了。 这对于软件产品的质量保障以及组织好软件开发工具有着重要的意义。 首先,由于能够把整个开发工作明确地划分成若干个开发步骤,就把复杂的问题按阶段分别加以解决。 其次,把软件开发划分成阶段,就对中间产品给出了若干个监控点,提高了开发过程的可见度,为各阶段实现目标的情况提供了检验的依据。 即使只谈程序本身的正确性,它也和编码以前所完成的需求分析及软件设计工作进行得如何密切相关。 因此,即使针对源程序进行测试,所发现的问题其根源可能在开发前期的各个阶段。解决问题、纠正错误也必须追溯到前期的工作。 图1.4给出了测试工作与软件开发前期工作的关系。 图中开发工作是自上而下进行的,而几种不同的测试都会涉及前期工作的不同阶段。 图1.4 测试与开发前期工作的关系 确认、验证与测试在整个软件开发过程中作为质量保证的手段,应当最终保证软件产品的正确性、完整性和一致性。 我们可以把确认、验证与测试活动分为三类(如图1.5所示)。 图1.5 三类确认、验证与测试活动 (1)完整性检验—验证每一开发阶段(或开发步骤)中产品的完整性;分析每一产品,确保其内部的一致与完全。 (2)进展检验—保证各个开发阶段(或开发步骤)之间其规格说明书的完全性和一致性。 (3)适用性与充分性检验—把取得的结果与对问题的理解作比较,保证所完成的结果是必要而充分的解。 在整个软件生存期各阶段中确认、验证与测试活动包括以下阶段。 (1)需求分析阶段 (2)概要设计阶段 (3)详细设计阶段 (4)编码及测试阶段 (5)运行及维护阶段 图1.6 软件开发面临的实际问题 1.3 什么是软件测试 1973年W.Hetzel曾经指出,测试是对程序或系统能否完成特定任务建立信心的过程。 G.J.Myers则持另外的观点,他认为:“程序测试是为了发现错误而执行程序的过程”。 以上讨论的软件测试定义都是强调软件的正确。 有些测试专家认为软件测试的范围应当包括得更为广泛些。 J. B. Goodenough认为测试除了要考虑正确性以外,还应关心程序的效率、健壮性(robustness)等因素,并且应该为程序调试提供更多的信息。 他列出了一张测试组成表(见图1.7)。 图1.7 Goodenough关于软件测试的定义 S.T.Red wine认为,软件测试应该包含以下几种测试覆盖: (1)功能覆盖; (2)输入域覆盖; (3)输出域覆盖; (4)函数交互覆盖; (5)代码执行覆盖。 至于测试的范围,A.E.Westley将测试分为四个研究方向,即: (1)验证技术(目前验证技术仅适用于特殊用途的小程序); (2)静态测试(应逐步从代码的静态测试往高层开发产品的静态测试发展); (3)测试数据选择; (4)测试技术的自动化。 1.4 应该怎样认识软件测试 ●认为测试工作不如设计和编码那样具有开拓性,也不容易看到进展。 ● 以发现软件错误为目标的测试是非建设性的,甚至是破坏性的。 ● 认为测试工作枯燥无味,不能引起人的兴趣。 ● 测试工作的确是艰苦而细致的工作。 ● “这程序不会有问题,因为是我写的。” 为了澄清认识和端正态度,有必要对以下几个方面的问题加以说明。 1.测试的基本原则 原则1:穷尽测试是不可能的。所谓穷尽测试就是对所有输入数据的各种可能进行排列组合试验的测试。 图1.8 具有四个判断和一个循环的程序 原则2:测试工作具有创造性,但很困难。 Bill Hetzel总结出成功测试的必要元素: ● 创造性和洞察力; ● 商业知识; ● 正确的测试方法; ● 良好的测试经验。 原则3:测试旨在防止错误的发生。 原则4:测试是有风险的。 原则5:测试需要有计划性。 测试计划就是定义测试目标和测试步骤的文档,主要包括两个过程。 ● 计划:确定测试对象、描述测试方法、定义测试步骤。 ● 设计:包括测试过程的设计和测试用例的设计。 原则6:测试需要有独立性。 测试是与开发并行的,每一阶段的具体工作如图1.9所示。 图1.9 测试与开发并行 2.证实程序的正确性是测试的目的吗 如果我们测试活动的目标始终围绕着揭露程序中的错误,那么在选取测试数据时,自然要考虑那些易于发现程序错误的数据,并且认为能够发现程序错误的数据是好的数据,能够高效率揭露程序错误的测试是成功的测试;而持相反观点的人必然认为那些是坏的数据,找出程序错误的测试是失败的

文档评论(0)

132****9295 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档