在测试过程中,我们会遇到各种各样的需求,各种各样的问题,甚至是目前不了解的内容,这时就会面临一些问题:如何分析这个问题?从什么哪些方面着手?如何找出问题?等等等等
面对这样的窘境,如何破呢?
先来亮一下5W2H都是什么
5W:WHAT、WHY、WHEN、WHERE、WHO
2H:HOW、HOW MUCH
如何运用呢?我们拿实例来分析一下吧
偏逻辑类需求:服务器版本大于本地版本时,软件升级
分析:
What的标签:用途、性质特征、属性、状态
延伸:
这个功能的用途是什么?
这个功能的特征是什么?
对用户来讲,这个功能的意义是什么?
过程中会产生什么文件?
会有哪些相关数据?
Why的标签:目的
延伸:
功能的目的是什么?
为什么这样做?有什么好处?不这样做会有什么风险
When的标签:时机,时间
延伸:
功能在什么情况下会触发?
这个功能什么时候会触发?什么时候结束?
什么时间会触发?固定时间还是循环时间?这个时间对用户是否会有影响?
Where的标签:位置、趋势
延伸:
文件存放的位置在哪里?
Who的标签:谁
延伸:
会被哪个程序调用?
会调用哪些程序?
由哪些程序来完成?
How的标签:如何、怎么、怎样
延伸:
如何实现程序间的调用?
相关数据如何存在的?
过程如何展现的?是否会给用户带来不好的体验?
如何知道服务器上软件的情况?
服务器如何通知客户端的?
How much的标签:多少
延伸:
过程需要多长时间?
会占用多少资源?
稳定性如何?是否会有影响用户的情况?
通过了上面一系列的分析后,将联想到的问题进行排序整理
这个功能的用途是什么?
对用户来讲,这个功能的意义是什么?
功能的目的是什么?
功能在什么情况下会触发?
这个功能什么时候会触发?什么时候结束?
什么时间会触发?固定时间还是循环时间?这个时间对用户是否会有影响?
如何知道服务器上软件的情况?
服务器如何通知客户端的?
为什么这样做?有什么好处?不这样做会有什么风险
过程中会产生什么文件?
文件存放的位置在哪里?
会有哪些相关数据?
相关数据如何存在的?
由哪些程序来完成?
会被哪个程序调用?
会调用哪些程序?
如何实现程序间的调用?
过程如何展现的?是否会给用户带来不好的体验?
过程需要多长时间?
会占用多少资源?
稳定性如何?是否会有影响用户的情况?
相对于一句话的骨感来讲,是否就变成有血有肉的真实了呢?
当然,这种分析是针对经验比较少或面临新领域的人员的,对于经验丰富的测试工程师来讲,这样的需要信手拈来,毫不费力,根本不需要这么长篇大论的,那么经验丰富的你们,有好的方法能否也跟我来分享一下呢~