第一、充分了解需求来源及背景
不要仅仅根据需求文档来分析需求,要站在客户或用户的角度去思考。
了解产品的功能或者需求来源是什么,要解决什么问题?如果需求不清楚,或者是一句话需求,一定要和产品提前进行沟通,对需求进行拆解。了解需求的出处、背景,要解决什么样的问题,达到什么效果;
比如说我们这是一个to b产品,那么客户的需求是很重要的。要清楚客户提出这个问题的背景,要解决一个什么样的问题。之前的功能是否无法满足客户的问题,不能满足的原因是什么?客户的使用场景是什么?客户的业务量是什么样的?一般用这个功能的时间点是相对集中还是分散在什么时候。产品的需求能不能实现客户的需求,避免这个需求提交到客户那里才发现并没有实现客户想要的功能。总之,了解得越详细越好。
假如说这是一个to c产品,那么他的目标用户是不用,使用场景更多的是个人生活、娱乐和休闲等领域,会更强调用户体验和易用性,交互模式可能会更简单直接。充分了解这些东西有利于我们分析需求的合理易用性。
另外我们也可以根据一些收集和分析用户的反馈和体验数据,以便发现问题。
多多查看用户画,从用户的角度描述用户的需求和行为,以便更好地理解和分析需求。
第二、了解业务实现架构
业务实现架构是指产品的软件系统架构,具体可以了解产品的前端、后端、数据库、中间件等技术,这样才能真正的了解需求并发现需求中的问题,可以更好的了解产品的功能和实现方式。
了解产品的数据流和业务流程,包括数据的来源和流向、业务流程的逻辑和步骤,这样也有利于我们更好的分析需求和设计测试用例。
第三、结合测试种类进行需求分析
比如说结合功能测试、系统测试、接口测试、性能测试、安全测试、可靠性测试、兼容性测试、UI测试、文档测试、用户体验性测试这些角度去思考需求。无论这些测试种类是否都符合当前的被测系统,都可以从这些角度去分析,可以保证对被测系统的需求做到全面的分析覆盖,不遗漏。往往可以从不同的测试角度可以发现不同的需求问题。
第四、和竞品对标进行需求分析
很多产品在市面上都是有类似产品的,我们可以通过对竞品的分析,来发现我们的优缺点,针对缺点提出我们的需求问题,从而进一步完善和丰富需求。
5W1H来不断的对需求进行循环分析
who 谁要用这个功能
when 何时用这个功能
where 在哪里使用这个功能
what 这个功能是用来做什么
why 为什么要用到这个功能
how 如何实现这个功能