软件测试模型

  • 测试V模型
    • 单元测试(模块测试):针对单一的程序模块进行的测试
    • 集成测试(组装测试):在单元测试的基础上,对所有的模块进行测试
    • 系统测试:将整个软件看做一个整体进行测试,包括功能、性能、兼容性
    • 验收测试
      • α测试(内测版):公司内部进行的测试,bug较多
      • β测试(公测版):面向用户,通过用户的反馈再去修改细节
      • γ测试(候选版):与正式软件相差无几
    • 优点
      • 测试V模型既包含了底层测试(检验源代码质量的测试,如:单元测试),又包含了高层测试(检验整个系统的需要,如:系统测试)
      • 清楚的标识了开发和测试的各个阶段,方便管理人员把控整个工作流程
      • 自上而下逐步求精,每个阶段分工明确,便于整个项目的把控
    • 缺点
      • 自上而下的顺序导致了测试工作在编码之后,就导致错误不能及时的进行修改
      • 当需求进行变更时,V模型步骤反复执行,返工量很大,灵活度较低
    • 改良
      • 每个步骤都可以进行小的迭代,比如在每完成一个阶段时,召开一个会议,让各个部门的人参与进来,共同商讨这一阶段工作是否有纰漏,从而进行修改

  • 测试W模型(双V模型)
    • 在软件的需求设计和设计阶段也应有测试活动,即开发一个V,测试一个V,组成W模型。测试伴随着整个软件开发周期,并且测试的对象不仅仅是程序,需求和设计同样要测试
    • 优点
      • 开发伴随着整个开发周期,需求和设计同样需要测试
      • 更早的介入测试,可以发现初期的缺陷,修复成本低
      • 分阶段工作,方便项目整体管理
    • 缺点
      • 开发和测试依然是线性关系,需求的变更和调整,依然不方便
      • 如果没有文档,根本无法执行W模型
      • 对于项目组成员的技术要求更高

  • 测试H模型
    • 将测试流程分为“测试准备”、“测试就绪点”、“测试执行”三个部分
    • 测试准备:所有测试执行活动的准备;判断是否到达测试就绪点
    • 测试就绪点:测试准入准则,即是否可以开始执行测试的条件
    • 测试执行:具体的执行测试的程序
    • 优点
      • 揭示了软件测试除了测试的执行外,还有很多工作
      • 软件测试完全独立,贯穿了整个生命周期,且与其他流程并发进行
      • 软件测试活动可以尽早准备、尽早执行,具有很强的灵活性
      • 软件测试可以根据被测物的不同,分层次、分阶段、分次序的执行,同时也是可以被迭代的
    • 缺点
      • 管理型要求高:由于模型灵活性高,必须要定义清晰的规则和管理制度,否则测试过程将非常难以管理和控制
      • 技能要求高:H模型要求能够很好地定义每个迭代的规模,不能太大也不能太小
      • 测试就绪点分析困难:测试很多时候,你并不知道测试准备到什么时候是合适的,就绪点定到哪里,就绪点的标准是什么,这就对后续的测试执行的启动带来了很大的困难
      • 对于整个项目组的人员要求非常高:在很好的规章制度下,大家都能高效的工作,否则容易混乱。例如:你分了一个小的迭代,但是因为人员技能不足,使得无法有效完成,那么整个项目就会受到很大的干扰
  • 总结
    • V模型适用于中小型企业
    • W模型适用于中大型企业(因为人员要求高)
    • H模型要求非常高,很少有公司使用
原文地址:https://www.cnblogs.com/SakuraYuanYuan/p/11109359.html