学分高考 软件测试

软件测试的历史和发展

发布时间: 2023-04-08 06:59:11

软件测试的历史和发展

[��ǩ:����]

本文是一篇译文,翻译的是Dave Gelperin和William C. Hetzel 发表的一篇名为“软件测试发展”(THE GROWTH OF SOFTWARE TESTING)的文章。

本文并不枯燥,看完后你也许会和我有同样的感受:原来软件测试也能追本溯源(不是程序员拍脑袋想出来的),也有其存在的必然性与合理性。

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

1957年之前-调试为主(Debugging Oriented)

1957–1978-证明为主(Demonstration Oriented)

1979–1982-破坏为主(Destruction Oriented)

1983–1987-评估为主(evaluation Oriented)

1988–至今-预防为主(Prevention Oriented)

调试为主

20世纪50年代,计算机刚诞生不久,只有科学家级别的人才会去编程,需求和程序本身也远远没有现在这么复杂多变,相当于开发人员一人承担需求分析,设计,开发,测试等所有工作,当然也不会有人去区分调试和测试。然而严谨的科学家们已经在开始思考 “怎么知道程序满足了需求?”这类问题了。

证明为主

1957年,Charles Baker在他的一本书中对调试和测试进行了区分:
调试(Debug):确保程序做了程序员想它做的事情
测试(Testing):确保程序解决了它该解决的问题

这是软件测试史上一个重要的里程碑,它标志测试终于自立门户师出有名了。
当时计算机应用的数量,成本和复杂性都大幅度提升,随之而来的经济风险也大大增加,测试就显得很有必要了,这个时期测试的主要目就是确认软件是满足需求的,也就是我们常说的“做了该做的事情”。

破坏为主

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

The process of executing a program with the intent of finding errors.
测试是为发现错误而执行程序的过程。

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

评估为主

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

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

出现测试经理(test manager),测试分析师(test analyst)等职称

开展正式的国际性测试会议和活动

发表大量测试刊物

发布相关国际标准

以上种种都预示着:软件测试正作为一门独立的,专业的,具有影响力的工程学发展起来了。

预防为主

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

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

(转自网络)

简述软件测试发展的历史及软件测试的现状

软件测试的发展历程:

随着计算机的诞生——在软件行业发展初期就已经开始软件测试,但这一阶段还没有系统意义上的软件测试,更多的是一种类似调试的测试。测试是没有计划和方法的,测试用例的设计和选取也都是根据测试人员的经验随机进行的,大多数测试的目的是为了证明系统可以正常运行。

20世纪50年代后期到20世纪60年代,各种高级语言相继诞生,测试的重点也逐步转入使用高级语言编写的软件系统中,但程序的复杂性远远超过了以前。尽管如此,由于受到硬件的制约。在计算机系统中,软件仍然处于次要位置。软件正确性的把握仍然主要依赖于编程人员的技术水平。因此,这一时期测试理论和方法的发展比较缓慢。

20世纪70年代以后,随着计算机处理速度的大幅度提高,存储器容量的快速增加,软件在整个计算机系统中的地位变得越来越重要。随着软件开发技术的成熟和完善,软件的规模也越来越大,复杂度也大大增加。因此,软件的可靠性面临着前所未有的危机,给软件测试工作带来了更大的挑战,很多测试理论和测试方法应运而生,逐渐形成了一套完整的体系,培养和造就了一批批出色的测试人才。

如今在软件产业化发展的大趋势下,人们对软件质量、成本和进度的要求也越来越高,质量的控制已经不仅仅是传统意义上的软件测试。传统的软件测试大多是基于代码运行的,并且常常是在软件开发的后期才开始进行,但大量研究结果表明设计活动引入的错误占软件开发过程中出现的所有错误数量的50%~65%。因此,越来越多的声音呼吁,软件产业化要求有一个规范的软件开发过程。而在整个软件开发过程中,测试已经不再只是基于程序代码进行的活动,而是一个基于整个软件生命周期的质量控制活动,贯穿着软件开发的各个阶段。

我国软件测试的现状:

