软件测试模型
作者:晓轩 注意:本人课堂笔记,原创文章,未经许可禁止转载!!!
软件测试模型是什么
软件测试模型是指测试和开发的对应关系,它可以被用来指导整个软件测试过程,常见的软件测试模型有如下几个,其中最具有代表性的就是V模型
- 瀑布模型是将软件生存周期各项活动规定按固定顺序而链接的若干阶段工作得到的产品,形如瀑布流水
- 其核心思想是按工序将问题简化,将功能与设计分开,便于协作
- 将软件的开发周期划分为:需求分析,系统谁家,软件编程,软件测试,软件维护
-
优点
- 为项目提供了按阶段划分的检查点
- 当前一个阶段完成后,您只需要去关注后续阶段
- 可在迭代模型中应用瀑布模型
- 他提供了一个模板,这个模板使得分析、设计、编码测试和支持的方法可以在该模板下有一个共同的指导
-
缺点
- 各个阶段的划分完全固定,阶段之间产生大量文档,极大地增加了工作量
- 由于开发模型是线性的,用户只有等到整个过程的期末才能见到开发成果,从而增加开发风险
- 通过过多的强制完成日期和里程碑来跟踪各个项目阶段
- 瀑布模型的突出缺点是不适应用户需求变化
-
V模型
- V模型大体可以划分为以下几个不同的阶段步骤:需求分析、概要设计、详细设计、软件编码、单元测试、集成测试、系统测试、验收测试。
- 优点
- V模型是一个从左往右的串行模型
- V模型中开发阶段和测试划分明确,对应关系明确
- V模型中既包括专业级测试(如单元测试,集成测试)又包括用户级测试(验收测试等)
- 缺点
- V模型中没有体现对需求,文档和设计的测试
- 容易被误解为测试工作只是开发完成后的收尾工作
- V模型没有体现尽早测试和不断测试原则
-
W模型
- System Evolutif公司在V模型基础上,提出了W模型,该模型是由两个“V”重叠而成,其中一个表示开发过程,另外一个表示测试过程
- W模型中,测试与开发同时进行,增加了在开发阶段的工作输出,对比于V模型W模型的更能体现“尽早测试不断测试原则”
- X模型左侧描述是针对单独程序片段进行的相互分离的编码和测试
- 右上半部分这些可执行程序还需要进行测试,已通过集成测试的成品如果达到发布标准,则可提交给用户。多根并行的曲线表示软件变更可以在各个部分发生
- 在右下角还定义了探索性测试,这种测试只是理论上的,一般不太会发生
- H模型将测试活动独立出来,形成了一个完整地整体,将测试活动和测试执行活动清晰的体现出来
前置模型
- 这是一个概念模型,了解一下就行
|