怎样才能迅速了解一个产品的业务流程?

news2024/9/21 7:40:08

很多小伙伴经常问我,刚进入一家新的企业,想要快速了解产品的业务流程,不知从何下手。主要是因为,有的企业根本没有文档可看;还有的企业有文档,但是记录的比较凌乱,想要从中找出点头绪来,也是无从下手。

那么,当遇到文档的缺失或更新的不同步等问题时,我们要如何快速上手呢?今天我们就一起来聊一聊。

1、普遍适用的方法论:分角色带入

很多测试人员进入一家新公司或者接手一个新产品时,最常面临的问题有两个:一是业务流程难以快速掌握,二是时间成本高,领导看中你快速上手工作的能力。所以,笔者以为,你可以通过根据个人情况,分角色带入,来处理这一问题。

图片

>>测试新人

如果你是测试新手,进入一个项目组后,你可以这样了解产品:

Step1:明确你要负责的产品,进行到什么阶段了。不同阶段的产品,你工作重心和工作内容会有不同。比如,研发初期、研发到中期、研发交付期、交付后期,分别应该计划测试些什么内容;

Step2:进入岗位前一个星期,找到完成上级分配给自己的任务的工作方法,并以此作为进入并推动项目进行下去的突破口。

Step3:通过团队人员结构,及产品运作的框架,找准自己职位的定位,并以此为基础,了解产品的上下游操作程序,熟悉自己前后即将对接的负责人,快速融入团队。

Step4:最后,想想在整个产业运作过程中,我们应该专注解决什么问题。结合公司或团队的整体目标,明确自己:目前应该做什么,将来要朝什么方向发展才是最好的。并将自己的计划落于纸上,这样你会更容易持续思考,纠正自己对企业业务的理解,包括产品定义、产品目标、优势特色、团队资源、目标人群定位、竞品、使用场景等。

>>有经验的测试人员

Step1:别的不用多说,先明确你要负责的产品,进行到什么阶段了。(想想产品目前现状:哪里做得好,哪里不足,有哪些标准,做过哪些努力,努力结果如何,经历过哪些历程。)再将自己的优势和经验加以总结,查看自己的经验可以复制在现有项目的哪些步骤哪些环节。这对于你发挥自己在团队的作用很重要。

Step2:到岗后第一周,按照自己从前做事的办法,结合新业务加以运行。如果可以实施,就按照之前的方式进行操作;如果之前的方式无法进行,或者有地方有出入,找准问题定位,根据现有项目,制定合理的计划去实施,并根据结果,调整处理方法。

2、实操技巧:“三步走”深入了解业务线

我猜看完上面的方法论,有些小伙伴会说,上述方法代入感不够强,实操起来还是有一定难度。那么,下面我们就细化到工作的细节来给大家讲讲。

根据我的个人经验,无论你是测试新手,或是有经验的测试人员,都可以这样做:

首先,在入职第一周,我们都应该找该产品对应的测试负责人,向他们了解一下产品进行到什么阶段、应用场景有哪些、用户群是什么和业务主线是什么等。比如:使用该产品的用户群体是谁?是否会分为系统管理员、老师和学员?该系统的主线流程又有哪些?

图片

而了解的办法也比较简单,你可以通过短而集中的时间去询问。比如,约负责不同测试版块的老师,花10-15分钟,了解自己想知道的内容。时间不宜过长,20分钟以内更好。这样你就可以通过最简单的沟通,了解你想知道的问题了。

其次,将自己置入不同的角色,体验产品模块间的联系。通过按角色去体验系统,你会快速理解产品或系统的整体设计意图。并且,你可以以此梳理主线,把各个角色和主功能串联起来,快速发现产品或系统存在哪些值得重点测试的区域。比如:

“课件”主线应该就是老师设计课件→学生报名→学生选课→学生学习。

“考试”主线应该就是老师出题→学生考试→老师阅卷→老师评分→学生查成绩。

 

最后,通过剥洋葱的方法,深入了解产品或系统的业务逻辑。

这样,你就可以像剥洋葱一样,从外层开始把每个环节拆分成单独的模块,再把模块一层一层地从外到内剥开。

比如:“课件”主线能够分为设计课件、报名、选课和学习等模块,而“设计课件”模块还能细分成课件编辑、课件上传、课件管理等子模块。

“考试”主线能够分为出题、考试、阅卷、评分和查分等模块,而“考试”模块还能细分成选择考试科目、选择考试日期、答题等子模块,“答题”模块还能再继续细分成更小的模块,这主要取决于业务逻辑的复杂程度。

