什么是V模型?SDLC和STLC来告诉你
- 2018-07-11 07:45:00
- Seagull
- 翻译:
- guru99
- 9755
在软件开发生命周期(SDLC)中,开发过程模型常见的有瀑布模型和迭代模型, 另外还有 Rapid ( 增量式模型)和Agile(敏捷)。
在测试行业中,也有相对应的软件测试生命周期(STLC),以及常见的V模型。
假如现在分配一项任务,为客户开发定制软件。
不管技术背景如何,我们先来尝试将要进行的测试任务按项目流程梳理一次。
正确的顺序是:
软件阶段 | 阶段活动 |
需求收集阶段 | 从客户或是产品部门收集尽可能多的有关软件的详细信息和规格的信息。其他的没有这什么,需求收集阶段主要就是干这个事情。 |
设计阶段 | 规划使用何种开发语言,如Java,PHP,.net 等编程语言;另外还有数据库的选型如Oracle,MySQL等。针对项目,做一些系统级别的设计架构,包括流程梳理等。 |
开发阶段 | 在设计阶段之后,就可以进入开发阶段了,实际上它就是编码的阶段,这时候测试人员可以开始设计用例、编写用例了。 |
测试阶段 | 接下来,进入测试执行阶段,测试系统验证它是否符合客户的需求。 |
部署阶段 | 在相应的环境中部署应用程序 |
维护阶段 | 一旦您的系统可以使用,进入后期维护阶段。 |
所有这些阶段就构成了软件开发生命周期的瀑布模型。正如你以上看到的那样,瀑布模型中的测试工作仅在编码实现完成后才开始。
但是,如果在大型项目中工作,系统很复杂,那么很容易错过需求阶段本身的关键细节。在这种情况下,错误的产品很有可能将被交付给客户,可能需要重新开始项目。或者你正确的记录了需求,但是在系统的设计和架构上犯了严重错误,这样也将不得不重新设计整个系统来纠正错误。
我们对数千个项目的评估统计表明,在 需求和设计过程中引入的缺陷几乎占缺陷总数的一半。
此外,修复缺陷的成本会随着在整个开发生命周期中的进展而增加。生命周期越早,检测到缺陷修复它的成本就越小。正如俗语所说的那样, “ 小洞不补,大洞吃苦”。
为了解决出现这种问题,所以出现了 V模型,对于每个阶段,在开发生命周期中的每个阶段都有相应的测试阶段。
该模型的左侧是软件开发生命周期 - SDLC
该模型的右侧是软件测试生命周期 - STLC
整个图看起来像V,因此名称为 V - Model
除V模型外,还有迭代开发模型,其中开发分阶段进行,每个阶段都为系统开发新的功能。每个阶段都包括其独立的开发和测试活动。
迭代模型中比较好的例子就是 Rapid( 增量式模型)和Agile(敏捷)。
关键术语:
SDLC:
SDLC是软件开发生命周期,这是开发人员为设计和开发高质量软件而开展的一系列活动。
虽然SDLC使用术语“开发”,但它不仅涉及开发人员完成的编码任务,还包括测试人员和干系人相关者提供的任务。
在SDLC中,创建测试用例。
STLC:
STLC是软件测试生命周期。它由测试人员为测试软件产品而开展的一系列活动组成。
虽然STLC使用术语“测试”,但它不仅仅涉及测试人员,在某些情况下,他们也必须涉及开发人员。
在STLC中,执行测试用例。
瀑布模型:
瀑布模型是一个顺序模型,它把软件开发活动分为不同阶段。每个阶段都设计了在SDLC阶段执行特定活动。瀑布模型中的测试阶段仅在系统实施完成后才开始。
V模型:
V模型是瀑布模型的扩展。与瀑布模型不同,在V模型中,每个软件开发阶段都有相应的测试阶段。V模型中的测试与SDLC阶段并行完成。
测试是作为SDLC的子项目完成的。
结论
现在有很多的软件开发生命周期模型。具体为项目选择哪种开发模型,取决该项目的需求和目标以及实际情况。
测试不是一项独立的活动,它必须为项目选择适合它的开发模型。
在任何模型中,都应该从需求到维护阶段进行所有级别的测试。
本站文章以及相关内容除注明 转贴外,均为本站 原创或 翻译。
如果本站转载的文章涉嫌侵犯了您的权益,请在评论区留言或是邮件联系管理员及时删除 【admin@luckyframe.cn】
本站原创或是翻译的文章欢迎任何形式转载,但请务必 注明出处以及链接,尊重他人劳动成果,拒绝剽窃从你做起。