从场景走查说起
前段时间上了直播间项目的大版本迭代,进入测试之后一度比较混乱,反思了几点问题,其中有一点比较重要具体聊一聊。当时为了赶4月底的重要活动,计划iOS版本在4月15日提审,但实际延迟到21日左右。
4月8日开发同学丢出第一个包,走查后觉得没有大问题,信心满满,还想着这次可以提前完成任务。可谁知4月11日测试一刷,当时就懵X了,刷出一堆BUG。
后来反思,当时自认为走查了核心功能点,其实只是主流场景的主流分支(图中红色部分)。
当功能点众多,且有时间上的关联而造成多级分支时,要意识到场景数量是成倍增加的。例如上面的例子中,在“全屏”这个动作前,还有播放或暂停。考虑直播和录播分别的情况,实际上有4个场景。而我只查看了一个场景。
最近在阳志平老师的课程上,他提到了“时空”思维。他指出,相对于时间概念,空间概念对于人类更容易感知。婴儿生下来首先会学会空间相关的词汇,先会习得前后的概念,再习得上下的概念。再长大一点,他的语言里才会有时间的词汇。人类是用空间词汇来表达时间概念的。例如以前,以后,接下来等等。
在上面的案例里,同样的,走查一个个并列的功能,就类似于空间上的罗列,对于我们而言不容易遗漏。但当功能间有时间线的联系时我们往往会考虑不全。
功能(流程)设计的时间考虑
除了复杂功能的走查,功能设计也有类似的问题。功能设计若涉及流程,往往更复杂一些。而流程设计里有一个更微妙的点很容易被忽略--视点的移动。
这也是阳老师课程给我的启示。他指出,同样是“前”,为什么从前、以前表示过去?前景、前途表示未来呢?前者是时间动人(视点)不动,而后者是人(视点)动时间不动。
直播间还做过审核的功能。流程图定义了用户登录、未登录;审核通过、不通过;审核进行中、结束等等各种情况时的展示。
一般我们很容易定义不同审核状态(是否通过、是否结束)的展示,这相当于用户不动审核动的情况。但却易遗漏审核不动用户动的情况:用户未填写和正在填写时不同审核状态(审核结束、审核被删除等)的场景。而我这次就遗漏了。
问题排查的时间考虑
自认为问题排查已经驾轻就熟了,最近悲哀地发现,当问题的时间链比较长时,依然会混乱。视频直播上线时,一位美国的同事反映视频卡。
当时问了同事的网速、打开我们APP其他功能是否流畅、是否能找到当地其他人等复现这一问题。我知道这个问题涉及多个点,但都是随机的问了几个问题来排查一些点,没有考虑这几个点在时间上的顺序,导致有些问题确认过了需要再次确认。后来我把几个关键的点例如网速、手机配置、跨国访问等一一罗列,确定排查步骤,再逐一确认,这样可以顺利定位。
在工作中,如果觉得一件事比较困难,不妨思考下是否涉及时间链,时间链的每个关键节点是否掌握了,这样可以更好地处理问题。
网友评论