分享

五大软件测试模型外加测试用例深度解析,这些你真的会了么?

 软件测试test 2020-05-28

1、软件开发过程模型

  • 在软件开发的几十年实践中,人们总结了很多软件开发模型用来描述和表示一个复杂的开发过程,如:

  • 软件测试与软件的开发模式有着紧密的联系,作为一名测试人员,应该充分理解软件的开发模式,以便找准自己在其中的位置,从而发挥自身的价值。

1、1瀑布模型(重点)

(1)、是线性模型的一种,在所有模型中占有重要地位,是所有其他模型的一个基础(2)、每一个阶段执行一次,按线性顺序进行软件开发。

  • 注意:

  • 测试的切入点:

  • 测试阶段处于软件实现后,必须在代码完成后留出足够的时间给测试活动,否则将导致测试不充分,很多问题到项目后期才暴露。

瀑布模型的优缺点

优点:(1)、开发的各个阶段比较清晰。(2)、当前一阶段完成后,只需关注后续阶段。
缺点:(1) 依赖于早期的需求调查,不适应需求的变化。(2) 风险往往延至后期才显露,失去及早纠正的机会。(3) 前面未发现的错误会传递并扩散到后面的阶段,可能导致项目失败。

1、2快速原型模型(了解)

  • 在开发真实系统之前,构造一个原型,在该原型的基础上,逐渐完成整个系统的开发工作。

  • 第一步是建造一个快速原型,实现用户与系统的交互,用户对原型进行评价,进一步细化待开发软件的需求。通过逐步调整原型使其满足用户的要求,开发人员可以确定用户的真正需求是什么。

  • 第二步是在第一步的基础上开发出用户满意的软件产品。

快速原型模型的优缺点优点:(1)克服瀑布模型的缺点,更好地满足用户的需求并减少由于软件需求不明确带来的项目开发风险。缺点:(1)不适合大型系统的开发(适合开发小型的、灵活性高的系统)。前提要有一个展示型的产品原型,因此在一定程度上可能会限制开发人员的创新。

1、3 螺旋模型(了解)

  • 螺旋模型将开发过程分为几个螺旋周期,每个螺旋周期大致和瀑布模型相符合,螺旋模型沿着螺旋线旋转,即在坐标的4个象限上分别表示了4个方面的活动,如图所示:

    优点:(1) 螺旋模型很大程度上是一种风险驱动的方法体系。(2) 在每个阶段之前及经常发生的循环之前,都必须首先进行风险评估。缺点:(1) 采用螺旋模型需要具有相当丰富的风险评估经验和专门知识。(2) 在风险较大的项目开发中,如果未能够及时标识风险,势必造成重大损失。(3) 过多的迭代次数会增加开发成本,延迟提交时间。

软件测试&软件工程

  • 软件测试与软件工程息息相关,软件测试是软件工程组成中不可或缺的一部分。    

2、 认识V模型

  • V模型是最具有代表意义的测试模型,最早是由Paul  Rook在20世纪80年代后期提出,由英国国家计算机中心文献中发布,旨在改进软件开发的效率和效果;

  • V模型推出之前,人们通常把测试过程作为在需求分析、概要设计、详细设计、编码全部完成之后的一个阶段,V模型在这个时候推出,就是为了改变之前行业的普遍认识。

  • V模型本身是软件开发中瀑布模型的变种,它反映了测试活动与分析和设计的关系。

  • V模型标明了测试过程中本身存在的不同阶段,从左到右,描述了开发过程和测试过程间的阶段对应关系。

  • V模型示意图: 

2、1、1 V模型每个阶段含义

  • 需求分析

用户需求、业务需求、需求规格说明书
  • 设计

    开发人员的系统架构设计、UI设计师对用户可见页面的设计
  • 编码

实现上面的设计
  • 单元测试

检测代码的开发是否符合详细设计的要求。
  • 集成测试

检测此前测试过的各组成部分是否能完好地结合到一起。
  • 系统测试

拿到产品后,检测一下最基本的功能和业务流程是否能走通,检测产品的安全性和性能等方面的测试
  • 验收测试

    检测产品是否符合最终用户的需求
    迭代

2、1、2 V模型的优缺点

优点:(1)测试V模型即包含了底层测试又包含了高层测试;底层测试:检验源代码质量的测试,如:单元测试;高层测试:检验整个系统的需要,如:系统测试;
(2)V模型清楚地标识出了软件开发的阶段。
(3)它采用自顶向下逐步求精的方式把整个开发过程分成不同的阶段,每个阶段的工作都很明确,因此便于控制开发过程。缺点:(1)V模型一大缺点正是它自身的顺序性所导致的。(2)到了测试阶段,程序已经完成,错误已经产生,很多前期的错误一直到测试阶段才发现,甚至无法发现,往往无从修改了。(3)当需求变更时将会导致阶段反复,而且都要重复需求、设计、编码、测试等过程,返工量非常大,模型灵活性比较低。

2、2、1认识W模型

  • IEEE std1012-1998《软件验证和确认(V&V)》的原则中提出了在软件的需求和设计阶段也应有测试活动,并且提出了相应的原则;

  • W模型由Evolutif公司提出:开发一个V,测试一个V,组合的W模型;

  • 测试伴随着整个软件开发周期,并且测试的对象不仅仅是程序,需求和设计同样要测试。

  • W模型示意图 

2、2、2 W模型的优缺点

优点:(1)开发强调测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求和概要设计同样要测试;(2)更早地接入测试,可以发现开发初期的缺陷,那么可以用更加低的成本进行缺陷修复。(3)同样是分阶段的工作,便于控制项目过程。缺点:(1)对于当前很多项目,在执行的过程中根本不产生文档,那么W模型基本无法适用;(2)使用起来技术复杂度很高,对于需求和设计的测试要求很高,实践起来困难。

2、3 认识H模型(了解)

  • H模型诞生背景

  • 人们发现虽然软件开发中需求、设计、编码等活动被分阶段执行、但是实践中,他们并不是完全串行的,它们之间更多时候是交叉进行的,更多的是迭代执行。

  • 为了解决上面的问题,有专家专门提出了H模型,它将测试活动完全独立出来,形成一个完全独立的流程,同时将测试准备和测试执行也清晰表现出来。

2、3、1

测试流程如下:(1)测试准备:所有测试执行活动的准备;判断是否到测试就绪点;(2)测试就绪点:测试准入准则,即是否可以开始执行测试的条件;(3)测试执行:具体的执行测试的程序。
  • 其他流程

  • 具体开发中的流程,如:设计流程

  • H模型示意图

2、3、2 H模型优缺点

优点:(1)开发的H模型揭示了软件测试除测试执行外,还有很多工作;(2)软件测试完全独立,贯穿整个生命周期,且与其他流程并发进行;(3)软件测试活动可以尽早准备、尽早执行,具有很强的灵活性;缺点:(1)管理型要求高:由于模型很灵活,必须要定义清晰的规则和管理制度,否则测试过程将非常难以管理和控制;(2)技能要求高:H模型要求能够很好的定义每个迭代的规模,不能太大也不能太小;(3)测试就绪点分析困难:测试很多时候,你并不知道测试准备到什么时候是合适的,就绪点在哪里,就绪点的标准是什么,这就对后续的测试执行的启动带来很大困难;

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多