一.软件开发过程模型

1.瀑布模型(Waterfall Model)

软件测试基础知识(3)
瀑布模型定义:是将软件生存周期的各项活动规定为按固定顺序而连接的若干阶段工作,形如瀑布流水,最终得到软件产品

1.是线性模型的一种,在所有模型中占据重要地位,是所有其它模型的基础。
2.每一个阶段执行一次,按先行顺序进行软件开发
3.测试的切入点:测试阶段处于软件实现后,必须在代码完成后留出足够时间给测试活动,否则将导致测试不充分,很多问题到项目后期才暴露

瀑布模型的优缺点

优点:1.开发的各个阶段比较清晰
2.强调早期计划及需求调查
3.适合需求稳定的产品开发

缺点:1.依赖于早期的需求调查,不适应需求变化
2.单一流程不可逆
3.风险往往延期至后期才显露,失去及早纠正的机会
4.问题在项目后期才开始暴露
5.前面未发现的错误会传递并扩散到后面阶段,可能导致项目失败

快速原型模型

定义:在开发真实系统前,构造一个原型,在该原型的基础上,之间完成整个系统的开发工作。
软件测试基础知识(3)
优缺点

优点:克服瀑布模型的缺点,更好地满足用户需求并减少由于软件需求不明确带来的项目开发风险。适合预先不能确切定义需求的软件系统开发
缺点:不适合大型系统的开发,适合开发小型的,灵活性高的系统。前提要有一个展示性的产品原型,因此在一定程度上可能会限制开发人员的创新。

螺旋模型

螺旋模型将开发过程分为几个螺旋周期,每个螺旋周期大致和瀑布模型相符合,螺旋模型沿着螺旋线旋转,即在坐标的4个象限上分别表示了四个方面的活动,如图:
软件测试基础知识(3)
a)制定计划
b)风险分析
c)实施开发
d)客户评估

优缺点

优点:很大程度上是一种风险驱动的方法体系,因为在每一个阶段之前经常发生的循环之前,都必须首先进行风险评估

缺点:采用螺旋模型需要有相当丰富的风险评估经验个专门知识,在风险较大的项目中,如果未能及时标识风险,势必会造成重大损失。过多的迭代次数会增加开发成本,延时提交时间。

二.软件测试&软件工程

软件测试与软件工程息息相关,软件测试是软件工程组成中不可或缺的一部分

在软件工程,项目管理,质量管理得到规范化应用的企业,软件测试也会进行的比较顺利,软件测试发挥的价值也就更大

要关注软件工程,质量管理以及配置管理与软件测试的关系;在不同的开发模式下,要如何进行软件测试

测试模型

v模型
软件测试基础知识(3)
v模型是最具有代表意义的测试模型,v模型本身是软件开发中瀑布模型的变种,它反映了测试活动与分析和设计的关系,标明了测试过程中本身存在的不同阶段,从左到右,描述了开发过程和测试过程间的阶段对应关系

v模型大体可以划分为以下几个不同的阶段步骤:需求分析-概要设计-详细设计-软件编码-单元测试-集成测试-系统测试-验收测试

v模型优缺点

优点
1.既包含了底层测试又包含了高层测试
底层测试:检验源代码质量的测试,如单元测试
高层测试:检验整个系统的需要,如系统测试
v模型清楚的标识出了软件开发的阶段
它采用自顶向下逐步求精的方式八字哼歌开发过程分成不同的阶段,每个阶段的工作都很明确,因此便于控制开发过程,当所有的阶段完成后,该软件的开发过程也随之结束

缺点:
v模型的顺序性导致,到了测试阶段,程序已经完成,错误已经产生,很多前期的错误一直到测试阶段才发现,甚至无法发现,往往无法修改了
同时实际的开发过程中,在需求阶段很难把用户的需求完全明确下来,因此,当需求变更时将会导致阶段反复,而且都要重复需求,设计,编码,测试等过程,返工量非常大,模型灵活性比较低

W模型

开发一个v,测试一个v,组成的W模型;
测试伴随着整个软件开发周期,并且测试的对象不仅仅是程序,需求和设计同样要测试
软件测试基础知识(3)
w模型优缺点

优点:
1.强调测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求和概要设计同样要测试
2.更早的接入测试,可以发现开发初期的缺陷,那么可以用更加低的成本进行缺陷修复
3.同样是分阶段的工作。便于控制项目过程

缺点:
1.依赖于软件开发和软件测试依然保持一前一后的线形关系,依然无法支持迭代,自发性和需求等变更调整
2.对于当前很多项目,在执行的过程中根本不产生文档,那么w模型基本无法适用
3.使用起来技术复杂度很高,对于需求和设计的测试要求很高,实践起来困难

H模型

目的:为了解决软件开发中需求,设计,编码等不是万全串行,而是更多时候交叉进行和迭代执行的问题,他将测试活动完全独立起来,形成一个完全独立的流程,同时将测试准备和测试执行也清晰的表现出来
软件测试基础知识(3)
测试流程
1.测试准备:所有测试执行活动的准备;判断是否到测试就绪点;
2.测试就绪点:测试准入准则,既是否可以开始执行测试的条件
3.测试执行:具体的执行测试的程序
其他流程
–具体开发中的流程,如:设计流程

H模型优缺点

优点:
1.开发的H模型揭示了软件测试执行外,还有很多工作;
2.软件测试完全独立,贯穿整个生命周期,且与其他流程并发进行
3.软件测试活动可以尽早准备,尽早执行,具有很强的灵活性
4.软件测试可以根据被测物的不同分层次。分阶段,分次序的执行,同时也是可以被迭代的

缺点:
1.管理型要求高
2.技能要求高
3.测试就绪点分析困难
4.对整个项目组成员要求非常高

相关文章:

猜你喜欢
  • 2022-01-02
  • 2021-04-25
相关资源
相似解决方案