震惊! 全方位解释在测试眼里,什么是需求?为什么要有需求?深入理解需求——图文并茂,生活举例,简单好理解

1、什么是需求?

需求定义(官方)

满足用户期望或正式规定文档(合同、标准、规范)所具有的条件和权能,包含用户需求和软件需求

  • 用户需求:可以简单理解为甲方提出的需求,如果没有甲方,那么就是终端用户使用产品时必须要完成 的任务。该需求一般比较简略。
  • 软件需求:或者叫功能需求,该需求会详细描述开发人员必须实现的软件功能。

简单解释需求:

        比如用户A是卖水果捞的,由于生意太好,便想做一个小程序来让客人快捷下单,于是他找到了软件公司B,给B说我要做个外卖小程序,来让客人快捷下单,我可以针对商品页进行修改,客人可以下单并支付,那么A和B提的要求就叫用户需求,然后由产品经理等人分析用户需求后,决定登录页要用微信登录,登陆成功就跳转到店铺首页,购物车该这样这样做......这就叫软件需求

2、为什么要有需求?

  •         需求是一个标准,有了这个标准后开发人员按照这个标准开发,测试人员按照这个标准测试

        如果没有需求,每个人有每个人的想法,有各自的操作习惯,这样开发和测试阶段就会凌乱无比

3、测试人员眼里的需求

以用户登录为例:

举个例子,对CSDN进行测试

登录

写博客

删除博客

编辑博客

退出

......

拿对用户登录进行测试,有以下测试

  •         功能:满足基本使用操作
  •         安全:数据存储,数据传输
  •         兼容:一套代码在不同平台上都能使用
  •         性能:XXXXXX
  •         ......

4、为什么需求对测试人员如此重要

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

        另外,需求是一个标准,有了这个标准后开发人员按照这个标准开发,测试人员按照这个标准测试

        如果没有需求,每个人有每个人的想法,有各自的操作习惯,这样开发和测试阶段就会凌乱无比(无规矩无以成方圆)

 5、如何深入理解需求

  • 深入阅读需求规格说明书
  • 今早接入需求,参加需求评审会议
  • ......

http://www.niftyadmin.cn/n/5132372.html

相关文章

21.10 Python 使用CRC32校验文件

CRC文件校验是一种用于验证文件完整性的方法,通过计算文件的CRC值并与预先计算的CRC校验值进行比较,来判断文件是否发生变化,此类功能可以用于验证一个目录中是否有文件发生变化,如果发生变化则我们可以将变化打印输出&#xff0c…

制作电子版宣传画册,抢占线上消费市场

随着互联网和移动设备的普及,企业在如今如此激烈的市场竞争中,怎样才能提高自身的宣传力度,进而让企业在市场中占一席之地呢?现在大多数企业都青睐于借助电子画册的形式来实现。 如何制作电子版宣传画册,抢占市场消费资…

【观察】Dell APEX云平台:引领多云时代上云新范式

毫无疑问,过去十多年是云计算发展的黄金十年,云计算理念不断被市场所接受,但随着企业上云深入和认知度的不断增加,摆在很多企业面前的选择题也发生了新变化,即从过去企业上云或不上云的纠结,转变成今天如何…

13.6性能测试理论

一.什么是性能测试 1.定义: 测试人员借助性能测试工具(LoadRunner等),模拟系统在不同场景下(使用高峰期等),对应的性能指标是否达到预期. 2.性能测试和功能测试的区别: a.功能测试依靠人工,性能测试依靠工具. b)功能测试要求软件能正常运行,不管什么场景,性能测试要求软件…

RTOS编程中的原子操作

RTOS编程中的原子操作 一、什么是原子操作 原子操作(Atomic operation)是指一种不可分割的操作,在整个操作过程中都不会被打断。 二、为什么需要原子操作 在一些可能 会被系统调度、中断等事件打断的场景的编程中,我们需要原子操…

优秀的测试人员需要具备什么样的素质?(可以当八股背)

1、硬实力 编码能力 较强的学习能力 文字表达能力 编码能力 能够开发测试工具,编写自动化测试脚本,解决工作中的疑难杂症,提高工作效率 较强的学习能力 不同公司用到的技术不一样,要学习不同的测试工具,…

Postgresql在jdbc处理bit字段的解决方案

问题: bit如果长度为1,则会默认为布尔型(1-true 0-false); bit如果长度大于1,则会默认为bit类型,但是代码中以前常用的两种set方式,会报错 第一种方式: ps.setObject(i1,…