2021-04-18

软件测试过程中的V、W、H模型

今天老师讲到了“实现”这一章节,里面提到了三个模型,然后我通过老师上课的讲解加上一些网上阅读理解,我对这三模型有了更加深入的理解。如下:

1.V模型
V模型是对瀑布模型的改进,纠正了不重视测试阶段重要性的错误认识。
从整体上看起来,它就是一个V字形结构。以“编码”为分割点,由左右两边构成,左边为开发阶段,右边为测试阶段,开发阶段的每一步骤都有与其对应的测试级别。V模型的重要意义在于,非常明确地表明了测试过程中存在的不同级别,并且非常清晰地描述了这些测试阶段和开发阶段的对应关系。
V模型存在一些局限性:该模型呈现线性的发展趋势,把测试放在项目的最后阶段,没有尽早介入到开发中。而且主要针对程序寻找错误,忽略了测试活动对需求分析、系统设计的验证和确认。需求的满足情况一直要到后期的验收测试才能被验证出来。同时忽略了测试的对象不应该仅仅包括程序,没有明确指出对需求、设计的测试。

2.W模型
V模型没有体现“尽早地和不断地进行软件测试”的原则。在V模型中增加软件各开发阶段件开发各阶段中同步进行的验证和确认活动,演化为基于V&V原理的W模型。W模型补充了V模型中忽略的内容,强调测试活动要尽早介入,且被测对象不仅仅是程序,系统需求、系统设计以及每个阶段输出的文档同样需要测试。
W模型由两个V组成,分别代表开发和测试过程,它明确表明开发和测试的并行关系。
V&V理论,即验证(Verification)和确认(Validation),是在模型实施过程中进行的,具体地说,就是验证是否做了正确的事情和确认是否把事情做正确了。
1)验证:保证软件正确地实现了特定功能,验证是否满足软件生命周期过程中的标准和约定,判断每一个软件生命周期活动是否完成。
2)确认:保证所生产的软件可追溯到用户需求,确认过程是否满足系统需求,并解决了相应的问题。
但是W模型也存在局限性。在W模型中,需求、设计、编码等活动被视为串行的,同时,测试和开发活动也保持着一种线性的前后关系,上一阶段完全结束后,才可正式开始下一个阶段工作。这样就无法支持迭代的开发模型,也不能适应开发过程中的变更调整。与V模型相同,没有对软件测试的流程进行说明。

3.H模型
H模型将测试准备和测试执行分离,有利于资源调配,降低成本,提高测试效率,充分体现测试过程的复杂性。H模型只体现了测试过程,没有体现开发过程,表明软件测试活动是完全独立的。
测试准备:包括测试需求分析、测试计划、测试设计、测试用例、测试验证等;
测试执行:包括测试运行、测试报告、缺陷分析、回归测试等。
H模型强调测试活动要尽早准备,尽早执行,只要某个测试达到准备就绪点,即达到准入条件(测试方案、测试策略、测试用例、测试环境、输入输出项等是否明确)就可以开展测试执行活动,并且不同的测试活动可按照某个次序先后进行,也可以反复进行。(不需要像V模型和H模型一样,等到编码完成以后才开始执行测试)
它充分体现了测试流程的完整性、独立性以及测试过程(而非技术)的复杂性,强调了过程管理的重要性。

4.总结
V模型 :强调了在整个软件项目开发中需要经历的若干个测试级别,并与每一个开发级别对应。但是测试介入的太晚,可能导致需求错误要等到最后才被发现。同时忽略了测试的对象不应该仅仅包括程序,没有明确指出对系统需求、系统设计的测试。

W模型 :强调测试活动要尽早介入,且被测对象不仅仅是程序,系统需求、系统设计以及每个阶段输出的文档同样需要测试(对V模型的补充)。但和V模型一样,仍把开发活动看成是从需求开始到编码结束的串行活动,只有上一阶段完成后,才可以开始下一阶段的活动,无法支持迭代的开发模型,也不能适应开发过程中的变更调整。

H模型: H模型强调测试活动要尽早准备,尽早执行。 且软件测试过程活动完全独立,贯穿于整个产品的周期,与其他流程并发地进行。只要某个测试达到准备就绪点就可以开展测试执行活动,支持迭代。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值