软件测试相关模型

文章目录

    • 开发模型
      • 软件的生命周期
        • 软件开发的生命周期
        • 软件测试的生命周期
        • 软件开发模型
          • 瀑布模型
          • 螺旋模型
          • 增量模型和迭代模型
          • 敏捷模型
        • 软件测试模型
          • V模型
          • W模型

开发模型

开发模型,简单来说就是软件的开发流程,对于一个软件,其整个开发流程就影响着该软件的生命周期。

软件的生命周期

软件开发的生命周期

软件开发的生命周期如下:
在这里插入图片描述
各个阶段的大致含义介绍:

需求分析:从市场的需求量,投入收益占比情况,技术可行性等角度对产品进行分析;
计划:确定产品开发的起始时间、终止时间;
设计:将需求进行细化,进行技术设计;
编码:由开发人员根据需求文档和技术文档进行程序编码;
测试:测试人员参考测试用例执行测试;
运行维护:对项目中未发现的问题进行修复(修复性维护),对产品功能进行完善(完善性维护),使用预防手段维护产品(预防性维护);

软件测试的生命周期

软件测试人员需要执行的测试任务是分阶段的,自然也就牵扯到了软件测试的生命周期;

在这里插入图片描述

需求分析:测试人员了解需求,对需求进行分析分解,得出测试需求;
测试计划:编写测试计划文档,大致包括有多少测试人员,开始测试的时间等;
测试设计与开发:测试人员借助需求文档和技术文档编写测试用例;
执行测试:软件测试人员最为重要的工作阶段,根据测试用例执行测试;

很重要的一点是:软件测试人员往往是最了解需求的人,软件测试贯穿于软件的整个生命周期

软件开发模型

软件的生命周期是指从软件产品的设想开始到软件不再使用而结束的时间,随着软件行业的不断发展,产生了这样几种模型:

瀑布模型

瀑布模型是所有其他模型的基础框架,是一种线性执行的软件开发模型;

在这里插入图片描述
瀑布模型的优缺点:

优点:更加强调开发的阶段性;
缺点:前一个阶段结束后一个阶段才能开始,可以运行的产品很迟才能被看到,会导致风险直到后期的测试阶段才显露,没有及早纠正的机会;同时测试被后置,测试时间可能被挤压导致测试不充分,最终暴露缺陷给用户;

瀑布模型更加适用于需求固定的小型项目;

螺旋模型

螺旋模型是一种渐进式的开发模型,在瀑布模型的基础上增加了风险分析,整个开发过程测试都随着开发的迭代而迭代;
软件测试相关模型_第1张图片

螺旋模型的优缺点:

优点:强调各开发阶段的质量,软件开发有可能存在的风险被严格管理;
缺点:增加了风险分析阶段,势必会耗费一定的人力和财力(招牌风险分析人才),更加耗时;

螺旋模型更加适用于规模庞大,需求不确定,复杂度高,风险大的项目;

增量模型和迭代模型

增量模型是将项目进行模块化,每个模块都可以进行独立的开发和上线;
软件测试相关模型_第2张图片

增量模型的优缺点:

优点:产品可以在较短的时间内尽快的交付给用户使用,便于根据市场作出反应,也降低了失败和更改需求的风险;
缺点:加入新的增量到系统部分时需要保证不会破坏已经构造好的部分;

迭代模型是首先完成产品的基础版本,再对基本版本进行一次又一次的迭代优化,直到最终得到最优版本;

增量的迭代模型比较相似,两者的区别可以使用作画的过程来解释,即增量模型是逐块建造,先画头、再到身体…迭代模型则是反复求精,首先是人的整体框架,再依次对神情,细节进行优化。

敏捷模型

敏捷模型同样是一种软件开发方式,它还包含了很多种方式,其中更为流行的一种是scrum;

scrum包含了3个重要的角色和5个重要的会议:
三个角色:

产品经理:负责整理用户要求,定义其商业价值,制定发布计划;
项目经理:负责召开各种会议,协调项目;
研发团队:包括开发人员、测试人员等不同技能的人员,负责产品的交付;

scrum的基本流程如下(图片来源于网络):

软件测试相关模型_第3张图片

5次会议具体每次会议的工作任务:

需求发布会议:由产品经理讲解用户要求,本次会议的产出物就是确定本期迭代要完成的用户需求;
迭代计划会议:将需求进行拆分得到具体的任务,确定每个任务的负责人,大致评估工时;
每日会议:确定当日的工作任务,复盘昨天工作完成的工作和遇到的问题,每日会议的产物是可交付的产品;
演示会议:演示本次迭代取得的成果;
回顾会议:项目团队对本期迭代进行总结,制定改进计划;

敏捷模型的提出者除了提出该模型外,还提出了《敏捷宣言》,其主要是向我们传递着这样的价值观,即轻流程、轻文档、重目标、重产出;它强调了团队内部人员要尽可能的进行高效的沟通,敏捷模型最终的标准就是可交付的软件;

另外,scrum模型中每个迭代周期为1~4周,通常情况为1周;

软件测试模型

V模型

软件测试相关模型_第4张图片
V模型实际是瀑布模型的变种,它明确的标注了测试过程中不同类型的测试,当然也清楚地描述了这些测试阶段与开发过程中不同阶段的对应关系;

V模型的优缺点:

优点:明确了测试的不同类型,明确了不同测试类型与开发工作之间的对应关系;
缺点:测试工作被后置,不能尽早发现问题;

W模型

软件测试相关模型_第5张图片
W模型由两个V模型组成,分别代表了测试过程与开发过程,W模型增加了软件开发阶段同步进行测试工作的方式,测试的对象包括了程序、需求、设计等,达到了测试与开发同步进行的工作模式;

W模型的优缺点:

优点:测试介入的时间提前,有利于尽早且全面的发现问题,在需求阶段就开始测试准备,可以尽早制定措施,减少总体测试时间,有助于加快项目进度;
缺点:开发与测试同步,但也存在着不变的线性关系,上一阶段完全结束,下一阶段才可以开始,不支持敏捷开发模式;

over!

你可能感兴趣的:(测试,笔记,单元测试,软件测试)