当前位置: 首页 > ops >正文

第二集 测试概念

文章目录

  • 需求的概念
    • 用户需求
    • 软件需求
  • 开发模型
    • 实际上的模型
    • 软件的生命周期
  • 常见的开发模型
    • 瀑布模型
      • 优缺点:
    • 螺旋模型
    • 增量模型、迭代模型
      • 区别
    • 敏捷模型
      • scrum
    • 测试模型
      • V模型
      • W模型

需求的概念

需求分两部分:一部分是用户需求,另一部分则是软件需求。

用户需求

理解为甲方所提出的需求,或者最终使用者的要求。

软件需求

或者叫功能需求,会详细描述开发人员必须完成的软件功能。软件需求是测试人员进行测试时的基本依据。

开发模型

实际上的模型

模型的工作流程:

需求收集——>需求定义——>产品设计——>编码——>测试——>发布
需要如上几步

软件的生命周期

指的是软件从需求开始,经历需求的计划、设计、程序的开发、程序的测试等阶段,直到软件不在进行维护便到了生命的重点。

常见的开发模型

瀑布模型

在这里插入图片描述
瀑布模型在软件工程中有着重要地位 ,是所有其他模型的基础框架。瀑布模型的每一个阶段都只执行一次,因此是线性的开发模式。

优缺点:

可以运行的产品很迟才能被看见,会给项目带来很大的风险,尤其是集成的风险。因为如果在需求引入的一个缺陷要到测试阶段才可能会被发现,甚至更后的阶段。通常会导致前面阶段的工作大面积返工。
所以现在很多企业在其瀑布模型的线性思想上面,做出了修改,列如细化了各个阶段,在某些重点关注的阶段之间掺入迭代的思想。
正在瀑布模型中,测试往往处于软件实现后,这意味着必须在代码完成后又足够的时间预留给测试的活动,否则会导致测试不充分,把缺陷直接遗留给用户。

螺旋模型

在这里插入图片描述

一般在开发初期对需求不是很明确时,采用的则是渐进式的开发模式。

适用于那些规模庞大、复杂程度高、风险大的项目尤其适合。要求就是不允许有一段独立的测试时间和阶段,测试必须跟随开发的迭代而迭代。

增量模型、迭代模型

在这里插入图片描述
增量开发能显著降低 项目风险,结合软件持续构建机制,构成了当今软件工程最佳实践之一。

区别

比如画一幅画
增量模型:

先画人的头部(对其打草、勾线、上色后完整的画面),在画身体,在画手脚。

迭代模型:

先打草整体、在勾线整形、最后上色整体。

敏捷模型

敏捷模型是一种以迭代、增量和协作为核心的软件开发方法,强调快速响应变化、持续交付价值和紧密的团队协作。与传统的瀑布模型不同,敏捷模型通过短周期的迭代逐步完善产品,更适应需求频繁变动的项目。
敏捷模型中有⼀个⾮常重要的《敏捷宣⾔》,宣⾔内容:

个体与交互重于过程和⼯具
可⽤的软件重于完备的⽂档
客⼾协作重于合同谈判
响应变化重于遵循计划

四个特点:轻⽂档,轻流程,重⽬标,重产出。

scrum

scrum是敏捷模型中的一种,又叫做迭代式增量软件开发模型。

测试模型

测试模型中有两个⾮常重要且具有标志性的测试模型:V模型和W模型

V模型

在这里插入图片描述

优点:
• 明确的标注了测试过程中存在的不同类型的测试,并且清楚的描述了这些测试阶段和开发过程期间
各阶段的对应关系,有效提升测试的质量和效率。
• V模型指出:
◦ 单元和集成测试应检测程序的执⾏是否满⾜软件设计的要求;
◦ 系统测试应检测系统功能、性能的质量特性是否达到系统要求的指标;
◦ 验收测试确定软件的实现是否满⾜⽤⼾需要或合同的要求
缺点:仅仅把测试作为在编码之后的⼀个阶段,未在需求阶段就介⼊测试。缺点同瀑布模型。

W模型

在这里插入图片描述

特点:测试的对象不仅是程序,需求、设计等同样要测试,测试与开发是同步进⾏的
优点:
• 有利于尽早地全⾯的发现问题。例如,需求分析完成后,测试⼈员就应该参与到对需求的验证和确
认活动中,以尽早地找出缺陷所在。同时,对需求的测试也有利于及时了解项⽬难度和测试⻛险,
及早制定应对措施,显著减少总体测试时间,加快项⽬进度。
缺点:
• 需求、设计、编码等活动被视为串⾏的;
• 测试和开发活动也保持着⼀种线性的前后关系,上⼀阶段完全结束,才可正式开始下⼀个阶段⼯
作。
• 重流程,⽆法⽀持敏捷开发模式。对于当前软件开发复杂多变的情况,W模型并不能解除测试管理
⾯临着困惑。

http://www.xdnf.cn/news/17170.html

相关文章:

  • 3a服务器的基本功能1之身份认证
  • 【ee类保研面试】数学类---概率论
  • 嵌入式硬件学习(十一)—— platform驱动框架
  • 基于 HT 引擎实现 3D 智慧物流转运中心一体化管控系统
  • 基于开源链动2+1模式AI智能名片S2B2C商城小程序的用户留存策略研究
  • 计算机基础·linux系统
  • 解决Git提交人信息默认全局化问题:让提交人自动关联当前用户
  • 阿里云部署若依后,浏览器能正常访问,但是apifox和小程序访问后报错链接被重置
  • 【保姆级喂饭教程】python基于mysql-connector-python的数据库操作通用封装类(连接池版)
  • 动态代理常用的两种方式?
  • 大疆无人机使用eport连接Jetson主板实现目标检测
  • 异构系统数据集成之数据源管理:打通企业数据孤岛的关键一步
  • TDengine IDMP 背后的技术三问:目录、标准与情景
  • ​ubuntu22.04系统入门 (四)linux入门命令 权限管理、ACL权限、管道与重定向
  • 思途AOP学习笔记 0806
  • day20|学习前端
  • 比特币量化模型高级因子筛选与信号生成报告
  • 数据大集网:以数据为纽带,重构企业贷获客生态的助贷平台实践
  • 重生之我在暑假学习微服务第十一天《配置篇》+网关篇错误订正
  • 【图像处理基石】什么是数字高程模型?如何使用数字高程模型?
  • HarmonyOS应用开发环境搭建以及快速入门介绍
  • Diamond基础1:认识Lattice器件
  • 【LeetCode 热题 100】347. 前 K 个高频元素——(解法三)桶排序
  • 接口——串口uart(485)
  • 常用排序方法
  • LeetCode 面试经典 150_数组/字符串_O(1)时间插入、删除和获取随机元素(12_380_C++_中等)(哈希表)
  • Java throw exception时需要重点关注的事情!
  • 项目中MySQL遇到的索引失效的问题
  • QT+opencv+yolov8推理
  • 基于RPR模型的机械臂手写器simulink建模与仿真