测试工程师如何进行需求评审

2023-11-14

        需求文档是测试过程的重要输入之一,测试工程师根据需求文档进行测试活动,包括测试方案的制定,测试设备的准备,测试环境的搭建以及测试用例的设计。需求文档的质量直接影响到测试工作效率。在一个成熟的软件开发过程中,测试工程师需要尽早地进入项目对需求文档进行评审,一方面可以更好地理解需求文档中每个需求项,另一方面可以对需求的可测性进行评估,尽早发现问题。

        通常,需求分成显性需求和隐性需求,显性需求一般在需求文档中会很清楚地列出,而隐性需求需要测试人员根据以往的项目经验以及对于行业标准地了解进行挖掘。显性需求通常包含以下几个部分:

       功能性需求, 描述功能的规格说明,输入输出行为,状态变化过程,界面格式的定义,错误行为的响应。功能需求需要表述准备,避免歧义。

       性能需求,描述系统的响应时间,并发线程数,最大支持用户数等数据,性能需求需要绝对数量化以便测试目标清晰

       安全需求,描述系统需要满足安全条件下进行工程。

        此类需求一般比较明确,测试人员在评审此类需求时,主要从以下几个方面进行考量

          1. 需求的准确性,任何一条需求需要清晰完整地描述,不能出现歧义,避免评审人员随意猜测。

           2.需求的完整性,需求文档中的需求项是否覆盖了所有用户需要的功能项

          3. 需求的唯一性, 每个需求项,只需要在一处进行准备完整地表述。

          4. 需求的一致性,任何一条需求在文中的表述需要完全一致,不能出现前后矛盾或者不一致的地方。

          5. 需求的可测性,需求是否可测,每条需求是否可以用测试用例进行覆盖,需求是否有内部和外部依赖。

           6.需求的优先级: 需求地优先级属性是否合理。

           7..需求的约束性:一些需求的行为成立有一定的前提条件,针对这些需求,是否有明确的先决条件进行说明。

          隐性需求包括可维护性、可补充性、易读性、可靠性、运行环境可转换性等,其中还包括行业标准需求,约束性需求。针对这些需求,需要测试人员有丰富的经验和行业标准的了解。可以通过以下渠道去挖掘这些需求:

         1. 和系统人员,软件开发人员进行需求讨论和交流,了解软件架构从中发现架构中的局限性

          2. 参与前期客户沟通会议,了解客户地使用习惯,运行条件

           3. 和测试设备厂商或者芯片供应商地技术交流去了解行业标准和动态

          4. 学习竞争对手的类似产品的规格说明书,了解相关的技术和标准

         当发现存在以上隐性需求时,需要把隐性需求转换成显性需求,在需求文档中进行定义,从而在后期的测试策略的制定时,有更好地测试和覆盖率,避免出现测试死角。

        


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

