软件测试贯穿整个软件开发生命周期,与软件开发息息相关,因此了解必要的开发模型和测试模型是非常有必要的!
一、软件开发模型
1.1 大爆炸模型
1.2 边写边改模型
1.3 瀑布模型
1.4 快速原型模型
1.5 螺旋模型
1.6 迭代模型
1.7 敏捷开发模型
1.8 开发模型小结
二、软件测试模型
2.1 V模型
2.2 W模型
2.3 X模型
2.4 H模型
三、软件开发和软件测试的关系
一、软件开发模型
软件开发模型是软件开发全过程,能够覆盖软件生命周期的基本阶段,确定设计的方法、过程及工具;经典的软件开发模型有:大爆炸模型、边写边改模型、瀑布模型、快速原型模型、螺旋模型、迭代模型、敏捷开发模型等;
1.1 大爆炸模型
大爆炸名词源于宇宙大爆炸理论,软件公司将所有人力、物力全部投入到产品开发过程中,一段时间后,产品出炉;此种模型方式简单,几乎无正规开发过程的计划、进度安排,产品质量不可控。
1.2 边写边改模型
实际工作中最常见的模型之一,在产品初期,建立大概设计,后续开始编码、测试,发现bug,修改bug循环中,直至产品轮廓日渐清晰,最终完成产品;该模型适合中小型项目的快速开发,较正规开发过程较早的显现成果;处于该开发模型下的测试人员,将陷入无休止的重复测试。
1.3 瀑布模型
瀑布模型式是典型的预见性方法,此模型将软件生命周期划分为(按固定顺序相连的)若干阶段:需求分析、设计、编码、集成、测试、维护。开发过程严格按步骤进行,步骤成果作为衡量进度的方法,例如需求规格,设计文档,测试计划和代码审阅等等。 如图下所示:
1.4 快速原型模型
快速原型模型需要迅速建造一个可以运行的软件原型 ,以便理解和澄清问题,使开发人员与用户达成共识,最终在确定的客户需求基础上开发客户满意的软件产品。快速原型模型最重要的目的是确定用户真实的需求并支持需求的动态变化,一般不单独使用,而与瀑布模型或螺旋模型一起使用;
1.5 螺旋模型
螺旋模型是瀑布模型和快速原型模型的有机结合,由风险驱动,较其他模型强调了风险分析,比较适合较大型的系统,但是缺乏对风险的评估;
1.6 迭代模型
迭代模型是统一过程开发过程(RUP,Rational Unified Process)推荐的软件开发模型。迭代开发是指在进行较大型的项目任务时,将迭代开发分为若干次,每次迭代都要从项目的管理及计划/分析/设计/实现到运作整个过程。
1.7 敏捷开发模型
敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。
1.8 开发模型小结
“万变不离其宗”,软件生命周期是一定的,而软件开发模型是在软件生命周期中如何进行软件开发的一种策略或指导方法,它是由软件工程师在实际工作中总结和提炼出的一套覆盖软件生命周期的框架。在软件生命周期中可以选择多个软件开发模型协同开发。
未完,待续。。。。
-------------------------------------------
文章部分内容来自网络,如有侵权,请联系作者删除!
--------------------------------------------------------
“ 乘 风 破 浪 会 有 时 , 直 挂 云 帆 济 沧 海 ”