阿里年薪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.hqwc.cn/news/256223.html

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

相关文章

Android音视频开发入门学习路线(基础知识+硬解码+技术分享)

随着5G基站的不断建设,大家已经可以明确的感知到目前市场上各大企业对于音视频人才的需求,市场招聘音视频岗位薪资亦是水涨船高! 但Android 音视频开发想要自学却难度很高,不仅需要掌握图像、音频、视频的基础知识,并…

docker 可视化工具操作说明 portainer

官网地址 https://docs.portainer.io/start/install-ce/server/docker/linux 1.First, create the volume that Port docker volume create portainer_data2.下载并安装容器 docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restartalways -v /var/run/docker…

Django之admin后台页面功能详解

一)对于admin的初了解 1.简介 Django是一种流行的Python Web开发框架,它提供了一个功能强大且易于使用的admin界面,用于管理网站的后台数据和功能。Django的admin界面是自动生成的,它根据你的模型类自动创建表单和列表视图。你只…

【科普】什么是电子印章? PS抠的印章能用吗?

各类扣章教程一搜一大堆,说明大家对于电子印章使用需求很高。不过要谨记,不要随便抠印章用于公文、证明书、合同协议、收据发票等电子文件,否则可能会吃牢饭。 单是一张电子化的图片是不具备合法性的。那有的人就要问了,我见到的…

掌汇云 | 全场景数据追踪,多维了解用户偏好,提高运营效率

掌汇云拥有黄金“三件套”:掌头条、汇互动、云品牌。群硕借助这些功能套件,面向细分领域如:会展,食品饮料、医药以及工业等,定制综合性信息服务平台,提供资讯、商机、企业人脉、上下游资源、活动等高质量服…

(分类)KNN算法- 参数调优

在此专栏的上一篇文章的基础上,进行交叉实验获取最佳的K值 上一篇文章:KNN算法案例-鸢尾花分类 数据拆分的过程: 交叉验证(Cross Validation) 是一种在机器学习中广泛使用的模型评估和参数调优方法。在训练模型时&…

Linux存储软件栈到底有多复杂,存储软件栈全景概览

从今天开始,我们将介绍一下Linux的存储软件栈,也称为IO栈。今天我们先从整体上了解一下Linux的整个IO栈,后续再深入介绍每个组件。我们很难说清楚Linux的存储软件栈到底有多复杂,但thomas-krenn的一张图可能可以给大家一个比较直观…

短视频文案生成器有哪些?【2024新版短视频文案生成器】

在当今数字化社交时代,短视频已经成为人们生活中不可或缺的一部分。然而,想要制作引人注目、独具创意的短视频,光有精彩的画面和音效可能不够,一个吸引眼球的短视频文案也是至关重要的。本文将专心分享短视频文案生成器的种类&…

python pydoc生成API文档

pydoc是python内置的一个文档生成模块。 pydoc 模块会根据 Python 模块来自动生成文档。 生成的文档可在控制台中显示为文本页面,提供给 Web 浏览器访问或者保存为 HTML 文件。 对于模块、类、函数和方法,显示的文档内容取自文档字符串(即 _…

通信原理 计网

串行通信是指使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。其只需要少数几条线就可以在系统间交换信息,特别使用于计算机与计算机、计算机与外设之间的远距离通信。 同步通信 —— 严格时钟同步 ——— 连续串…

html电子签名

html电子签名 html5实现手写签名板&#xff0c;点击保存即可生成base64格式的图片 使用H5自带的canvas&#xff0c;无需引入js无需引入别的js 效果图 html代码 <!DOCTYPE html> <html> <head><meta http-equiv"Content-Type" content"…

nfs高可用部署(lsyncd两主机双向同步)

nfs高可用部署 1. 工具简介 1.1. rsync ​ rsync&#xff08;remote synchronize&#xff09;是 Liunx/Unix 下的一个远程数据同步工具&#xff0c;它可通过 LAN/WAN 快速同步多台主机间的文件和目录。rsync 通过比较两边文件是否相同&#xff0c;不相同才进行更新。 ​ 但是…