这周发生了一件有意思的事情。一个问题推翻了一个需求,同样的这个问题在demo时暴露了一个缺陷。
这个问题就是“客户在什么情况下会使用这项功能”。
它是如何推翻需求的呢?原始的方案是增加一个新权限,用于在司机离开仓库的时候仓库人员录入一个离场时地磅称的重量,系统做一些校验,看看有没有超限,并提示用户。当我们的BA在补原型的时候,她突然意识到同一个页面有另外一个按钮,“确认离场”,它的功能是让仓库人员在司机离开仓库的时候录入离场时间。咦?这不是和称重发生在同一个时间点吗?那为什么不放在原有功能一起,录入离场时间的同时录入重量呢?当我们问了这样一个问题“客户在什么情况下会使用这项功能”。之后,完美地推翻了原来的solution,提出更简洁易用的方案。
这让我想起早些时候在Demo环节,开发人员将入场重量和出场重量放在一个页面录入,而我只输入了其中一个,结果华丽丽地sys error。开发人员说没有考虑到其中一个值为空。我说“客户在入场的时候不会确切知道装货后的出场重量,所以肯定是录入入场重量的时候出场重量留空啊!”当我们问了这样一个问题“客户在什么情况下会使用这项功能”。之后,就很容易地暴露了一个bug。
《全程软件测试》第165页“我们要测试软件产品的某个功能,就有一连串问题要问自己或产品经理:”其中就有“客户在什么情况下会使用这项功能”。
看上去简单,实际威力惊人,关键是要记得,要用!