2-需求

news2024/9/22 15:46:11

目录

1.需求的定义

1.1.用户需求

1.2.软件需求

PS:软件需求规格说明书

2.为什么有需求?

PS:为什么需求对软件测试人员如此重要?

3.测试人员眼里的需求

4.如何深入了解需求?

4.1.参加需求评审会议

4.2.查阅文档(需求文档、技术文档)

4.3.沟通


1.需求的定义

需求是衡量软件测试结果的依据,它是满足用户期望或正式规定文档(合同、标准、规范)所具有的条件和权能,包含用户需求软件需求

1.1.用户需求

可以简单理解为甲方(付费者)提出的需求,如果没有甲方,那么就是终端用户使用产品时必须要完成的任务。

该需求一般比较简略。

一句话,没有细节,实现困难。

也会有不能实现的需求!

1.2.软件需求

或者叫功能需求,该需求会详细描述开发人员必须实现的软件功能。

文档,详细描述用户需求如何实现。规范,标准化。

大多数公司在进行软件开发的时候,产品经理(PM)会把用户需求转化为软件需求(文档)

开发人员和测试人员工作的直接依据就是软件需求。

IEEE定义:软件需求是

  1. 用户解决问题或达到目标所需条件或权能(Capability)。
  2. 系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或权能。

一种反映上面1或2所述条件或权能的文档说明,由产品经历写。

它包括功能性需求及非功能性需求,非功能性需求对设计和实现提出了限制,比如性能要求,质量标准,或者设计限制。

PS:软件需求规格说明书

一、用户需求:

平台支持邮箱注册。

二、软件需求:

1.1.1.1 注册账号

1.1.1.1.1 功能概述

用户可以通过填写邮箱信息在平台注册个人用户。

1.1.1.1.2 用户角色

匿名用户。

1.1.1.1.3 前置条件

无。

1.1.1.1.4 输入

1.1.1.1.5 处理

1.1.1.1.5.1 基本事件流

1、用户选择注册。

2、系统展现用户协议界面,并请用户确认是否同意用户协议。

1) 若用户不同意协议,系统禁止用户注册。

2) 若用户同意协议,用户进行注册信息填写。

3、用户填写注册信息。

注册个人,填写:姓名,电子邮箱,密码,确认密码,验证码。

4、用户提交注册信息。

5、系统提示用户并向用户注册的电子邮件地址发送一封含有激活信息的电子邮件。系统并提示用户,若未收到激活邮件,可使用注册的邮箱和密码登录系统后再次发送激活邮件。

6、用户可执行激活操作,直接跳转至注册邮箱门户页面。

7、用户通过接收到的电子邮件中的激活信息激活账号,用户注册完成,流程结束。

1.1.1.1.5.2 扩展事件流

用户注册并激活成功后,第一次登录平台时,提示用户完善信息。

1.1.1.1.5.3 异常事件流

1. 若用户未收到激活邮件,可在登录界面录入电子邮件及密码后,再次发送激活邮件。

2. 每次发送的激活邮件,仅在发送邮件后起24小时之内有效,超过24小时后需重新发送激活邮件。

1.1.1.1.6 输出 用户注册成功

1.1.1.1.7 后置条件

该模块为用户登陆等的前置模块。

2.为什么有需求?

需求相当于一个标准。

只有描述清楚要做一件什么事(需求),开发人员才会对照需求进行开发,测试人员才会对照需求进行测试。

有需求才有目标。

PS:为什么需求对软件测试人员如此重要?

  • 从软件功能需求出发,无遗漏地识别出测试需求是至关重要的,这将直接关系到用例的测试覆盖率。
  • 对于识别出的每个测试需求点,需要采用具体的设计测试用例的方法来进行测试用例的设计。

3.测试人员眼里的需求

需求是测试人员开展软件测试工作的基本依据。

在具体设计测试用例的时候,首先需要搞清楚每一个业务需求对应的多个软件功能需求点,然后分析出每个软件功能需求点对应的多个测试需求点,然后针对每个测试需求点设计测试用例。

验证需求,保证需求正确可实现->细化需求,从需求中提炼出一个个的测试项

过程如下:

业务需求—>软件功能需求点—>测试需求点—>测试用例