当你按照这个步骤拆解完毕,形成一套思维导图的时候,在业务功能层面,你已经了解了至少70%,可能欠缺的就是一些没有文档说明的细节问题和异常场景。

3、补充知识点:如何补足缺失的业务逻辑?

如果你想更快速地深入了解产品,那再介绍一种我从其他人那里学来的方法。

(1)从开发人员那里获取到业务日志和SQL日志所在服务器的地址、用户名和密码,以及日志路径。

(2)安装Xshell之类的工具,连接服务器,打开实时输出的日志文件。

(3)在前端页面进行相应的操作,在后台同步查看输出的日志。通过日志里显示的接口参数和执行的SQL结果,你能清楚地看到前端的某个业务功能,在数据库中会关联到哪几张表,以及表之间的逻辑关系。

图片

最后,将自己前面已知的内容,关联自己后面研究出的逻辑,一张清晰的业务逻辑线条图就跃然纸上啦。(PS:建议自己动手画一画,加深记忆)

写在最后

了解企业中产品或者系统的业务流程或业务逻辑,其实是一件持续的事情。因为,产品的状态是随时变化的。现状只是一种暂时的静止状态,因此,你需要定期重新了解它。

千万不要认为自己当下理解了业务逻辑,就可以不再花心思研究了。记得,一定要定期更新自己的认知,才能在企业中成长的更快哦~

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

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

相关文章

【Python-装饰器】

