简述软件测试发展的历史和软件测试的现状。
随着计算机的诞生,软件测试在软件产业发展的早期就已经开始,但现阶段还没有系统的软件测试,更多的是一种类似于调试的测试。测试没有计划和方法,测试用例的设计和选择也是根据测试人员的经验随机进行的。大多数测试的目的是证明系统能够正常运行。
从50年代末到60年代,各种高级语言相继诞生,测试的重点逐渐转移到用高级语言编写的软件系统上,但程序的复杂程度远远超过了以前。但是,由于硬件的限制。在计算机系统中,软件仍然处于次要地位。对软件正确性的把握还是主要看程序员的技术水平。因此,这一时期测试理论和方法的发展相对缓慢。
20世纪70年代以后,随着计算机处理速度和存储容量的迅速增加,软件在整个计算机系统中的地位变得越来越重要。随着软件开发技术的成熟和完善,软件的规模越来越大,复杂性也大大增加。因此,软件的可靠性面临着前所未有的危机,这给软件测试带来了更大的挑战。许多测试理论和方法应运而生,并逐渐形成完整的体系,培养和造就了一批优秀的测试人才。
如今,在软件产业化的大趋势下,人们对软件质量、成本、进度的要求越来越高,质量控制也不仅仅是传统意义上的软件测试。传统的软件测试多基于代码运行,往往从软件开发的后期开始,但大量研究结果表明,设计活动引入的错误占软件开发中所有错误的50%~65%。因此,越来越多的声音呼吁软件产业化的标准化软件开发过程。在整个软件开发过程中,测试不再仅仅是基于程序代码的活动,而是基于整个软件生命周期的质量控制活动,贯穿于软件开发的各个阶段。
中国软件测试的现状;
在中国,软件测试可能不是一个真正的行业。很多软件开发企业对软件测试的认识比较薄弱,软件测试人员和软件开发人员的比例往往失衡。在发达国家和地区,软件测试已经成为一个产业。微软的开发工程师和测试工程师的比例是1: 2,国内公司是6: 1。很多人认为造成这种情况的原因是传统的教育和发展习惯。与其他一些行业相比,软件行业相当年轻,开发工作包括需求管理、分析、设计、测试和部署。因为软件行业的历史比较年轻,而且一般认为在开发周期前面的工作完善之前,很难考虑到后面的阶段。因此,我们可以看到,软件行业的大部分精力都投入到需求管理、分析和设计的开发上,导致这些领域的软件和方法论发展迅速,而忽略了测试工作。
总之,与一些发达国家相比,国内的检测工作还有一定的差距。主要体现在测试意识和测试理论的研究、大型测试工具软件的开发和从业人员的数量上。这其实和我国软件的发展水平是一致的,因为我国整体软件产业水平和发达国家差距很大,而软件测试作为软件产业的重要组成部分,必然有很大的差距。但是,我们在软件测试方面并不比国外差。我们基本上拥有世界上优秀的测试工具,并且对这些工具所体现的思想有着深刻的理解。很多大型系统在国内都经过了很好的测试。
今天,太阳也升起,然后在西方落下,早上盛开的花朵也会枯萎;今天的太阳也从西边落下,然后从东边升起,阳光照耀的地方到处都是鲜花盛开,但它不是昨天的花。