软件测试是伴随着软件的诞生而产生的,在早期的软件开发中,把测试和调试等同起来,目的就是要修正软件中已经存在的bug。通常都是开发人员自己去做这些工作,在测试中投入很少,测试也很晚,往往是在代码形成、产品基本成型的时候,才会进行测试。#MCN风帆计划#
直到年,软件测试才开始与调试区别开来,由于一直存在着为了让我们看到产品在工作,就不得不秉持着将测试工作往后推一点的思想,测试仍然是后于开发的活动,我们潜意识里的目的就是使自己确信产品能工作。
到了20世纪70年代,虽然人们对于软件工程到底意味着什么还没有达成一致意见,但这一词条已经频繁出现,测试是一个程序或者系统的程序,目的就是为了发现错误。
直到上世纪80年代早期,软件测试定义随之发生了变化,测试不仅仅是一个发现错误的程序或者过程,它还包括了对软件质量的评估。
软件开发者和测试者们开始聚集在一起讨论各种测试的问题和软件工程,并制订了各种标准,包括IEEE标准,美国ANSI标准以及ISO国际标准。
BillHetzel在年的《软件测试完全指南》中指出,测试是针对某一项目或某一系统的性能进行评估,是衡量软件的品质的过程。Myers和Hetzel的定义直到今天还在使用。
上世纪90年代,测试工具开始流行,大家都认识到工具不仅是实用的,也是对当今软件系统进行全面测试的必备工具。
到了年,Rick在系统的软件测试中对软件测试做了进一步定义。测试是用来衡量和改进被测软件的品质、对其进行工程设计、实现和维护的全生命周期。这些经典论者对软件测试的科学化和系统化都有很大的影响。
在过去的二十多年里,软件技术和计算机技术的迅猛发展使软件测试技术得到了极大的发展。在测试过程改进方面,将TMM的思想引入到测试过程中,并在单元测试、自动测试、负荷压力测试、测试管理等领域出现了许多优秀的测试工具。尽管软件测试技术发展迅速,但它的发展与当今软件开发技术的发展相比,仍然存在着巨大的挑战。
一、软件在国防现代化,社会信息化和国民经济信息化的作用越来越重要,由此产生的测试任务越来越繁重。
二、软件规模越来越大,功能越来越复杂,如何进行充分而有效地测试成为难题。
三、面向对象技术的应用日益广泛,而面向对象的测试技术才刚刚开始。
四、对于分布式系统整体性能还不能进行很好的测试。
五、对于实时系统来说缺乏有效的测试手段。
六、随着安全问题的日益突出,信息系统的安全性如何进行有效的测试与评估成为世界性的难题。
转载请注明:http://www.0431gb208.com/sjsbszl/3656.html