首页 > 其他分享 >六、生命周期、周期模型、测试流程

六、生命周期、周期模型、测试流程

时间:2022-08-28 17:22:37浏览次数:57  
标签:生命周期 迭代 流程 开发 测试 软件 模型

六、生命周期、周期模型、测试流程

1.软件生命周期(Software Life Cycle,SLC)是软件的产生直到报废或停止使用的生命周期。

  软件生命周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段,也有将以上阶段的活动组合在内的迭代阶段,即迭代作为生命周期的阶段。

2.测试周期是指从测试项目计划建立到BUG提交的整个测试过程,包括软件项目测试计划,测试需求分析,测试用例设计,测试用例执行,BUG提交五个阶段。

  软件测试周期并行与软件生命周期,存在于软件生命周期的各个阶段。

  软件开发过程是将用户需求转换为软件的过程,通常包括:需求--设计--实现--测试。

3.软件测试生命周期模型:瀑布模型、V模型、螺旋模型、迭代模型、W模型、H模型、X模型

(1)瀑布模型:瀑布模型强调文档的作用,并要求每个阶段都要仔细验证。但是,这种模型的线性过程太理想化,已不再适合现代的软件开发模式,几乎被业界抛弃。

  优点:

  有利于大型软件开发过程中人员的组织及管理;

  提高了大型软件项目开发的质量和效率;

  缺点:

  由于开发模型呈线性,所以当开发成果尚未经过测试时,用户无法看到软件的效果,只有等到整个过程的末期才能见到开发成果,软件与用户见面的时间间隔较长,也增加了一定的风险;

  早期的错误可能要等到开发后期的测试阶段才能发现,可能会扩散,进而可能会造成整个软件项目开发失败;

  各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量(软件需求分析阶段,完全确定用户的所有需求是比较困难的,甚至可以说是不太可能的);

(2)V模型

  V模型大体可以划分为以下几个不同的阶段步骤:客户需求分析、软件需求分析、概要设计、详细设计、软件编码、单元测试、集成测试、系统测试、验收测试。

  局限性: 把测试作为编码之后的最后一个活动,需求分析等前期产生的错误直到后期的验收测试才能发现。

(3)螺旋模型

  螺旋模型是一种演化软件开发过程模型,它兼顾了快速原型的迭代的特征以及瀑布模型的系统化与严格监控。

  螺旋模型最大的特点在于引入了其他模型不具备的风险分析,使软件在无法排除重大风险时有机会停止,以减小损失。同时,在每个迭代阶段构建原型是螺旋模型用以减小风险的途径。螺旋模型更适合大型的昂贵的系统级的软件应用。 

  将瀑布模型和快速原型模型结合起来,强调了其他模型所忽视的风险分析,特别适合于大型复杂的系统。

(4)迭代模型

  最早的迭代过程可能被描述为“分段模型(stagewise model)”。迭代模型是RUP推荐的周期模型。

  迭代包括产生产品发布(稳定、可执行的产品版本)的全部开发活动和要使用该发布必需的所有其他外围元素。在某种程度上,开发迭代是一次完整地经过所有工作流程的过程:需求分析、设计、实施和测试工作流程。

  实质上,它类似小型的瀑布式项目。

  优点:与传统的瀑布模型相比较,迭代过程具有以下优点:

  1)降低了在一个增量上的开支风险。如果开发人员重复某个迭代,那么损失只是这一个开发有误的迭代的花费。

  2)降低了产品无法按照既定进度进入市场的风险。通过在开发早期就确定风险,可以尽早来解决而不至于在开发后期匆匆忙忙。

  3)加快了整个开发工作的进度。因为开发人员清楚问题的焦点所在,他们的工作会更有效率。

  4)由于用户的需求并不能在一开始就作出完全的界定,它们通常是在后续阶段中不断细化的。因此,迭代过程这种模式使适应需求的变化会更容易些。

