软件测试–基础知识2–开发模型、测试模型

文章目录

  • 一、开发模型
    • 1、瀑布模型
      • 1、概念
      • 2、测试的切入点
      • 3、优缺点
        • 1)优点
        • 2)缺点
        • 3)改良
    • 2、迭代模型
      • 1)概念
      • 2)优缺点
        • i、优点
    • 3、敏捷开发(Scrum)模型
      • 1)描述
    • 4、快速原型模型
      • 1)描述
      • 2)优缺点
        • i、优点
        • ii、缺点
    • 5、螺旋模型
      • 1)描述
      • 2)优缺点
        • i、优点
        • ii、缺点
    • 6、增量模型
      • 1)描述
      • 2)缺点
  • 二、测试模型
    • 1、V模型
      • 1)单元测试
      • 2)集成测试
      • 3)系统测试
      • 4)验收测试
      • 5)V模型优缺点
    • 2、W模型
      • 1)优缺点
    • 3、H模型-测试外包公司
      • 1)流程
      • 2)优缺点
    • 4、X模型-V模型的改进
      • 1)简介
    • 5、总结
    • 6、测试过程(工作)独立性

一、开发模型

软件生命周期模型

1、瀑布模型

1)概念

  • 迭代包括产生产品发布(稳定、可执行的产品版本)的全部开发活动和要使用该发布必需的所有其他元素,强调开发的深入
  • 在某种程度上,开发迭代是一次完整的经过所有工作流程的过程:需求分析、设计、实施和测试工作流程
  • 刚开始的产品就是稳定的可执行的,然后在初级版本的基础上不断的深入开发更多的功能

2)优缺点

i、优点

  1. 降低了在一个增量上的开支风险
  2. 降低了产品无法按照既定进度进入市场的风险
  3. 加快了整个开发工作的进度
  4. 迭代过程这种模式使适应需求的变化会更容易些

3、敏捷开发(Scrum)模型

1)描述

Axure工具–用来制作软件产品的原始模型
在开发真实系统之前,构造一个原型(即雏形),在该原型的基础上,逐渐完成整个系统的开发工作(实现一个基本原型,让用户对原型进行评价,逐步调整,使其满足用户最终需求)

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

2)优缺点

i、优点

  • 克服瀑布模型的缺点,更好的满足用户的需求并减少由于软件需求不明确带来的项目开发风险
  • 适合预先不能确切定义需求的软件系统的开发

ii、缺点

  • 不适合大型系统的开发(适合开发小型的、灵活性高的系统);
  • 前提要有一个展示性的产品原型,因此在一定程度上可能会限制开发人员的创新

5、螺旋模型

1)单元测试

又称模块测试,针对软件设计中的最小单元—程序模块

2)集成测试

又叫组装测试,通常在单元测试的基础上,将所有程序模块进行有序的、递增的测试,重点测试不同模块的接口部分

3)系统测试

  • 指的是将整个软件系统看为一个整体进行测试,包括功能、性能、以及软件所运行的软硬件环境进行测试
  • 系统测试在系统集成完毕后进行测试,前期主要测试系统的功能是否满足需求,后期主要测试系统运行的性能是否满足需求,以及系统在不同的软硬件环境中的兼容性

4)验收测试

  • alpha测试:是内测版本,开发人员自己测试,不面向客户(开发环境下的测试);主要看有没有功能缺失或系统错误
  • beta测试:是公测版本,对所有用户开放的版本(在实际环境中的测试);主要看客户对软件外观、使用方便等的反应
  • γ(ganmma)测试:指的是软件版本正式法相的候选版本

5)V模型优缺点

优点:

  • V模型即包含了底层测试又包含了高层测试
    • 底层测试:检验源代码质量的测试,如单元测试
    • 高层测试:检验整个系统的需要,如系统测试
  • V模型清楚的标识出软件开发的阶段
  • 采用自顶向下逐步求精的方式把整个开发过程分成不同的阶段,每个阶段分工明确,便于控制开发过程。当所有阶段都完成之后,软件的开发过程也随之结束

缺点:

  • V模型仅仅把测试过程作为在需求分析、系统设计及编码之后的一个阶段,忽视了测试对需求分析、系统设计的验证
  • 需求的满足情况一直到后期的验收测试才被验证
  • 没有体现出 “尽早地不断地进行软件测试” 的原则

改良:
每个步骤都可以进行小的迭代工作

2、W模型

  • W模型就是双V模型,在软件的需求和设计阶段也有测试,开发一个V,测试一个V,组成W模型
  • 1)流程

    测试流程:

    • 测试准备:所有测试执行活动的准备;判断是否到测试就绪点;
    • 测试就绪点:测试准入准则,即是否可以开始执行测试的条件
    • 测试执行:具体的执行测试的程序

    其他流程:

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

    2)优缺点

    优点:

    • H模型将测试活动完全独立出来,形成了一个完全独立的流程,将测试准备活动和测试执行活动清晰的体现出来
    • H模型揭示了一个原理:软件测试是一个独立的流程
    • H模型指出软件测试要尽早准备,尽早执行;只要某个测试达到准备就绪点,测试执行活动就可以开展,并且不同的测试活动可按照某个次序先后进行,也可以反复进行
      缺点:
    • 管理型要求高:由于模型很灵活,必须要定义清晰的规则和管理制度,否则测试过程将难以管理和控制
    • 技能要求高:H模型要求能够很好的定义每个迭代的规模,不能太大也不能太小
    • 测试就绪点分析困难:测试就绪点没有固定的标准,因此很难把握什么时候测试准备就绪,后续的测试执行也很难开展
    • 对于整个项目组的人员要求非常高:需要每个人员对整体项目都很了解,在整个系统中,如果某个阶段某个环节的人员技能有限,无法在规定时间内有效完成任务,会耽误整个项目的推进

    4、X模型-V模型的改进

    软件测试--基础知识2--开发模型、测试模型

    1)简介

    • X模型是对V模型的改进,X模型提出针对单独的程序片段进行相互分离的编码和测试,此后通过频繁的交接,通过集成最终合成为可执行的程序
    • X模型还定位了探索性测试,这是不进行事先计划的特殊型的测试,这一方式往往能帮助有经验的测试人员在测试计划之外发现更多的软件错误

    5、总结

    V模型适用于中小型企业;W模型适用于中大型企业(因为人员要求高);H模型人员要求非常高,很少有公司使用。

    6、测试过程(工作)独立性

    A、研发团队内部的测试岗位
    B、企业内部的独立于研发部门的测试岗位
    C、专门的测试外包公司的岗位
    D、开发人员自己的测试
    测试独立性由高到底排列顺序:
    C>B>A>D

    声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年8月6日
下一篇 2020年8月6日

相关推荐