以“用户登陆”为例,来阐述下整个过程:

4.如何深入了解需求?

4.1.参加需求评审会议

  • 为什么做这样一个需求?
  • 收益达到什么标准?
  • 软件要做成什么样?

评审完需求不一定会立马做,会根据紧急程度根据情况,看啥时候开始开发/测试。

4.2.查阅文档(需求文档、技术文档)

4.3.沟通

测试人员可以找产品经理了解软件功能,找开发人员了解软件实现。

测试工程师在需求分析(验证需求的合理性和正确性)和设计阶段(站在用户的角度)就开始介入,因为这个阶段是理解和掌握软件的原始业务需求的最好时机。

只有真正理解了原始业务需求之后,才有可能从业务需求的角度去设计针对性明确,从终端用户的使用场景到端到端的覆盖率较高的测试用例集。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/728683.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据结构初阶--二叉树OJ1

目录 二叉树的最大深度思路分析代码实现 相同的树思路分析代码实现 单值二叉树思路分析代码实现 二叉树的前序遍历思路分析代码实现 翻转二叉树思路分析代码实现 对称二叉树思路分析代码实现 另一棵树的子树思路分析代码实现 二叉树的最大深度 先来看题目描述 思路分析 题目…

QT学习—串口LED小项目

前言——博主刚开始接触QT,本文参考博主嵌入式大杂烩的一篇博文易懂 | 手把手教你编写你的第一个上位机,初步学习一下QT开发。 文章目录 一、QT安装二、新建工程三、创建上位机界面3.1 修改控件名3.2 添加槽函数 四、上位机程序打包五、上位机测试六、总…

不要用 in + 子查询

前两天我的 VIP 用户向我抛出了一个 SQL 问题,他的 MySQL 是 8.x版本: 大概意思如下 sql : select * from A where id in (select max(id) as id from A where task_id in(1,2,3) group by task_id );这个 A 表中是有 task_id 这个索引的。 …

【转换】编码转换工具笔记

应用场景 应用场景是程序整合第三方库多平台运行,第三方库window平台编译,代码移植到linux出现bom问题 思考解决 windows使用utf-8编码,linux使用utf-8无bom编码 工具主要针对utf-8编码文件,能够批量添加删除BOM,无…

SpringBoot获取项目日志

目的 对于布署在远端的服务,我们想快速的获取到日志。对于使用了日志服务,也可能因为上报间隔太长,日志不够实时。 所以想通过一些方式,可以不用进入到容器内也可以简单快速获取到日志,而且是实时的日志。目标就是获…

c语言进阶-动态内存管理

重点学习内容 动态内存管理四大函数 Malloc 内存申请函数 返回值是无类型的指针,指向分配的内存的首地址。申请失败会返回空指针。 malloc返回值是void*类型,使用时需要强制转换成所需类型。 malloc和free匹配使用,但是如果不free释放内存&…

解析3D视觉系统在引导金属件上下料中的应用

原创 | 文 BFT机器人 引言 Introduction 机器视觉技术作为一种高科技的智能化技术,正在工业生产领域发挥着越来越重要的作用。它利用计算机视觉技术,通过获取、处理和分析图像,实现对产品和工艺过程的监测、检测和控制。 随着人工智能技术的…

[SUCTF2019]hardcpp

前言 又遇到ollvm了 解混淆 可以直接用angr运行脚本去除除控制流平坦化,最好在ancoda等管理环境里面安装angr不然问题很多 https://github.com/Pure-T/deflat 去除前 去除后,它将多余的直接nop了 分析 主要加密区域位于匿名函数这一块&#xff0c…

前端学习——Web API(Day1)

Web API基本认知 Web API 基本认知 作用和分类 DOM DOM树 DOM对象 获取DOM对象 根据CSS选择器来获取DOM元素 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" …

【教学类-36-08】转学“纪念册“留念(生肖用midjounery-niji)

作品样式 背景需求&#xff1a; 即将离开班级&#xff0c;我想收集一份28个孩子的绘画册做——留念转学纪念册. 材料准备&#xff1a; 幼儿照片 ——3月初到中6班拍摄的幼儿手持学号名字纸的照片&#xff08;为了背诵幼儿信息而拍摄的照片&#xff0c;统一竖版&#xff09; 生…