Python-装饰器 ■ 简介■ 装饰器的一般写法(闭包写法)■ 装饰器的语法 (outer写法) ■ 简介 装饰器其实是一种闭包, 功能就是在不破坏目标函数原有的代码和功能的前提下为目标函数增加新功能。 ■ 装饰器的一般写法(闭包写法&am…

2024年前端技术发展趋势

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

程客有话说05 | 吕时有:在GIS行业深耕13年,做梦做出来了数学竞赛题,这是让我最开心的事

《程客有话说》是我们最新推出的一个访谈栏目,邀请了一些国内外有趣的程序员来分享他们的经验、观点与成长故事,我们尝试建立一个程序员交流与学习的平台,也欢迎大家推荐朋友或自己来参加我们的节目,一起加油。 本期我们邀请的程…

使用Docker搭建本地Nexus私有仓库

0-1开始Java语言编程之路 一、Ubuntu下Java语言环境搭建 二、Ubuntu下Docker环境安装 三、使用Docker搭建本地Nexus Maven私有仓库 四、Ubuntu下使用VisualStudioCode进行Java开发 你需要Nexus Java应用编译构建的一种主流方式就是通过Maven, Maven可以很方便的管理Java应用的…

网盘兼职真的能月入过万吗?你适合做哪种网盘分享牛?

1. 分享大容量文件: 提供常见软件安装包、系统镜像、游戏资源等常用的大容量文件,以满足用户的需求。 创建分类目录,便于用户浏览和查找所需文件。 编写详细的文件描述,包括文件版本、适用系统、安装方法等信息,帮助用…

Promise.all 的方法还没执行完就执行了.then

碰见一个问题,接盘了一个有问题的页面修改。 改变日期后 查询很多数据再去重新加载页面上的数据显示相关的组件。 问题就来了。 加载异常捏…… 最后我一通查: 重点来了 是因为这个Promise.all(数组),里边这个数组的问题。现在是在数据中…

XYCTF 部分wp及学习记录

1.ezmd5 根据题目提示 我们知道应该是要上传两张md5值相同的图片 根据原文链接:cryptanalysis - Are there two known strings which have the same MD5 hash value? - Cryptography Stack Exchange 把保存下来的图片上传一下 得到flag 2.ezhttp 根据原文链接&…

STM32H7的LCD控制学习和应用

STM32H7的LCD控制 LTDC基础硬件框图LTDC时钟源选择LTDC的时序配置LTDC背景层、图层1、图层2和Alpha混合LTDC的水平消隐和垂直消隐LCD的DE同步模式和HV同步模式的区别区分FPS帧率和刷新率避免LTDC刷新撕裂感的解决方法 驱动示例分配栈的大小MPU和Cache配置初始化SDRAM初始化LCD应…

鸿蒙 harmonyos 线程 并发 总结 async promise Taskpool woker(三)多线程并发 Worker

Worker Worker是与主线程并行的独立线程。创建Worker的线程称之为宿主线程,Worker自身的线程称之为Worker线程。创建Worker传入的url文件在Worker线程中执行,可以处理耗时操作但不可以直接操作UI。 Worker主要作用是为应用程序提供一个多线程的运行环境…

办公设备租赁行业内卷瞎扯

办公设备租赁行业内卷瞎扯 最近听到很多同行抱怨,现在市场太卷了,真的有点到了卷不死就往死里卷的节奏,让大家都开始想换地方,或者转行。但是今天,我想从另外一个角度聊一下这个问题,分析一下,…

苍穹外卖day9 (1)用户端历史订单

文章目录 前言用户端历史订单1. 查询历史订单1.1 业务规则1.2 接口设计1.3 代码实现 2. 查询历史订单详情2.1 接口设计2.2 代码实现 3. 取消订单3.1 业务规则3.2 接口设计3.3 代码设计 4. 再来一单4.1 业务规则4.2 接口设计4.3 代码实现 前言 用户端对历史订单的操作&#xff…

机器人系统开发ros2-基础学习16-使用 rosdep 管理依赖关系

1. what is rosdep? rosdep是一个依赖管理实用程序,可以与包和外部库一起使用。它是一个命令行实用程序,用于识别和安装依赖项以构建或安装包。 其本身rosdep并不是一个包管理器;它是一个元包管理器,它使用自己的系统知识和依赖…

Day10案例分页查询,条件查询

对要求进行逻辑分析,传递固定参数{page,pagesize}任意参数{name,gender,begin,end},返回总记录数以及当前页码的记录 不使用pagehelper插件,首先完成SQL语句 SQL语句 //固定头 <?xml version"1.0" encoding"UTF-8" ?> <!DOCTYPE mapperPUBLI…

SQL-DML数据操纵语言(Oracle)

文章目录 DML数据操纵语言常见的字段属性字符型字段属性char(n)varchar2(n)/varchar(n) 数值型字段属性number([p],[s]int 日期型字段属性DATEtimestamp 如何查看字段属性增加数据INSERT快捷插入 删除数据DELETE修改数据UPDATE DML数据操纵语言 定义 是针对数据做处理&#xf…

JavaScript中的map()方法详解

1. map() 的返回值是一个新的数组&#xff0c;新数组中的元素为 “原数组调用函数处理过后的值” 2. 简单使用&#xff1a;遍历整个数组&#xff0c;将大于4的元素乘以2 const array [2, 3, 4, 4, 5, 6]console.log("array",array) const map array.map(x > {…

【THM】Linux Privilege Escalation(权限提升)-初级渗透测试

介绍 权限升级是一个旅程。没有灵丹妙药,很大程度上取决于目标系统的具体配置。内核版本、安装的应用程序、支持的编程语言、其他用户的密码是影响您通往 root shell 之路的几个关键要素。 该房间旨在涵盖主要的权限升级向量,并让您更好地了解该过程。无论您是参加 CTF、参加…

什么?双核A7双网口核心板只要49?

“性价比之王” 触觉智能IDO-SOM2D0X系列基于SigmaStar SSD201/202 SoC的超小SOM模组&#xff0c;双核A7 1.2GHz主频&#xff0c;1080P视频解码&#xff0c;支持MIPI/RGB显示接口&#xff0c;支持双以太网&#xff0c;支持SDIO/USB/SPI/I2C/UART/DMIC/I2S&#xff0c;集成音频C…

跨平台手机号:微信手机号授权登录、微信授权登录双登录实现账户生态融合,新时代的身份密钥

小程序厂商的多样性体现在开发工具、服务领域、商业模式等多方面&#xff0c;各厂商凭借独特的技术优势、行业解决方案和市场策略&#xff0c;满足不同企业和用户需求。与此同时&#xff0c;随着移动互联网发展&#xff0c;手机号统一登录成为提升用户体验、简化登录流程的关键…

CTFshow-PWN-栈溢出(pwn36)

存在后门函数&#xff0c;如何利用&#xff1f; 好好好&#xff0c;终于到了这种有后门函数的了 checksec 检查一下&#xff1a; 32 位程序&#xff0c;RELRO 保护部分开启 RWX: Has RWX segments 存在可读可写可执行的段 使用 ida32 看 main 函数 跟进 ctfshow 函数…

T2I-Adapter:学习适配器为文本到图像扩散模型挖掘更多可控能力

文章目录 一、研究动机二、T2I-Adapter的特点三、模型方法&#xff08;一&#xff09;关于stable diffusion&#xff08;二&#xff09;适配器设计1、结构控制2、空间调色板3、多适配器控制 &#xff08;三&#xff09;模型优化训练期间的非均匀时间步采样 一、研究动机 T2I模…