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