阿里年薪50w和5w都是如何进行需求分析,过来围观!

工作中难免会遇到并不“完美”的需求文档,比如牵一发而动全身却不清晰的交互逻辑、子条目频繁的变更、交流缺失导致的歧义等,都会让测试在项目推进中手足无措。

一份好的需求文档,不止能够加速开发和测试的脚步,还能够提前发现风险,是产品的第一道风险保障。

 

需求分析概览图

 

业务类需求

背景&目标

在阅读需求文档时,首先我们要对项目或者功能本身有一个宏观的认识,首要针对需求的整体作用进行评审。如果整体的方向错误,那么细节上也没有再讨论的意义了。

完整性

站在完整性的角度看需求文档,实际上是将当前的负责的项目模块化(或者抽象化),根据功能的需求确定功能的影响范围,再细化,同时对比需求文档,这样对目标的操作有个明确的预期结果

1)结构化项目流程

  • 原型图
  • 流程图

无论是功能类的需求、质量类的需求还是解决用户反馈的需求,都可以把这些需求抽象成为操作(增、删、改)、查询两个大模式。要么是纯查询类需求(即刻俊译),要么就是两者结合操作类+查询类(灵犀)。

862c372d61ed98d95cc26cb96cd3db53.jpeg

2)确认影响因素

比如一个纯查询类的功能需求,我们通过以上的图就可以知道,整个过程影响我们的因素有:

  1. 用户输入
    1. 类型(中文、汉字、英文、数字、不支持编码、表情、符号)
    2. 长度(最短、最长)
    3. 异常输入
    4. ...
  2. 查询条件
    1. 完全匹配查询、部分匹配查询(简拼、暴力)
    2. 需求中定义的查询规则(匹配规则、优先级逻辑)
  3. 查询内容
    • 这里的查询内容指的是被查询内容的特性,存在/不存在,同步/异步,正常/异常,或某些需求文档中指明的情况
  4. 效果展示
    1. 展示位置
    2. 排序优先级
    3. 展示个数
    4. 标记情况

3)综合外界因素

这里的外界影响因素,指的是有可能改变这四个过程中的某些外界因素,比如开启繁体下会改变用户输入,比如当用户关闭用户词会使用户词查询内容失效,再比如某些固排的词会影响效果展示。

还有一些效果性的需求,比如提高查询效率,我们知道这个功能只需要改动查询条件就可以,但是在需求文档中也应明确是否有用户输入和查询内容的约束。当然这些综合考量离不开测试人员对项目知识的掌握程度,在这里建议类比相似功能、总结记录(bug、特殊场景)以及用例评审去提升外界因素的覆盖度。

将以上因素排列组合和归纳,再对比需求文档,我们就可以知道某种特定的输入下,有哪些预期结果。那这些预期结果到底好不好,这就涉及到需求细节的明确性、合理性以及优先级。即明确性、合理性以及优先级的相关影响因素是在完整性的考量中确定的,所以结构化项目流程,明确影响因素范围尤其重要。

明确性

明确性是需求阅读中的痛点,因为阅读的时候人都是主观的,所以很难有这个明确性的意识。经常出现问题的地方是歧义和没有约束

  • 歧义的建议是多次阅读,特别是那些觉得非常拗口的地方,往往都是问题频发的根源。

  • 约束的问题往往依赖个人经验,比如键盘类型的约束以及异常校验的约束等。

合理性

  1. 是否符合用户需求:需求是否解决了用户痛点。

  2. 是否符合大众逻辑:解决的这个痛点会不会只考虑到小范围的用户,从而影响到大众关注的逻辑。

  3. 是否满足用户体验:同时要及时发现对于用户操作过程中的体验问题,在糗事百科创始人著作的《结网》一书中,提出了用户体验的三大原则:别让我等,别让我想,别让我烦

优先级

某些需求项与已有功能有“冲突”,针对这些需求项,是否明确了优先级,并评估优先级的合理性。

 

技术类需求

