首先是这基本的四个问题:什么是软件生命,什么是软件质量,什么是软件危机和软件缺陷。
  我们从头慢慢说,学过软件工程的人知道,书面定义软件生命,是一个软件从“系统定义,软件计划,需求分析,软件设计,编程,测试,维护,废止”的过程。具体含义去查书或者上网查一下好,这里不多说了。(但是我建议没有学过的人要了解这些知识。)

  每一个国内的测试人员都听过这样一句话,测试不如开发的。我不得不承认现阶段国内是有这样的问题,但是我们可以看看,这个在测试发达和企业完全不正确,现在的软件开发,已经不是单单强调编码的时代了,他已经发展成一个工程化的过程。工程化的意义所在是在进行这下一步时,要确保上一步是正确的前提。也是说,软件开发是一个:活动---结果----审核----再活动----再结果----…----正确结果。这样的规范化工程式的过程,是由一个个教训总结而来的。

  在整个开发过程中,分为3各部分:

  1、需求阶段

  2、开发阶段

  3、维护阶段

  通过颜色的对应,你能很好的对应这三个阶段的内容。

  这三个部分或者说阶段,在软件开发中占得比例是:设计15%,计划20%,编码20%,模块测试20%,集成测试25%。这个数据是国际公认的,不是我自己说的。从数据看,大家一目了然,测试在软件开发中的重要性不言而喻。而保证软件开发在各个阶段能够正确的进行,得到正确的结果,只有靠测试。所以,测试是软件开发重中之重的一个环节。可以说,没有软件测试,软件开发将不可能进行下去。

  而在测试阶段主要分为:单元测试,集成测试,确认测试,系统测试这四个部分。

  我们要这样严格的进行工程化的过程为的是一个目的:保证软件质量,书面是这样定义的:“与一个产品或者服务是否能够满足其指定的或者蕴含的需求有关的性质与特征的总和”

  我估计这是直接翻译的结果,读起来很拗口,说白了是软件要满足要求。什么要求,是规定这个这个软件是否合格的很多因素。我们一般分为三大类:产品运行,产品修改,产品转移。

  前面提到,软件开发之所以现在发展成了严格的工程化,是因为一个个血淋淋的教训,大软件飞速发展的阶段,由于很多问题,造成了很多大的软件开发事故,那段时期,我们面临了软件危机。很多深刻的教训让人们明白,我们必须要改变以往的开发方式。大家有兴趣可以去看看那些案例。

  后是软件缺陷,这个也是我们对于各种各样的软件问题进行的标示,让我们能够很好的识别,了解他们。

  好了,这是我们首先要了解的一些知识,从这冰山一角中,你慢慢会了解测试的广大。慢慢走,坚持下去。