- 软件测试进阶之路:测试路上你问我答
- 何飞
- 1164字
- 2020-08-28 01:20:57
问答(13)怎样才能迅速了解一个产品的业务流程?
背景
老师,我想问一下,如何迅速了解产品的业务流程呢?有的根本没有文档可看,有的话也是复杂凌乱的,不知道怎么看,感觉一头雾水,无从下手。
这是很多测试人员进入一家新公司或者接手一个新产品时最常面临的问题,一是因为文档的缺失或更新的不同步;二是因为从管理者的角度来看,时间是稀缺资源,肯定希望你尽快了解产品、熟悉业务,尽早投入工作。
以该同学想迅速了解的产品—企业内部使用的培训管理系统为例,该系统的功能大致包括报名、学习、考试等。
你问
怎样才能迅速了解一个产品的业务流程?
我答
根据我的个人经验,先来说说相对普适性的方法。
(1)找该产品对应的测试负责人、开发人员或产品经理,向他们了解一下产品的应用场景、用户角色和业务主线。比如,使用该产品的用户群体是谁?是否会分为系统管理员、老师和学员?该系统的主线流程又有哪些?
(2)按不同的角色去使用这个系统。在使用过程中,如果遇到问题,则可以查看相应的文档(不过,在绝大多数公司里,文档都是缺失的),或者询问相应的测试负责人、开发人员或产品经理。问问题的时候要注意,围绕问题多发散一下,特别是在跟开发人员沟通的时候,多问问与代码逻辑相关的内容,也就是功能背后的东西,这对你理解深层次的业务逻辑会有较大的帮助。
(3)针对不同的角色,在对这个系统的业务场景有了一定的了解之后,我们就可以开始梳理和学习业务逻辑与功能细节了。
(4)梳理主线,把各个角色和主功能串联起来。比如:
“课件”主线应该就是老师设计课件→学生报名→学生选课→学生学习。
“考试”主线应该就是老师出题→学生考试→老师阅卷→老师评分→学生查成绩。
(5)跟剥洋葱一样,从外层开始把每个环节拆分成单独的模块,再把模块一层一层地从外到内剥开。比如:
“课件”主线能够分为设计课件、报名、选课和学习等模块,而“设计课件”模块还能细分成课件编辑、课件上传、课件管理等子模块。
“考试”主线能够分为出题、考试、阅卷、评分和查分等模块,而“考试”模块还能细分成选择考试科目、选择考试日期、答题等子模块,“答题”模块还能再继续细分成更小的模块,这主要取决于业务逻辑的复杂程度。
当你按照这个步骤拆解完毕,形成一套思维导图的时候,在业务功能层面,你已经了解了至少70%,可能欠缺的就是一些没有文档说明的细节问题和异常场景。
如果你想更快速地深入了解产品,那再介绍一种我从其他人那里学来的方法。
(1)从开发人员那里获取到业务日志和SQL日志所在服务器的地址、用户名和密码,以及日志路径。
(2)安装Xshell之类的工具,连接服务器,打开实时输出的日志文件。
(3)在前端页面进行相应的操作,在后台同步查看输出的日志。通过日志里显示的接口参数和执行的SQL结果,你能清楚地看到前端的某个业务功能,在数据库中会关联到哪几张表,以及表之间的逻辑关系。