深入理解客户需求
—— 此篇文章属于《大话软件测试》读书笔记摘抄
客户只有在见到或用到事物时才知道其实他们要的是什么东西。
如果你不了解客户的业务需求,或者不真正熟悉其行业规则的时候,你需要更严谨的方式来询问和确定需求。否则,那些落在纸上的文字和文字之间,埋藏着数也数不完的陷阱。需求阶段过于匆忙,就会出问题。
当然,客户没有问题,而是去问的人要格外小心了。他要搞清楚客户的背景、立场——客户关注自己想要的结果,但不同人关注的东西不同。
怎样掂量呢?多问自己几个问题:一、这是谁的问题?谁是客户?谁必须被取悦?二、他们的问题是什么?来自于哪些方面?基于什么?有什么特殊性?三、哪些问题是一定要解决的?哪些可以不解决?哪些用户根本不在乎?四、哪些问题是比较简单的?哪些是比较复杂的?简单的要不要合并?复杂的如何分解?
很多人去做需求,以为拿着本子记下来就好。其实很多时候,都没那么简单。觉得简单是因为很多人认为从技术上设计这类的软件,简直是小菜一碟。但是,他没想到的是,很多问题只是冰山一角,有些问题暗流汹涌,有些问题前后矛盾,有些问题不可实现。用户需求暗藏着一个个陷阱和地雷。
软件测试的目的应该是验证需求,BUG(预期结果与实际结果之间的差别,即缺陷)是这个过程中的产品而非目标。