软件测试的发展历史有多少人知道?

发布于 更新于

技术文章

迄今为止,软件测试的发展一共经历了五个重要时期:01调试软件测试是伴随着软件的产生而产生的。20世纪50年代,计算机刚诞生不久,只有科学家级别的人才会去编程,需求和程序本身也远远没有现在这么复杂多变,只需要开发人员一人承担需求分析、设计、开...

迄今为止,软件测试的发展一共经历了五个重要时期:


01调试



软件测试是伴随着软件的产生而产生的。20世纪50年代,计算机刚诞生不久,只有科学家级别的人才会去编程,需求和程序本身也远远没有现在这么复杂多变,只需要开发人员一人承担需求分析、设计、开发、测试等所有工作即可。而开发人员将测试等同于“调试”,其目的是纠正软件中已经知道的故障。这部分的工作常常由开发人员自己完成。



02证明



1957年,Charles Baker在他的一本书中对调试和测试进行了区分:


  调试(Debug):确保程序做了程序员想它做的事情


  测试(Testing):确保程序解决了它该解决的问题


  这是软件测试史上一个重要的里程碑,它标志测试终于自立门户师出有名了。


当时计算机应用的数量,成本和复杂性都大幅度提升,随之而来的经济风险也大大增加,测试就显得很有必要了,这个时期测试的主要目就是确认软件是满足需求的,也就是我们常说的“做了该做的事情”。



03破坏


1979年,《软件测试的艺术》 (The Art of Software Testing)第一版问世,这本书是测试界的经典之作。书中给出了软件测试的经典定义:


The process of executing a program with the intent of finding errors.


测试是为发现错误而执行程序的过程。


这个观点较之前证明为主的思路,是一个很大的进步。我们不仅要证明软件做了该做的事情,也要保证它没做不该做的事情,这会使测试更加全面,更容易发现问题。



04评估


到了上世纪80年代初期,软件和IT行业进入了大发展,软件趋向大型化、高复杂度,软件的质量越来越重要。BillHetzel在《软件测试完全指南》(CompleteGuideofSoftwareTesting)一书中指出:“测试是以评价一个程序或者系统属性为目标的任何一种活动。测试是对软件质量的度量。”这个定义至今仍被引用。


1983年,美国国家标准局(National Bureau of Standards)发布“Guideline for Lifecycle Validation, Verification and Testing of Computer Software”,也就是我们常说的VV&T。VV&T提出了测试界很有名的两个名词:验证(Verification)和确认(Validation)


人们提出了在软件生命周期中使用分析、评审、测试来评估产品的理论。软件测试工作在这个时期得到了快速的发展。


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



05预防


预防为主是当下软件测试的主流思想之一。STEP(Systematic Test and Evaluation Process)是最早的一个以预防为主的生命周期模型,STEP认为测试与开发是并行的,整个测试的生命周期也是由计划,分析,设计,开发,执行和维护组成,也就是说,测试不是在编码完成后才开始介入,而是贯穿于整个软件生命周期。我们都知道,没有100%完美的软件,零缺陷是不可能的,所以我们要做的是:尽量早的介入,尽量早的发现这些明显的或隐藏的bug,发现得越早,修复起来的成本越低,产生的风险也越小。


而目前常见的预防手段,主要分为非工具手段与工具手段两种。


非工具手段:如评审与Code Review、代码规范、ShowCase交叉试用等。


工具手段:如单元测试(UT)、静态代码检查、代码质量管理工具(SONAR)等。



06结语


虽然每一个发展阶段对软件测试的认识都有其局限性,但是前辈们一直在思考和总结前人的经验,创造性地提出新的理论和方向,这种精神非常值得尊敬和学习。所谓以铜为镜,可正衣冠;以史为镜,可明得失。知道了从哪里来,方能更好的明白该到哪里去。

如有疑问,请留言告知,或者咨询柠檬班自动化测试培训平台:www.ceshiren.com官网客服哦

留言领取100G软件测试全面课程视频。


继续阅读