软件测试的由来

软件工程 专栏收录该内容
5 篇文章 0 订阅
  软件测试是伴随着软件的产生而产生的。早期的软件开发过程中,测试的含义比较狭窄,将测试等同于“调试”,目的是纠正软件中已经知道的故障,常常由开发人员自己完成这部分的工作。对测试的投入极少,测试介入也晚,常常是等到形成代码,产品已经基本完成时才进行测试。

  直到1957年,软件测试才开始与调试区别开来,作为一种发现软件缺陷的活动。由于一直存在着“为了让我们看到产品在工作,就得将测试工作往后推一点”的思想,测试仍然是后于开发的活动。潜意识里,我们的目的是使自己确信产品能工作。

  到了20世纪70年代,尽管对"软件工程"的真正含义还缺乏共识,但这一词条已经频繁出现。1972年,在美国北卡罗来纳大学举行了首届软件测试正式会议。1979年,Glenford Myers在其《软件测试艺术》(The Art of Software Testing)中给出了当时最好的软件测试定义:“测试是为发现错误而执行的一个程序或者系统的过程。”

  直到上世纪80年代早期,“质量”的号角才开始吹响。软件测试定义发生了改变,测试不单纯是一个发现错误的过程,而且包含软件质量评价的内容。软件开发人员和测试人员开始坐在一起探讨软件工程和测试问题。制定了各类标准,包括IEEE(Institute of  Electrical and  Electronic Engineers)标准、美国ANSI(American National Standard Institute)标准以及ISO(International Standard Organization)国际标准。1983年,Bill Hetzel在《软件测试完全指南》(Complete Guide of Software Testing)一书中指出:“测试是以评价一个程序或者系统属性为目标的任何一种活动。测试是对软件质量的度量。”Myers和Hetzel的定义至今仍被引用。

  上世纪90年代,测试工具终于盛行起来。人们普遍意识到,工具不仅仅是有用的,而且要对今天的软件系统进行充分的测试,工具是必不可少的。

  到了2002年,Rick和Stefan在《系统的软件测试》(Systematic Software Testing)中对软件测试做了进一步定义:“测试是为了度量和提高被测软件的质量,对测试件进行工程设计、实施和维护的整个生命周期过程。”这些经典论著对软件测试研究的理论化和体系化产生了巨大的影响。

  近20年来,随着计算机和软件技术的飞速发展,软件测试技术研究也取得了很大的突破。测试专家总结了很好的测试模型,比如著名的V模型、W模型等,在测试过程改进方面提出了TMM(Testing Maturity Model)的概念,在单元测试、自动化测试、负载压力测试以及测试管理等方面涌现了大量优秀的软件测试工具。

  虽然软件测试技术的发展很快,但是其发展速度仍落后于软件开发技术的发展速度,使得软件测试在今天面临着很大的挑战,主要体现在以下几个方面:
  1.软件在国防现代化、社会信息化和国民经济信息化的作用越来越重要,由此产生的测试任务越来越繁重。
  2.软件规模越来越大,功能越来越复杂,如何进行充分而有效的测试成为难题。
  3.面向对象的开发技术越来越普及,但是面向对象的测试技术却刚刚起步。
  4.对于分布式系统整体性能还不能进行很好的测试。
  5.对于实时系统来说,缺乏有效的测试手段。
  6.随着安全问题的日益突出,信息系统的安全性如何进行有效的测试与评估,成为世界性的难题。 
  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

参与评论 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

sanmoon

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值