为了能有助于测试开展,我们同样需要了解开发技术,毕竟在测试环境的搭建及维护,测试过程中各种场景的模拟特别是异常情况,以及自动化测试等,都需要借助于开发技术。

  1. 理解研发设计的架构及设计思路,并考察开发设计是否满足业务需求
  2. 确认技术方案设计的影响点(代码影响、依赖模块、历史功能/数据兼容等)。
  3. 了解并熟悉开发使用的技术及开发框架(视不同项目具体情况而有所不同)。
  4. 考察代码的质量属性是否满足以下要求:
    • 可用性:评估最终用户在使用软件并与软件交互时的可用性问题。
    • 容错性/健壮性:用于测试系统在出现故障时,是否能够自动恢复或忽略故障继续运行。
    • 安全性:避免出现SQL注入、XSS、泄密等相关安全风险。
    • 性能:评估程序在不同并发用户数和不同数据量下的响应时间以及吞吐率/量。
    • 可维护性:评估系统是否拥有良好的数据处理和日志机制,以备技术支持和调试之需。
    • 可扩展性:解耦、参数配置或代码写死。
    • 兼容性:不同的硬件、软件(操作系统、浏览器)等。
    • 可靠性:是否能达到规格说明中的运行时常和 MTBF(平均无故障工作时间),避免影响用户的本身业务(内容、过程)。
    • ...
    •   自动化测试相关教程推荐:

      2023最新自动化测试自学教程新手小白26天入门最详细教程,目前已有300多人通过学习这套教程入职大厂!!_哔哩哔哩_bilibili

      2023最新合集Python自动化测试开发框架【全栈/实战/教程】合集精华,学完年薪40W+_哔哩哔哩_bilibili

      测试开发相关教程推荐

      2023全网最牛,字节测试开发大佬现场教学,从零开始教你成为年薪百万的测试开发工程师_哔哩哔哩_bilibili

      postman/jmeter/fiddler测试工具类教程推荐

      讲的最详细JMeter接口测试/接口自动化测试项目实战合集教程,学jmeter接口测试一套教程就够了!!_哔哩哔哩_bilibili

      2023自学fiddler抓包,请一定要看完【如何1天学会fiddler抓包】的全网最详细视频教程!!_哔哩哔哩_bilibili

      2023全网封神,B站讲的最详细的Postman接口测试实战教学,小白都能学会_哔哩哔哩_bilibili

        总结:

       光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

      如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。

      如有不懂还要咨询下方小卡片,博主也希望和志同道合的测试人员一起学习进步

      在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。

      我的自动化测试开发之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,

      测试开发视频教程、学习笔记领取传送门!!

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

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

相关文章

【尘缘送书第五期】Java程序员:学习与使用多线程

目录 1 多线程对于Java的意义2 为什么Java工程师必须掌握多线程3 Java多线程使用方式4 如何学好Java多线程5 参与方式 摘要:互联网的每一个角落,无论是大型电商平台的秒杀活动,社交平台的实时消息推送,还是在线视频平台的流量洪峰…

Unity中Batching优化的GPU实例化(3)

文章目录 前言一、UNITY_SETUP_INSTANCE_ID(v);二、在UnityInstancing.cginc文件中,看一下Unity这句话做了什么1、使用了该 .cginc 后,会自动预定义该函数2、需要满足GPU实例化条件,才会执行对应语句3、满足GPU实例化后,主要执行的…

在UniApp中使用uni.makePhoneCall方法调起电话拨打功能

目录 1.在manifest.json文件中添加权限 2. 组件中如何定义 3.如何授权 4.相关知识点总结 1.在manifest.json文件中添加权限 {"permissions": {"makePhoneCall": {"desc": "用于拨打电话"}} }2. 组件中如何定义 <template>…

创建第一个 Flink 项目

一、运行环境介绍 Flink执行环境主要分为本地环境和集群环境&#xff0c;本地环境主要为了方便用户编写和调试代码使用&#xff0c;而集群环境则被用于正式环境中&#xff0c;可以借助Hadoop Yarn、k8s或Mesos等不同的资源管理器部署自己的应用。 环境依赖&#xff1a; 【1】…

【论文合集】在非欧空间中的图嵌入方法(Graph Embedding in Non-Euclidean Space)

文章目录 1. Hyperbolic Models1.1 Hyperbolic Graph Attention Network1.2 Poincar Embeddings for Learning Hierarchical Representations.1.3 Learning Continuous Hierarchies in the Lorentz Model of Hyperbolic Geometry1.4 Hyperbolic Graph Convolutional Neural Net…

【开源】基于Vue.js的假日旅社管理系统

文末获取源码&#xff0c;项目编号&#xff1a; S 078 。 \color{red}{文末获取源码&#xff0c;项目编号&#xff1a;S078。} 文末获取源码&#xff0c;项目编号&#xff1a;S078。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 系统介绍2.2 QA 问答 三、系统展示四…

【实用经验】如何根据CVE编号找到安全补丁

找到对应补丁页面 例如查找编号为 CVE-2019-0708 的漏洞&#xff0c;访问下面链接即可&#xff0c;替换末尾编号可获取其他漏洞更新补丁。 https://msrc.microsoft.com/update-guide/vulnerability/CVE-2019-0708根据实际情况点击右侧补丁链接即可跳转下载 最后根据实际情况下…

水平自动扩容和缩容HPA;API资源对象NetworkPolicy;Kubernetes用户安全控制;Kubernetes创建普通用户示例

