软件测试过程模型
开发模型
- 瀑布模型
- 原型模型
- 螺旋模型
- 增量模型
- 渐进模型
- 快速软件开发(RAD)
- Rational统一过程(RUP)
测试模型
- V模型
V模型是软件开发瀑布模型的变种,它反映了测试活动与分析和设计的关系;V模型的软件测试策略既包括低层测试又包括了高层测试,低层测试是为了源代码的正确性,高层测试是为了使整个系统满足用户的需求;V模型存在一定的局限性,后期的验收测试才能发现需求分析阶段隐藏的问题。
- W模型
基于“尽早地和不断地进行软件测试”的原则;测试与开发同步进行,从而利于尽早地发现问题;W模型的局限性:无法支持迭代、自发性以及变更调整。对于当前很多文档需要事后补充,或者根本没有文档的做法下(这已经称为一种开发的文化),开发人员和测试人员都面临同样的困惑。
- H模型
虽然软件开发期望有清晰的需求、设计和编码阶段,但时间告诉我们,严格的阶段划分只是一种理想状况。相应的测试之间也不存在严格的次序关系。同时,各层次之间的测试也存在反复触发、迭代和增量关系。
也就是说,只要测试条件成熟了,测试准备活动完成了,测试执行活动就可以(或者说需要)进行了。
H模型揭示了:- 软件测试不仅仅指测试的执行,还包括很多其他的活动。
- 软件测试是一个独立的流程,贯穿产品整个生命周期,与其他流程并发的进行。
- 软件测试要尽早准备,尽早执行。
- 软件测试是根据被测物的不同而分层次进行的。不同层次的测试活动可以是按照某个次序先后进行的,但也可能是反复的。
- 其他模型
- X模型
- 前置测试模型
- X模型
测试模型的使用
- 任何模型都不是完美的
- 尽可能应用模型中对项目有实用价值的方面,不强行为了使用模型而使用
- 在实际工作中,灵活运用各种模型的优点。
在W模型的框架下,运用H模型的思想进行独立地测试,并同时将测试和开发紧密结合,寻找恰当的就绪点开始测试并反复迭代测试,最终保证按期完成预定目标。
欢迎补充改正~( • ̀ω•́ )✧
参考:
[1] 《软件评测师教程》