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

软件测试——测试概念

目录

一、需求概念

1.1用户需求

1.2软件需求

1.3软件需求文档表述(以邮箱注册为例)

二、开发模型

2.1模型由来

2.2软件的生命周期

2.3.瀑布模型

2.3.1瀑布模型概念

2.3.2瀑布模型使用场景

2.3.3瀑布模型的优缺点

2.4螺旋模型

2.4.1螺旋模型概念

2.4.2螺旋模型的使用场景

2.4.3螺旋模型的优缺点

2.5增量模型、迭代模型

2.5.1增量模型、迭代模型的区别

2.5.2增量模型、迭代模型的适用场景

2.5.3增量模型、迭代模型优缺点

2.6敏捷模型

2.6.1敏捷模型概念

2.6.2敏捷模型特点

2.6.3敏捷模型例子——Scrum模型(迭代式增量软件模型开发)

2.7测试模型

2.7.1V模型

2.7.2W模型(双V模型)


一、需求概念

1.1用户需求

用户需求一般不明确,简略

1.2软件需求

软件需求会详细描述开发人员必须要实现的软件功能。

软件需求也是测试人员进行测试的主要依据。

1.3软件需求文档表述(以邮箱注册为例)

软件需求文档表述包括但不限于,前置条件、功能概述、用户角色、前置条件、输入(数据输入的格式,字符长度,以及数据类型)基本事件流(例如:用户选择注册、用户协议界面、用户填写注册信息、向用户注册的邮箱发送激活码、执行激活操作、用户注册完成)扩展事件流(注册完成后,第一次登录提示用户完善用户信息)异常事件流(未收到邮箱激活码)输出、后置条件

用户需求不能直接作为开发和测试的依据

产品经理需要进行需求分析(技术可行性、市场可行性、成本投入、收益占比)

二、开发模型

2.1模型由来

软件工作涉及软件的整个生命周期,软件工作也包括很多技术性的管理工作。这些软件工作建立的标准规范叫做模型

软件基本概念的形成:需求分析、设计、实现、测试、安装、部署、运行维护、软件更新替代新的版本

软件技术管理工作:过程管理、产品管理、资源管理、质量管理

2.2软件的生命周期

需求分析——计划——设计——编码——测试——运行维护

阶段具体内容产出
需求分析从市场需求、技术等方面分析用户需求是否合理需求文档
计划

对成立的需求文档执行计划

多长时间完成改需求,每段时间完成哪些功能

