曾经对软件测试很轻视,因为我那时很无知,只是一名普通的中国程序员,这也是那时绝大多数程序员的心态,那时中国程序员最讲究“编程才是硬道理”。

  如今却非常热爱软件测试,包括软件测试工具,方法,理论,技术。因为我在3年的测试工作中,深刻体会到软件测试的重要性和趣味性。此时,我已经跳出了“小程序员”的圈子,以软件系统工程的更大视角审视软件测试这项工作。

  很长时间以来我一直被下面的问题而困惑,有些问题至今仍然只是具有肤浅的认识,而且,我感觉我做的测试项目越多,阅读的测试书籍越多,我越感到我对软件测试理解的越肤浅。因为我越来越感受到软件测试的广度和深度的无限性,它像大海宽广,像宇宙那样深邃。 为什么要进行软件测试?软件测试的前途如何?软件测试的工具和思想谁更重要?软件测试的最高境界是什么?

  软件测试是保证软件质量的重要活动,是软件项目实施的不可缺少的环节。软件测试的直接目的是发现软件中存在的缺陷。此为测试的有效性。

  在软件项目没有结束之前的全部软件缺陷主要由软件开发人员负责,因为软件缺陷来自程序员的编程。软件项目结束后的软件缺陷主要由软件测试人员负责,因为软件测试人员没有在软件发布之前的测试中没有发现隐藏的错误。 但这不是绝对的,因为软件项目是一个系统工程,软件质量牵扯到多个部门和人员,以及需求分析,设计,编码等各个环节和过程。软件测试只能证明软件存在缺陷,不能保证软件没有错误。

  软件测试不是万能的,因为不可能发现全部的软件缺陷,而且软件的功能和性能不是由测试决定的。此为测试的有限性。

  软件测试目前主要以手工测试为主,自动测试工具虽然很多,但实际应用的广度和深度还有很大潜力,自动将有很大的发展空间!。

  软件驱动开发的观点说明了测试与编程的关系,测试应该贯穿于软件开发的整个生命周期,编程只是软件开发的一个环节。但往往大家非常重视软件编程,把测试作为编程后的一个辅助环节。这是典型的本末倒置。 软件测试的缺陷管理流程非常重要,报告的软件缺陷的质量,应该由他人验证,做到责任明确,方法简便可行。

  软件测试技术不断进步,但总体来看,国内的测试重视程度还不够,但已经发展很快。差不多两年之前,国内计算机书店中关于软件测试的书籍非常稀少,如今却琳琅满目,异彩纷呈。
  

  本文转载自51Testing软件测试网,查看全文:

  http://www.51testing.com/html/82/n-18282.html