瀑布模型是最常见也是最基本的过程模型,但实践中受到越来越大的局限性,我认为现代软件越发庞大和复杂,我们往往不能一眼洞穿,加上用户需求的多样化和不确定性,都让瀑布模型力不从心。于是出现了原型模型、迭代模型、敏捷过程模型和并发模型。例如原型模型就是为了加大与用户的交流,挖掘用户真正的需求。这里只是泛泛地谈一谈一些著名的测试过程改进模型。
TMM(测试成熟度模型)
过程能力:描述了遵循一个软件测试过程可能达到的预期结果的范围。
TMM的建立得益于:
- 充分吸收CMM的精华
- 基于历史演化的测试过程
- 业界的最佳实践
TPI
是基于连续性表示法的测试过程改进的参考模型,是在软件控制、测试知识以及过往经验的基础上开发出来的。
CTP(关键测试过程)
主要是一个内容参考模型,一个上下文相关的方法,并能对模型进行裁剪。
STEP(系统化测试和评估过程)
一个内容参考模型,认定测试是一个生命周期活动,在明确需求后开始直到系统退役。它不认为测试只是编程结束后的一项关键活动,而是在过程的早期(需求阶段),就注入测试,以确保更早地发现缺陷。STEP与CTP类似,不像TPI。