计划文档
设计讲需求细化成一个个任务,团队领取任务进行技术设计(架构设计、接口设计、采用技术技术文档
编码开发人员进行代码编写代码文件
测试测试人员参考测试用例对软件进行测试测试用例、测试设计计划、测试报告
运行维护产品上线后,对产品进行线上维护-

 

线上维护分为三个方面:

修复性维护:对项目中未发现的问题进行修复

完善性维护:对功能进行完善

防御性维护:对一些其他不可预料的问题进行防护

2.3.瀑布模型

2.3.1瀑布模型概念

瀑布模型是其他模型的基础框架,每个阶段只执行一次,线性顺序开发模型

2.3.2瀑布模型使用场景

经常适用于需求固定的小项目

2.3.3瀑布模型的优缺点

优点缺点

强调开发的阶段性

线性结构

其他模型的基础

测试后置:前面各阶段遗留风险到最后阶段才发现,导致项目大面积返工;测试时间短,会导致测试不充分,从而产品质量差

周期长,可能会导致产品上线时已经过时

2.4螺旋模型

2.4.1螺旋模型概念

螺旋模型时渐进式开发模型代表之一。

在瀑布模型的基础上每个阶段都会引入风险分析,不断修改原型

不允许有一段独立测试的时间,测试必须跟随开发的迭代而迭代,因此会经常用到回归测试

2.4.2螺旋模型的使用场景

在软件初期阶段需求不明确(渐进式开发模型)

适用于规模庞大、复杂度高、风险大的项目

2.4.3螺旋模型的优缺点

优点缺点

强调严格的全过程风险管理

强调各开发阶段的质量

增加风险分析和原型

项目中存在的风险与风险管理人员的水平直接相关

需求人员、资金、时间、投入成本增加、导致项目成本高

2.5增量模型、迭代模型

2.5.1增量模型、迭代模型的区别

增量模型一个功能一个功能的开发

迭代模型是给出全部功能的雏形,最后进行细化

2.5.2增量模型、迭代模型的适用场景

结合软件持续构建机制,构成了当今流行的软件工程最佳实践之一

适用于大型目标不明确的项目

2.5.3增量模型、迭代模型优缺点

优点缺点
降低项目风险、与用户紧密联系每次开发都是一种循环的、可预测的方向驱动产品开发每一次迭代都有需求更改,测试需要频繁进行

2.6敏捷模型

2.6.1敏捷模型概念

敏捷模型可以帮助项目快速适应变更需求,主要目的促使项目快速完成,避免任何浪费时间和经历的事。

在敏捷模型中,需求被分别为许多可以增量开发的小部分,每个增量部分都是在迭代中开发的,每次迭代

2.6.2敏捷模型特点

轻文档、轻流程、重目标、重产出

轻文档所以测试人员,不能适用表格编写测试用例,使用思维导图、探索性测试、自动化测试;测试人员多跟开发人员了解需求讨论设计,一起研究bug原因。

2.6.3敏捷模型例子——Scrum模型(迭代式增量软件模型开发)

三个角色:

产品经理:负责整理用户故事,定义商业价值、对其进行排序、指定发布计划

项目经理:召开会议、协调方案

研发团队:完成每一次迭代任务,交付产品

五个重要会议

发布计划会议:产品经理讲解用户故事,对项目进行估算和排序

迭代计划会议:项目团队对每一个故事进行任务分解,每一个任务都要有明确负责人,完成工时初估计

每日例会:每天项目经理召开会议,团队成员回答昨天工作,今天计划,以及遇到问题

演示会议:迭代结束之后,召开演示会议。展示成果

回顾会议:对本期迭代进行总结,制定改进计划

2.7测试模型

2.7.1V模型

v模型的出现是为了改进软件开发的效率和效果,瀑布模型的变种。

优点缺点
明确标注了测试过程重存在的不同测试类型,清楚描述了测试阶段和开发过程的对应关系,提升测试质量和效率仅仅把测试作为在编码之后的一个阶段,未在需求阶段介入测试,容易导致返工现象

2.7.2W模型(双V模型)

未将测试前置的问题在W模型中得以解决

W模型增加了软件开发各个阶段的测试活动,W模型由两个V字型模型组成,分别代表测试和开发过程

程序、需求、设计同样需要测试,测试开发同步进行

优点缺点
有利于尽早全面发现问题

需求、设计、编码等活动被视为串行的

测试和开发也保持着一种线性的前后关系

重流程,无法支持敏捷开发模型,当前软件开发复杂多变W模型不能解决测试管理面临的困惑

相关文章:

  • CCLK IE转EtherCAT凭借网关模块实现三菱PLC与汇川伺服精准通讯的实用案例​
  • 107.二叉树的层序遍历II- 力扣(LeetCode)
  • opencv(C++)用直方图统计像素
  • 动态多目标优化:基于可学习预测的动态多目标进化算法(DIP-DMOEA)求解CEC2018(DF1-DF14),提供MATLAB代码
  • pair与tuple
  • 缓存与数据库一致性:从问题到解决方案全解析
  • 04-微服务 面试题-mk
  • 斐波那契数列 (Fibonacci Sequence) C++
  • 0.DockerCE起步之Linux相关【完善中】
  • 提示词 (Prompt)
  • 树上搜索 第32次CCF-CSP计算机软件能力认证
  • 激光院董事长龚赤坤到北京研发中心检查指导工作
  • 深入解析 Spring AI ChatClient:构建高效 AI 应用的终极指南
  • 2025年3月 Scratch图形化四级 真题解析 中国电子学会全国青少年软件编程等级考试
  • ida 使用记录
  • 基于javaweb的SpringBoot新闻视频发布推荐评论系统(源码+部署文档)
  • Windows系统Python多版本运行解决TensorFlow安装问题(附详细图文)
  • 【我的创作纪念日】
  • 使用MVC模式开发cocos游戏功能
  • 基于springboot餐饮连锁店管理系统
  • 邯郸做网站推广/运营培训班有用吗
  • 做韩国网站/seo关键词分析表
  • 网站建设相关/优化大师官网登录入口
  • 专注合肥网站建设/专业seo站长工具全面查询网站
  • 网站建设与运营实践考试/bing搜索引擎入口官网
  • 宁志网站两学一做/山西seo排名厂家