(5)W模型:文档驱动

  优点: 

   将测试贯穿到整个软件的生命周期中,且除了代码要测试,需求、设计等都要测试。

  更早的介入到软件开发中,能尽早的发现缺陷进行修复。 

  测试与开发独立起来,并与开发并行。   

  缺点: 

  对有些项目,开发过程中根本没有文档产生,故W模型无法使用。 

  对于需求和设计的测试技术要求很高,实践起来很困难,文档驱动。

(6)H模型

  相对于V模型和W模型,H模型将测试活动完全独立出来,形成了一个完全独立的流程,将测试准备活动和测试执行活动清晰地体现出来。

(7)X模型

  目标是弥补V模型的一些缺陷。

4.测试基本过程

(1)一个规范化的软件测试过程包括以下基本的测试活动:

  拟定软件测试计划、方案;

  设计和生成测试用例、准备测试数据;

  执行测试,记录原始数据,对缺陷进行管理;

  生成软件测试报告、缺陷的统计和报表;

(2)软件测试过程与整个软件开发过程基本上是平行进行的;

(3)一个开发机构还应当制定软件测试规程,按照软件工程的规范,定义各项活动的目标和详细过程;

(4)测试基本过程示意图:

 

 

标签:生命周期,迭代,流程,开发,测试,软件,模型
From: https://www.cnblogs.com/zhuo-90/p/16633126.html

相关文章

  • 软件测试概况
    一、软件测试概况1、测试原则(1)完全测试是不可能的。不可能找出所有错误(2)测试存在风险。测试不全面(3)测试只能表明缺陷的存在。不能证明没有缺陷(4)产品潜在错误书与已发......
  • 软件测试方法与过程
    软件测试方法与过程静态测试 以人工为主,测试者通过阅读代码和文档,分析其正确性、一致性及逻辑结构的正确性,从而找出软件中的错误或缺陷。对自动化工具依赖性较小,发挥人......
  • 测试思维4
      比较之间的差距环境比较 先易后难的分析 由凡化简  拆解步走组合思维在app中应用到很多,你在测试一个直播功能突然来了电话。多进程的并发 单进程 ......
  • Clickhouse基准测试实践
    1.概述本篇博客将对MySQL、InfluxDB、Clickhouse在写入时间、聚合查询时间、磁盘使用等方面的性能指标来进行比较。2.内容比较的数据集,是使用的Clickhouse官网提供的660......
  • vue 的生命周期
    生命周期就是vue从开始创建到销毁的过程,分为四大步(创建,挂载,更新,销毁),每一步又分为两小步,如beforeCreate,created。beforeCreate前,也就是newVue的时候会初始化事件和......
  • Pytest框架 — 16、Pytest的测试报告(pytest-html插件和Allure框架)
    目录1、前言2、pytest-html生成测试报告(1)pytest-html插件安装(2)pytest-html的使用(3)报告独立显示3、Allure框架生成测试报告(1)说明(2)环境准备步骤1:安装Allure框架步骤2:下载allu......
  • 中小企业项目上线的一般流程
    转载地址:https://blog.51cto.com/hujiangtao/1944011在公司从事运维工作期间,发现了一些更新上线项目发布的问题:1,程序中写有大量的接口调用使用的是ip地址。2,程序中的垃......
  • 部署若依微服务全流程(前置条件))
    (第一步)安装jdk(1)查看是否安装jdk java-version如果显示jdk版本则表示已安装jdk,显示其他则说明未安装(2)下载jdk,这里下载的jdk1.8下面是官网下载地址 https:......
  • Spring(二)-生命周期 + 自动装配(xml) +自动装配(注解)
    1、生命周期**Spring容器的bean**的生命周期;1.1默认生命周期1.1.1生命周期调用构造方法,创建实例对象;set方法,给实例对象赋值;init初始化方法初始化对象;(手......
  • 测试人生 | 二线城市年薪30W+,疫情之下涨薪超过100%,是怎么做到的?
    本文为霍格沃兹测试开发学社优秀学员跳槽笔记本人本科就读于某普通院校,毕业后通过同学的原因加入软件测试这个行业,角色也从测试小白到了目前的资深工程师,从功能测试转变......