在我国,软件测试可能还算不上一个真正的产业,许多软件开发企业对软件测试认识淡薄,软件测试人员与软件开发人员往往比例失调,而在发达国家和地区软件测试已经成了一个产业,微软的开发工程师与测试工程师的比例是1:2,国内一般公司是6:1.很多人认为导致这种现状产生的原因与接受的传统教育和开发习惯有相当大的关系。软件行业相对于其他一些行业来说是相当年轻的,开发工作包含了需求管理、分析、设计、测试和部署等工作,由于软件业的历史年轻,而且一般人认为,开发周期前面的工作没有完善之前,比较难于考虑到稍后的阶段。因此,可以看到软件业大部分的精力都投入在需求管理、分析、设计三个阶段的开发,造成了这些方面软件和方法论的快速发展,而忽视了测试工作。

总之,与一些发达国家相比,国内测试工作还存在一定的差距。主要体现在测试意识以及测试理论的研究、大型测试工具软件的开发以及从业人员数量等方面。其实,这与中国整日软件的发展水平是一致的,因为我国整体的软件产业水平和软件发达国家水平相比有较大的差距,而作为软件产业重要一环的软件测试,必然有不小的差距。但是,我们在软件测试实现方面并不比国外差,国际上优秀的测试工具,我们基本都有,这些工具所体现的思想我们也有深刻的理解,很多大型系统在国内都能得到了很好的测试。

今天太阳也东升,而后西沉,早晨盛开的花儿也将凋谢;今天的太阳也西沉,而后东升,阳光照射之处遍地花开,但却已非昨日之花。

软件测试的历史发展阶段?

软件测试的发展历史(转). 20世纪60年代(软件工程建立前),为表明程序正确而进行测试。. 1972年在北卡罗来纳大学举行了首届软件测试正式会议。. 1975年John Good Enough和Susan Gerhart在IEEE上发表了《测试数据选择的原理》的文章,软件测试被确定为一种研究方向。. 1979年,Glenford Myers的《软件测试艺术》,对测试做了定义:测试是为发现错误而执行的一个程序或者系统的过程。. 20世纪80年代早期,“质量”的号角开始吹响。软件测试定义发生了改变,测试不单纯是一个发现错误的过程,而且包含软件质量评价的内容。制定了各类标准。. 1983年,Bill Hetzel在《软件测试完全指南》中指出:测试是以评价一个程序或者系统属性为目标的任何一种活动,测试是对软件质量的度量。. 20世纪90年代,测试工具盛行起来。. 1996年提出的测试能力成熟度TCMM(Testing Capability Maturity Model)、测试支持度TSM(Testability Support Model)、测试成熟度TMM(Testing Maturity Model)。. 到了2002年,Rick和Stefan在《系统的软件测试》一书中对软件测试做了进一步定义:测试是为了度量和提高被测软件的质量,对测试软件进行工程设计、实施和维护的整个生命周期过程。www.ltesting.cn中国软件测试培训网

中国软件测试史是从什么时候开始的

这个太有深度了,这个没意义吧,任何公司只要写软件就得测试,测试就是看是不是成立了一个部门,但是公司成立测试部门难道还当做历史事件公布?所以大家都默默的做,谁知道谁是第一呢?所以,你可以找比如CMMI这个东西,哪个公司是第一个客户,第一次开始标准化的做软件测试;具体谁第一个吃葡萄,我也不知道,你找找吧

以上的文章内容软件测试的历史和发展就是小编最近整理出来的,大家可以互相讨论吐槽发表自己的观点哦~!查看更多相关文章请访问学分高考

温馨提示:
本文【软件测试的历史和发展】由作者教培参考提供。该文观点仅代表作者本人,学分高考系信息发布平台,仅提供信息存储空间服务,若存在侵权问题,请及时联系管理员或作者进行删除。
我们采用的作品包括内容和图片部分来源于网络用户投稿,我们不确定投稿用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的权利,请联系我站将及时删除。
内容侵权、违法和不良信息举报
Copyright @ 2024 学分高考 All Rights Reserved 版权所有. 湘ICP备17021685号