什么是软件测试

1.软件测试的起源与定义

十九世纪初:软件规模小,混乱无序,遇到问题进行调试。由开发人员自己完成.

 1957年:软件测试与开发调试区分开.

1972年,软件测试领域的先驱Bill Hetzel博士,在美国的比卡罗来纳大学组织了历史上的第一次正式的关于软件测试的会议。 并在1973年给了软件测试这样一个定义:“就是建立一种信心,认为程序能够按预期的设想运行”在1983年又他又将定义修改为:“评价一个程序和系统的特性或能力,并确定他是否能达到预期的结果。软件测试就是以此为目的的任何行为”。

1979年,Glenford J.Myers提出了“测试是为发现错误而执行的一个程序或者系统的过错”。

上世纪80年代初期:软件和IT行业进入了大发展,软件趋向大型化、高度复杂化,软件的质量越来越重要。这个时候,一些软件的基础理论和实用技术开始形成,并且人们开始为软件开发设计了各种流程和管理方法,软件开发的方式也逐渐由混乱无序的开发过程过度到结构化的开发过程,以结构化分析与设计、机构化评审、结构化程序设计以及 结构化测试为特征。人们还将“质量的概念输入其中,软件测试定义发生了改变,测试不是单纯是一个发现错误的过程,而且将测试作为软件质量保证的主要职能,包含软件质量评价的内容,Bill Hetzel在《软件测试完全指南》(Complete Gude of Softeare Testing)一书中指出:“测试是以评价一个程序或系统属性为目标的任何一种活动。测试是对软件质量的度量。”这个定义至今仍被引用。

1983年,IEEE提出的软件工程术语中给软件测试下的定义是:“使用人工或自动的手段来运行或测试某个软件系统的过程,其目的在与检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别”。这个定义明确指出:软件测试的目的是为了检验软件系统是否满足需求。它再也不是一个一次性的,而且只是开发后期的活动,而是与整个开发流程融合成一体。软件测试已将成为一个专业,需要运用专门的方法和手段,需要专门人才和专家来承担。
2.软件测试模型演变

软件测试模型与软件测试标准的研究也随着软件工程的发展而越来越深入,在20世纪80年代后期Paul Rook提出了著名的软件测试的V模型,旨在改进软件开发的效率和效果。V模型反映出了测试活动与分析设计活动的关系。从左到右描述了基本的开发过程和测试行为,非常明确的标注了测试过程中存在的不同类型的测试,并且清楚的描述了这些测试阶段和开发过程期间各阶段的对应关系。

V模型指出,单元和集成测试应检测程序的执行是否满足软件设计的要求;系统测试应检测系统功能、性能的质量特性是否达到系统要求的指标;验收测试确定软件的实现是否满足用户需要或合同的要求。但V模型存在一定的局限性,它仅仅把测试作为在编码之后的一个阶段,是针对程序进行的寻找错误的活动,而忽视了测试活动对需求分析、系统设计等活动的验证和确认的功能。

Evolutif公司针对V模型的缺陷,相对于V模型,提出了W模型的概念,W模型增加了软件各开发阶段中应同步进行的验证和确认活动。W模型由两个V字型模型组成,分别代表测试与开发过程,明确表示出了测试与开发的并行关系。

    W模型强调:测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求、设计等同样要测试,也就是说,测试与开发是同步进行的。W模型有利于尽早地全面的发现问题。例如,需求分析完成后,测试人员就应该参与到对需求的验证和确认活动中,以尽早地找出缺陷所在。同时,对需求的测试也有利于及时了解项目难度和测试风险,及早制定应对措施,领测认为这将显著减少总体测试时间,加快项目进度。

但W模型也存在局限性。在W模型中,需求、设计、编码等活动被视为串行的,同时,测试和开发活动也保持着一种线性的前后关系,上一阶段完全结束,才可正式开始下一个阶段工作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值