V模型
关键软件工程术语:
SDLC:SDLC是软件开发生命周期。它是开发人员为设计和开发高质量软件而进行的一系列活动。
STLC:STLC是软件测试生命周期。它由测试人员在方法论上执行的一系列活动组成,以测试软件产品。
瀑布模型:瀑布模型是划分为软件开发活动的不同阶段的顺序模型。瀑布模型中的测试阶段只有在系统实现完成后才开始。
理解V模型的示例
假设被分配了一项任务,即为客户端开发一个自定义软件。现在,不管技术背景如何,试着对将遵循的步骤顺序做出一个有根据的猜测,以实现任务。

正确的顺序应该是。
软件开发周期的不同阶段 | 每个阶段进行的活动 |
---|---|
需求收集阶段 | 从客户处收集有关所需软件的详细信息和规格的尽可能多的信息。这只不过是需求收集阶段。 |
设计阶段 | 计划像Java,PHP,.Net这样的编程语言;像Oracle,MySQ这样的数据库,这将是适合该项目的,也包括一些高级功能和体系结构。 |
建设阶段 | 设计阶段过后,就是构建阶段,也就是真正的软件编码阶段 |
测试阶段 | 接下来,测试软件以验证它是否按照客户给出的规范构建。 |
部署阶段 | 在各自的环境中部署应用程序 |
维修阶段 | 一旦系统可以使用,可能需要稍后根据客户要求更改代码 |
所有这些层次构成了软件开发生命周期的瀑布方法。
关于瀑布模型的问题
模型中的测试只有在实现完成之后才开始。 但是,如果在系统复杂的大型项目中工作,很容易遗漏需求阶段本身的关键细节。在这种情况下,一个完全错误的产品将交付给客户,可能不得不重新开始项目,或者如果设法正确地记录了需求,但在软件的设计和体系结构中犯了严重错误,将不得不重新设计整个软件来纠正错误。
对数千个项目的评估表明,在需求和设计过程中引入的缺陷几乎占缺陷总数的一半。

此外,修复缺陷的成本在整个开发生命周期中都会增加。正如他们所说:“及时缝一针,省九针。”
解决方案:V模式
为了解决这个问题,开发了测试的V模型,其中对于每个阶段,在开发生命周期中都有相应的测试阶段

- 模型的左侧是软件开发生命周期-SDLC
- 模型的右侧是软件测试生命周期-STLC
- 整个图形看起来像一个V型,因此被命名为V型
除了V模型之外,还有迭代开发模型,其中开发是分阶段进行的,每个阶段都向软件添加一个功能。每个阶段都包含一组独立的开发和测试活动。
遵循迭代方法的开发生命周期的好例子有快速应用程序开发、敏捷开发
结论
有许多开发生命周期模型。为项目选择的开发模式取决于该项目的目的和目标。
- 测试不是一个独立的活动,它必须适应为项目选择的开发模型。
- 在任何模型中,都应该在所有级别执行测试,即从需求到维护。