软件研发模型和软件测试模型
笔者:风起怨江南 出处:https://blog.csdn.net/JackMengJin 笔者原创,文章欢迎转载,如果喜欢请点赞+关注,谢谢支持!
软件研发模型(Software Development Model)
指软件开发全过程、活动和任务的结构框架。
意义:使用研发模型可以提高软件效率,降低研发成本,提高软件质量。
常见的研发模型包括需求、设计、编码、测试和维护阶段。
软件开发模型能清晰直观表达开发全过程,同时也明确规定了要完成的主要活动和任务,故研发模型用来作为软件项目工作的基础。
软件研发模型有:瀑布模型、快速原型模型、螺旋模型、RUP流程和敏捷模型等。
软件测试模型(Software Test Model)
意义:软件测试根据不同的测试对象以及测试项目的背景可采用不同的测试模型实施测试活动。
软件测试模型有:V模型、W模型、H模型、X模型、敏捷测试模型等。
具体分类如下表所示:
软件研发模型 | 软件测试模型 |
---|---|
瀑布模型 | V模型 |
快速原型模型 | W模型 |
螺旋模型 | H模型 |
RUP流程 | X模型 |
敏捷模型 | 敏捷测试模型 |
详细介绍
一.软件研发模型
1.1 瀑布模型
时间:1970年由温斯顿.罗伊斯(Winston Royce)提出。
前身:瀑布模型最早根据工业流水线演变过来。
核心思想:按工序将问题化简,将功能的实现与设计分开,便于分工协作,采用结构化的分析与设计方法将逻辑实现与物理实现分开。
软件生命周期划分六个活动,各个活动严格按照线性方式进行,当前活动接收上一项活动的工作结果,实施完成所需的工作内容。
当前活动的工作结果需要进行验证,验证通过后该结果作为下一项活动的输入,继续进行下一项活动,否则返回修改,直到项目成功。
瀑布模型过于强调文档的作用,要求每个阶段都要仔细验证,适合一些规模小,需求明确的项目研发。
缺点:
1)各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加工作量。
2)由于开发模式是线性,用户只有等到整个过程的末期才能见到开发成果,增加开发风险。