jmeter 连接数据库常见报错

1. 不允许主机连接到MySQL 报错信息&#xff1a; Response message:java.sql.SQLException: Cannot create PoolableConnectionFactory (null, message from server: "Host 192.168.1.6 is not allowed to connect to this MySQL server") 说明&#xff1a;本机的地…

代码随想录day10

232. 用栈实现队列 思路&#xff1a;用两个list去模拟栈的操作&#xff0c;一个入栈list&#xff0c;一个出栈list. 并且了解栈的操作&#xff0c;pop,peek,push. 代码&#xff1a; def __init__(self):self.stack1 [] #入栈self.stack2[] #出栈def push(self, x: int) ->…

【Linux】常用网络命令:ping\netstat\mount\ifconfig

ping命令用于检测主机&#xff0c;执行ping命令指令会使用ICMP传输协议&#xff0c;发出请求回应的信息&#xff0c;若远程主机的网络功能没有问题&#xff0c;就会回应该信息。   netstat命令用于显示网络状态&#xff0c;利用netstat 指令可让你得知linux系统的网络情况。…

图像 跟踪 - MOTR: End-to-End Multiple-Object Tracking with Transformer (ECCV 2022)

MOTR: End-to-End Multiple-Object Tracking with Transformer - 使用Transformer进行端到端多目标跟踪&#xff08;ECCV 2022&#xff09; 摘要1. 引言2. 相关工作3. 方法3.1 目标检测中的查询3.2 检测查询和跟踪查询3.3 Tracklet-Aware标签分配3.4 MOTR架构3.5 查询交互模块3…

git-创建文件夹方式管理分支

文章目录 前言一、效果图二、git命令总结 前言 下面介绍一个git创建文件夹的方式管理分支的方法&#xff0c;在sourcetree上显示目录样式&#xff0c;好对每个版本做管理&#xff0c;可以更方便追踪历史版本代码。 一、效果图 1、git文件夹方式管理分支 二、git命令 1、在本…

SSMP整合案例(14) 将界面查询改为分页查询

前面几篇文章过后 我们的项目基本环境就算搭好了 但是 我们下面的分页显然就是个摆设 这里 我们就先将查询的方法改成分页的 我们 java项目之前做了这个分页的函数 那么 我们vue项目 直接在 src下的 api 下的bookApi.js中加上对应的函数 export function getPage(params){r…

动态SLAM论文(8) — DynaSLAM II: Tightly-Coupled Multi-Object Tracking and SLAM

目录 1 Introduction 2 Related Work 3 Method A. 符号表示 B. 物体数据关联 C. 以对象为中心的表示 D. 对象束调整 E. 边界框 4 Experiments A. 视觉里程计 B. 多目标跟踪 C. 时间分析 5 结论和未来工作 摘要 —— 在视觉SLAM算法中&#xff0c;假设场景是刚性的是…

快速入门uniapp——从环境搭建到项目实践

&#x1f642;博主&#xff1a;小猫娃来啦 &#x1f642;文章核心&#xff1a;快速入门uniapp——从环境搭建到项目实践 文章目录 初步介绍UniApp开发环境搭建下载和安装UniApp开发工具创建新项目&#xff08;HBuilderX&#xff09;开发工具界面介绍 UniApp基础知识页面结构页面…

Rdkit|SMARTS语言应用

github&#xff1a;地址 文章目录 Rdkit|SMARTS语言应用子结构搜索HasSubstructMatch(patt)得到子结构序列GetSubstructMatch删除子结构AllChem.DeleteSubstructs(m,patt)取代基替换AllChem.ReplaceSubstructs(m, patt, rep)显示核心结构显示侧链结构 Chem.ReplaceCore分子拆分…

vue transition标签用法

transition标签 是Vue的内置动画标签&#xff0c;在插入/更新/移除DOM元素时&#xff0c;在合适的时候给元素添加样式类名&#xff08;配合css样式使用&#xff0c;实现动画效果&#xff09; 注意&#xff1a; 1.transition标签只能包含一个元素&#xff1b;如果里面写了多个…