测试工程师如何进行需求评审 的相关文章

  • 基于 LoadRunner 实现企业级服务器端性能测试的实践

    后端性能测试工具首先通过虚拟用户脚本生成器生成基于协议的虚拟用户脚本 然后根据性能测试场景设计的要求 通过压力控制器控制协调各个压力产生器以并发的方式执行虚拟用户脚本 并且在测试执行过程中 通过系统监控器收集各种性能指标以及系统资源占用率
  • 8年测试经验分享 —— 从0铸造测试技术壁垒

    前言 相信所有从事着软件测试或相关工作的同学都会思考一个问题 如何在持续且部分重复的测试活动中有效的进行测试技术积累 这个有趣的问题我先不予回答 我们先谈谈如何有效保证软件质量 作为团队中的质量保证者 需要深刻的意识到 验证系统原有功能是否
  • 自动化测试工具——selenium 用前须知

    OK 经过上的过程 我相信你一定做出的相应的选择 如果你选择的是selenium 工具 那么接着往下阅读 首选你在开始selenium之前 需要花一到两个月时间去学一门语言 这里是根据没有语言基础的同学而定的 我推荐ruby python
  • 【干货】如何实现WinApp的UI自动化测试?

    WinApp WindowsAPP 是运行在Windows操作系统上的应用程序 通常会提供一个可视的界面 用于和用户交互 例如运行在Windows系统上的Microsoft Office PyCharm Visual Studio Code
  • 2023测试工程师核心软技能「情绪管理」

    大家好呀 我是小码哥 我之前经常提到一句话 大多数时候所谓的 技术之玻璃天花板 其实只是缺乏软技能而已 所以粉丝朋友们 我们除了需要关注技术 更需要注重软技能的提高 关于软技能相关的文章 之前写过学习方法 职业规划 时间管理 项目管理 团队
  • UI自动化测试的正确姿势 —— Airtest设备连接&API详解第一篇

    一 背景 Airtest作为一款优秀的自动化测试工具 有着强大的API功能 处理日常自动化测试过程中需要的各类操作 今天就给大家逐一介绍关于设备连接和常用API部分 结合自动化测试中的各类需求 看看如何通过使用Airtest来快速实现 二
  • Airtest进阶使用篇!提高脚本稳定性 + 批量运行脚本!

    一 背景 今天彭于晏为大家分享Airtest进阶使用篇 主要包含两块的内容 提高脚本稳定性 批量运行脚本生成测试报告 二 提高脚本稳定性 1 添加全局配置 全局设置 ST FIND TIMEOUT 10 设置隐式等待时长 默认识别图片时间是
  • 无惧代码错误,从unittest开始的单元测试之旅!

    前言 单元测试 Unit Testing 是根据特定的输入数据 针对 程序模块 输出的正确性进行验证的工作 这些程序模块包括 单个程序 函数 类 我们在实现一个程序时不能仅仅实现功能方面的端到端调试 仅仅是能够从数据输入到数据输出能够实现贯
  • Python自动化测试之登录脚本的实现

    环境准备 前提已经安装好python pycharm 配置了对应的环境变量 1 安装selenium模块 文件 gt 设置 gt 项目 script gt python解释器 gt selenium 2 安装浏览器驱动器 以谷歌浏览器为例
  • 软件测试面试题:如何测试App性能?

    为什么要做App性能测试 如果APP总是出现卡顿或网络延迟的情况 降低了用户的好感 用户可能会抛弃该App 换同类型的其他应用 如果APP的性能较好 用户体验高 使用起来丝滑顺畅 那该应用的用户粘性也必然会提高 那我们该如何做App性能测试
  • 可观测性是什么?新手入门指南!

    如果您之前对可观测性重要性 益处 以及组成不甚了解 本文是一个合适的指南手册 什么是可观测性 可观测性被定义为根据系统产生的输出数据 如日志 指标和链路追踪 来衡量当前系统运行状态的能力 可观测性目前被广泛的用于提升分布式 IT 系统的稳定
  • 从零开始学习Web自动化:用Python和Selenium实现网站登录功能!

    Web自动化测试实战项目 使用Selenium和Python完成网站登录功能的自动化测试 本文将介绍如何使用Selenium和Python编写自动化测试脚本 对网站登录功能进行测试 我们将通过模拟用户在网站上输入用户名和密码 并点击登录按钮
  • word下划线空格不延长&对齐

    空格下划线不延长 文件 选项 常规与保存 勾选 为尾部空格添加下划线 确定 下划线对齐 首行 把第一行的下划线调到满意位置 按tab键 下面的行 删到比首行短一丢丢 按tab键
  • Python接口自动化测试:断言封装详解

    前言 在进行API接口测试时 断言起着至关重要的作用 断言是用于验证预期结果与实际结果是否一致的过程 在Python中 我们可以利用一些库来实现断言功能 1 安装必要的库 在Python中 我们主要会使用两个库 requests 和 jso
  • 8年经验之谈!一文看懂性能测试的流程!

    每天做着点点点测试有没有危机感 突然有一天 领导说 小王 今天把996福报系统压一下 下班前把压测报告发我邮箱 啥 压测 今天 报告 怎么压 怎么写 从来没做过啊 心里一万匹草泥马奔跑而过 别说996了 估计明天都下不了班了 好歹也像功能测
  • Appium —— 初识移动APP自动化测试框架Appium

    说到移动APP自动化测试 代表性的测试框架非Appium莫属 从今天开始我们将从 APP结构解析 Appium框架学习 安卓 iOS自动化测试实战 自动遍历回归测试 自动化测试平台及持续集成 多个维度一起由浅入深的学废Appium 今天我们
  • “揭秘性能测试工具:优化软件性能的关键秘籍“

    性能测试工具的设计宗旨是为了模拟用户对软件应用程序或系统的各种操作 旨在评估关键的性能指标 包括响应时间 吞吐量 并发能力和资源利用率 通过这些工具模拟的多用户环境 我们能够产生与实际工作负载相似的条件 并监测系统在这种情况下的性能表现 一
  • ASTM D6147测定压缩情况下硫化橡胶和热塑弹性体作用力衰减 (应力松弛) 的标准试验方法

    标准名称 ASTM D6147 Standard Test Method for Vulcanized Rubber and Thermoplastic Elastomer Determination of Force Decay Stre
  • 甜蜜而简洁 —— 深入了解Pytest插件pytest-sugar

    在日常的软件开发中 测试是确保代码质量的关键步骤之一 然而 对于测试报告的生成和测试结果的可读性 一直以来都是开发者关注的焦点 Pytest插件 pytest sugar 以其清晰而美观的输出 为我们提供了一种愉悦的测试体验 本文将深入介绍
  • 月薪2W的软件测试工程师,到底是做什么的?

    在生活中 我们常常会遇到以下几种窘迫时刻 准备骑共享单车出行 却发现扫码开锁半天 车子都没有反应 手机导航打车 却发现地图定位偏差很大 司机总是跑错地方 买个水 却遭遇自动售货机吐币 或者不找零钱 好不容易休息打个游戏 却一直出现卡顿 闪退

