V model
V模型,RAD(Rapid Application Development,快速应用开发)模型是软件开发过程中的一个重要模型,由于其模型构图形似字母V,所以又称软件测试的V模型。
优点
包含了底层测试(单元测试)和高层测试(系统测试);清楚的标识了开发和测试的各个阶段;自上而下逐步求精,每个阶段分工明确,便于整体项目的把控。
缺点
自上而下的顺序导致测试工作在编码后,不能及时的进行修改;实际工作中,需求经常变化,导致V模型步骤反复执行,返工量很大,灵活度较低。
阶段步骤:
V模型大体可以划分为以下几个不同的阶段步骤:客户需求分析、软件需求分析、概要设计、详细设计、软件编码、单元测试、集成测试、系统测试、验收测试。
W模型
W模型,由Evolutif公司提出,相对于V模型,W模型增加了软件开发各阶段中同步进行的验证和确认活动。
W模型强调:测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求、设计等同样要测试,也就是说,测试与开发是同步进行的。
如图所示,由两个V字型模型组成,分别代表测试与开发过程,图中明确表示出了测试与开发的并行关系。
局限性:
在W模型中,需求、设计、编码等活动被视为串行的,同时,测试和开发活动也保持着一种线性的前后关系,上一阶段完全结束,才可正式开始下一个阶段工作。这样就无法支持迭代的开发模型。对于当前软件开发复杂多变的情况,W模型并不能解除测试管理面临的困惑。
优点:
测试的活动与软件开发同步进行
测试的对象不仅仅是程序,还包括需求和设计
尽早发现软件缺陷可降低软件开发的成本
H模型
在H模型中,软件测试的过程活动完全独立,形成了一个完全独立的流程,贯穿于整个产品的周期,与其他流程并发进行,某个测试点准备就绪后就可以从测试准备阶段进行到测试执行阶段;软件测试可以根据被测产品的不同分层进行。