zoukankan      html  css  js  c++  java
  • 测试的来源及发展

    1972年,软件测试领域的先驱Bill Hetzel博士(代表论著《The Complete Guide to Software Testing》),提出了对软件测试的定义:就是建立一种信心,认为程序能够按预期的设想运行。为表明软件正确而进行测试!1979Glenford J. Myers(代表论著《The Art of Software Testing》)提出了对软件测试的定义:测试是为发现错误而执行的一个程序或者系统的过程。测试的目的是寻找错误,并且是尽最大可能找出最多的错误。 

    Myers还给出了与测试相关的三个重要观点,那就是: 

    1、测试是为了证明程序有错,而不是证明程序无错误;        

    2、一个好的测试用例是在于它能发现至今未发现的错误;     

    3、一个成功的测试是发现了至今未发现的错误的测试;

    软件测试的诞生

    1983Bill Hetzel博士将定义修订为:评价一个程序和系统的特性或能力,并确定它是否达到预期的结果。将其结果与用户需求或设计结果相比较,如果相符则测试通过,如果不相符则视为Bug。软件测试定义发生改变,测试不单纯是一个发现错误的过程,而且将测试作为软件质量保证(SQA)的主要职能,包含软件质量评价的内容。

    测试是以评价一个程序或者系统属性为目标的任何一种活动。测试是对软件质量的度量。 所以到现在软件测试也有了行业标准(IEEE/ANSI),使用人工或自动的手段来运行或测定某个软件系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。这个定义明确指出:软件测试的目的是为了检验软件系统是否满足需求。它再也不是一个一次性的,而且只是开发后期的活动,而是与整个开发流程融合成一体。  

    发展

         进入上世纪90年代,软件行业开始迅猛发展,软件的规模变的非常大,在一些大型软件开发过程中,测试活动需要花费大量的时间和成本,当时测试的手段几乎完全都是手工测试,测试的效率非常低;并且随着软件复杂度的提高,出现了很多通过手工方式无法完成测试的情况,所以人们尝试编写了一些小程序来辅助测试,但是这还是不能满足大多数软件项目的统一需要。于是,很多测试实践者开始尝试开发商业的测试工具来支持测试,辅助测试人员完成某一类型或某一领域内的测试工作,而测试工具逐渐盛行起来。测试工具可以进行部分的测试设计、实现、执行和比较的工作。通过运用测试工具,可以达到提高测试效率的目的。采用自动比较技术,还可以自动完成测试用例执行结果的判断,从而避免人工比对存在的疏漏问题。设计良好的自动化测试,软件测试自动化可以减少开支,增加有限时间内可执行的测试,在执行相同数量测试时节约测试时间。

    IT行业的迅猛发展

         在软件测试工具平台方面,商业化的软件测试工具已经很多,如捕获/回放工具、Web测试工具、性能测试工具、测试管理工具、代码测试工具等等,这些都有严格的版权限制且价格较为昂贵,但由于价格和版权的限制无法自由使用,当然,一些软件测试工具开发商对于某些测试工具提供了Beta测试版本以供用户有限次数使用。幸运的是,在开放源码社区中也出现了许多软件测试工具,已得到广泛应用且相当成熟和完善。   

  • 相关阅读:
    shell script数组使用函数输出
    Yii2文件上传
    ubuntu 安装遇到黑屏
    使用函数
    ionCube 安装
    记录LNMP环境彻底删除绑定域名及网站文件夹/文件的过程
    lnmp环境 开启pathinfo
    国外知名设计教程网址收集
    26个国外在线教育网站
    前端学习网站汇总
  • 原文地址:https://www.cnblogs.com/yhcTACK/p/15260510.html
Copyright © 2011-2022 走看看