随机推荐

  • 已解决ERROR: No matching distribution found for gradio==3.23

    已解决stderr ERROR Could not find a version that satisfies the requirement gradio 3 23 ERROR No matching distribution found
  • C/C++就业方向与技能需求整理-实习篇

    前言 本文主要面向计算机类本科生同时想要寻求偏向C 相关的职业 提供就业方向参考以及需要学习的技能 以下资料来自牛客网 更于 2022 4 1 网络研发实习生 岗位职责 1 通过软件开发实现数据中心网络和骨干网络的管理和运维自动化 确保网络
  • 安装centos7报错:/dev/root does not exist 问题处理过程

    最近自己做练习的一台实体机服务器硬盘坏了 想着换了重新装一下 结果就是碰壁 折腾了好几天 一直以为是写U盘的工具有问题 报的错也是奇怪 提示 dev root does not exist 并且前面出现n排同样的警告 Warning dra
  • 用Java写一个公司员工管理系统!

    用Java写一个公司员工管理系统 今天看CSDN发现写管理系统的文章不少 我在这里也给大家用java写一篇 当然这里只是最简单的那种qwq 核心功能 对员工各项信息的管理 采用属性文件 资源文件 支持中文简体和英文 目录 第一步 创建一个记
  • 李宏毅 深度学习作业3 CNN

    通过CNN卷积神经网络对食物图片进行分类 训练集与验证集中图片格式为 类别 编号 jpg Import 需要的套件 import os import numpy as np import cv2 import torch import to
  • mysql aio与并发执行线程_mysql 原理 ~ 线程与IO

    一 简介 今天来聊聊具体的线程和IO 二 具体线程与作用 1 master thread mysql的主要工作触发线程 1 redo and binlog日志 2 合并插入缓冲 3 脏页的刷新 4 undo页回收 5 产生一个ckp点 2
  • 从Python到计算机视觉:入门指南

    Python一直是计算机科学领域中最受欢迎的语言之一 它不仅易于学习和使用 而且具有广泛的应用领域 尤其是计算机视觉方面 本文将为读者提供一份详细的入门指南 帮助初学者了解Python和计算机视觉的基础知识和应用 安装Python 要开始使
  • 数据结构进阶

    并查集 朴素版 const int N 1e5 10 int p N 返回x的祖宗节点 int find int x 只有根节点才会有p x x if p x x p x find p x return p x 初始化 void init
  • 咋搭建域控服务器,Active Directory虚拟机搭建域控服务器环境

    前言 还是和上一章一样 痛苦过后还是记录下给后来人提供便利为妙 虚拟机选择 建议Hyper V或者VMware 系统选择 建议WIindows Server 2003及以上 我这里是使用VMware Workstation Pro Wind
  • Android适配刘海屏沉浸式状态栏的一些坑

    在国内做Android开发真的不容易 国内的深度定制 安卓 总能时不时的给你来几个 惊喜 起因 18年简直是刘海元年 所有手机都在跟风刘海屏 甚至每个厂商还有自己的一套适配规范 我的初始需求很简单 就是做一个全屏显示的页面 一般情况下只需要
  • 一个人如何才能成功

    最近看了很多书 听了很多讲座 给我的感触很深 让我想了很多 联想的老总柳传志 GE的前任老总 还有松下幸之助他们为什么会成功 他们有什么不同常人的地方呢 听了华人讲师陈安之的讲座 触动了我得内心深处 他也是一个普通人 在他成功之前他也遇到很
  • 手工装配Visual Studio 2010(vc_runtime_x86)

    1 之前遇到一个问题 c cli的程序部署在服务器上面 程序运行后没有反应就退出了 日志管理器中记录两个错误信息分别如下 1 gt Faulting application 5gameserver 1 exe version 0 0 0 0
  • c++ 常见编译错误

    1 redefinition of class previous definition of class 表示重复定义了类 一般说来是因为在你进行该类定义的头文件中没有使用 ifndef define和 endif来进行保护 如果你确定你在
  • 利用PPT、Excel实现抽题

    利用PPT Excel实现随机抽题 教程 附文件 不管是在公司 还是学校 PPT Excel已经成为不可缺少的一种工具 在各种活动中 有很多场合需要利用PPT实现随机抽题 本文将为你详细 详细 详细的教你如何使用PPT Excel实现随机抽
  • eclipse检测是否连接mysql数据库

    eclipse检测是否连接上数据库 1 先找到Data Source Explorer 2 找到Database connection 并new找到自己的要连接的数据库 3 next 如果没有值则点击添加 4 忽略红叉 并移除自带的包 添加
  • 简单明了操作——ESP8266 NodeMCU驱动TFT LCD液晶屏(制作透明小电视前奏)

    简单明了操作 ESP8266 NodeMCU驱动TFT LCD液晶屏 制作透明小电视前奏 前言 准备材料 esp8266 NodeMCU 串口WiFi模块 1 44inch SPI Arduino Module Black SKU MAR1
  • C语言进阶:动态内存管理

    目录 1 为什么存在动态内存分配 2 动态内存函数的介绍 2 1 malloc和free 2 2 calloc 2 3 realloc 3 常见的动态内存错误 3 1 对NULL指针的解引用操作 3 2 对动态开辟空间的越界访问 3 3 对
  • MongoDB和MySQL性能测试及其结果分析

    MongoDB和MySQL性能测试及其结果分析 2011 02 23 11 18 洪小军 博客园 字号 T T 编者用四组数据的查询和插入操作说明MongoDB HandlerSocket和MySQL在QPS CPU IO三种情况下性能的差
  • Error updating database. Cause:java.sql.SQLException: Lock wait timeout exceeded; try 清除数据库执行时间较长的任务

    SELECT FROM information schema PROCESSLIST WHERE TIME gt 1000 AND USER dimsusr ORDER BY TIME DESC kill id Error updating
  • 测试工程师如何进行需求评审

    需求文档是测试过程的重要输入之一 测试工程师根据需求文档进行测试活动 包括测试方案的制定 测试设备的准备 测试环境的搭建以及测试用例的设计 需求文档的质量直接影响到测试工作效率 在一个成熟的软件开发过程中 测试工程师需要尽早地进入项目对需求