水平自动扩容和缩容HPA&#xff1b;API资源对象NetworkPolicy&#xff1b;Kubernetes用户安全控制&#xff1b;Kubernetes创建普通用户示例 水平自动扩容和缩容HPA&#xff08;本部分操作适合K8s版本>1.23.x) HPA全称是Horizontal Pod Autoscaler&#xff0c;翻译成中文是…

揭秘C语言结构体:通往内存对齐的视觉之旅

揭秘C语言结构体&#xff1a;通往内存对齐的视觉之旅 引言 在C语言的编程旅程中&#xff0c;结构体&#xff08;structs&#xff09;是一个关键而强大的概念。结构体不仅允许我们组织和存储不同类型的数据&#xff0c;而且通过深入了解内存对齐&#xff0c;我们可以更好地优化…

Python+requests+unittest+excel实现接口自动化测试框架

在刚刚进入测试行业的时候&#xff0c;最开始也是做功能测试&#xff0c;我想很多伙伴和我一样&#xff0c;觉得自动化测试都很高端&#xff0c;很神秘。迫不及待的想去学习作自动化测试。 以前比较常用数据库python做自动化&#xff0c;后面发现excel个人觉得更加适合&#x…

初始类与对象

初始类与对象 实验介绍 本课程是进一步对类与对象的深入认识&#xff0c;如何定义并实例化一个类&#xff0c;介绍如何使用 C 标准库 string 类等。 知识点 认识类与对象内联函数string 类类的定义与实例化 认识类与对象 官方定义 类&#xff1a;在面向对象编程中是一种…

自定义starter案例——统计独立IP访问次数

自定义starter案例——统计独立IP访问次数 文章目录 自定义starter案例——统计独立IP访问次数ip计数业务功能开发定时任务报表开发使用属性配置功能设置功能参数配置调整 自定义拦截器开启yml提示功能 ip计数业务功能开发 public class IpCountService {private Map<String…

matplot函数调整子图大小测试

调整subplot()函数的子图间距 import numpy as np import matplotlib.pyplot as plt for i in range(1,7):figsize 10,6plt.subplot(2,3,i)plt.text(0.5,0.5,str((2,3,i)),fontsize18,hacenter) **plt.subplots_adjust(hspace3.3, wspace0.3)** plt.show()import numpy as np…

水果党flstudio用什么midi键盘?哪个版本的FL Studio更适合我

好消息&#xff01;好消息&#xff01;特大好消息&#xff01; 水果党们&#xff01;终于有属于自己的专用MIDI键盘啦&#xff01; 万众期待的Novation FLKEY系列 正式出炉&#xff01; 话有点多话&#xff0c;先分享一份干货&#xff0c;尽快下载 FL Studio 21 Win-安装包&…

2023人工智能和市场营销的融合报告:创造性合作的新时代需要新的原则

今天分享的人工智能系列深度研究报告&#xff1a;《2023人工智能和市场营销的融合报告&#xff1a;创造性合作的新时代需要新的原则》。 &#xff08;报告出品方&#xff1a;M&CSAATCHITHINKS&#xff09; 报告共计&#xff1a;11页 生成型人工智能的兴起和重要性 生成式…

P8 Linux 目录操作

目录 前言 01 mkdir 系统调用 mkdir的代码示例 02 rmdir删除目录 03 打开、读取以及关闭目录 3.1 opendir()函数原型&#xff1a; 04 读取目录 readdir() 05 struct dirent 结构体&#xff1a; 06 rewinddir ()函数重置目录流 07 关闭目录 closedir ()函数 测试:打印…

基于深度学习的遥感图像变化差异可视化系统

1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 研究背景与意义 遥感图像变化差异可视化是遥感图像处理和分析的重要研究领域之一。随着遥感技术的快速发展和遥感数据的广泛应用&#xff0c;遥感图像的获取和处理变得越来越容易…

python-比较Excel两列数据,并分别显示差异

利用 openpyxl 模块&#xff0c;操作Excel&#xff0c;比较Excel两列数据&#xff0c;并分别显示差异 表格数据样例如下图 A&#xff0c;B两列是需要进行比较的数据&#xff08;数据源为某网站公开数据&#xff09;&#xff1b;C&#xff0c;D两列是比较结果的输出列 A&#…

小白学习java理解栈手写栈——第四关(青铜挑战)

内容1.理解栈的基本特征2.理解如何使用数组来构造栈3.理解如何使用链表来构造栈 1.栈的基础知识 1.1栈的特征 栈和队列是比较特殊的线性表&#xff0c;又称为访问受限的线性表。栈是很多表达式、符号等运算的基础&#xff0c;也是递归的底层实现&#xff0c;理论上递归能做的…