软件测试:V模型问题分析 软件测试工具
在本文中我要把V模型作为不好的模型的典型来进行分析。选择V模型作为分析的典型是因为V模型是最广为人知的测试模型。 最典型的V模型版本一般会在其开始部分对软件开发过程进行描述,如下图所示:
图1 V模型的各级开发阶段
这是古老的瀑布模型。作为开发模型,它有很多问题,不过这里不作讨论。尽管它的各种状态是我们接着要讨论的大家最熟悉的V模型的基础。我的批评意见同时也针对其它的装饰在一些更好的开发模型之上的测试模型,例如螺旋模型[Boehm88]。
在V模型中,测试过程被加在开发过程的后半部分,如下图所示:
图2 V模型示意图
单元测试所检测代码的开发是否符合详细设计的要求。集成测试所检测此前测试过的各组成部分是否能完好地结合到一起。系统测试所检测已集成在一起的产品是否符合系统规格说明书的要求。而验收测试则检测产品是否符合最终用户的需求。
对于测试设计,显而易见的是,V模型的用户往往会把执行测试与测试设计分开对待。在开发文档准备就绪后,就可以开始进行相关的测试设计。如下图所示,相应的测试设计覆盖在了相关的开发过程之上:
图3 将测试设计覆盖了开发过程后的V模型
V模型有着很吸引人的对称外形,并且把很多人都带入了歧途。本文将集中讨论它在单元测试和集成测试中引起的问题。