软件测试中不可忽略的阶段[1] 软件测试工具
在开发模型中,测试常常作为亡羊补牢的事后行为,但也有以测试为中心的开发模型。在本文中,让我们对V模型进行考察,看看它有没有问题?
软件开发的几十年历程业已证明,在开发生命周期中划分阶段的做法是很有好处的。在经典的瀑布模型基础上,还有螺旋模型和过程迭代方法,快速软件开发(RAD)以及较新的Rational统一过程(RUP),但在这些过程方法中,并没有充分强调测试的价值,也没有给测试以足够的重视。
就象开发有开发模型一样,测试也有测试模型,尽管这些方法鲜为人知。部分原因是因为很多测试人员已经在他们的工作中积累了大量的经验,利用这些经验就可以做好他们的工作。总的来说,测试往往要占据整个开发周期的时间,但即使在很多正规的大学中,也没有为那些即将开始软件生涯的学生们设置软件测试课程。
软件专家们不断在提供新的开发模型,这也是实际开发需要使然,与此同时,在开发过程中也不断感受到这些已存在的方法的不足,例如,还没有比RUP更充分的方法,但RUP也存在一些明显的不足,例如,RUP没有对测试计划进行定位。
V-模型
V模型只得到软件业内比较模糊的认可。V-模型宣称测试并不是一个事后弥补行为,而是一个同开发过程同样重要的过程。V模型如下图所示:
图1:V模型示意图
V模型最早由已故的Paul Rook在80年代后期提出,V模型被包含在英国国家计算中心文献中发布,旨在改进软件开发的效率和效果。V模型在欧洲尤其是英国被接受,并被认为是瀑布模型的替代品,而在美国则被误解为是又一种瀑布模型。软件测试
在传统开发过程中,仅仅把测试过程作为在需求分析、概要设计、详细设计及编码之后的一个阶段,事实上,V模型的推出也是对此所进行的改进。在瀑布模型中,确实给人们造成了这样的不良影响,即在很多重要开发活动完成后,测试只是收尾工作,而不是主要的过程,尽管有时测试会占据项目周期一半的时间,很多项目主管却仍然还是坚持这么认为。