软件测试思想者 - 快速发现软件缺陷(Bug)八法









软件测试思想者 - 快速发现软件缺陷(Bug)八法



软件测试新人在工作中会碰到看起来比较奇怪的要求,比如,在某个项目开始的第一天,领导可能会要求第一天必须至少提交5个软件缺陷(Bug),软件测试还没开始,就指定第一天提交多少个软件缺陷不是强人所难吗?如何在指定时间内发现指定数量的软件缺陷?如何成为Bug杀手呢?且听我一一道来。







































1、充分利用80/20法则

【80/20法则】
80/20法则,又称为,马特莱法则、二八定律、帕累托定律、最省力法则、不平衡原则、犹太法则。
80/20法则揭示了80%的成果源自仅仅20%的行动,体现了投入与产出不平衡的“普遍真理”。

【80/20法则引申】
最初来源于社会经济现象研究结果的80/20法则,也同样适用于软件测试领域。
一般情况下,80/20法则适用于以下软件测试情景:
  • 80%的软件缺陷存在于20%的软件代码中(软件缺陷的“群集”现象)
  • 80%的软件缺陷归因于20%的软件缺陷原因(软件缺陷的“群集”现象)
  • 在分析、设计、实现阶段的复审和测试工作只能够发现和避免80%的软件缺陷,而系统测试也只能找出其余Bug中的80%

程序中存在错误的概率与该程序中已发现的错误数成比例。关注测试中的群集现象,关注发现缺陷较多的代码,掌握这一法则有助于我们在测试过程中抓住重点,有针对性,做到事半功倍。

【80/20法则的应用】
80/20法则的应用,至少应分为两个阶段,阶段的划分取决于目标时间的长短,目标时间相对长的,可以划分为两个以上的阶段,单个阶段的时间可以适当的长一些。否则,阶段应少一些,单个阶段的时间短一些。
第一个阶段是快速的进行一轮软件测试,获得软件缺陷在各模块的分布情况。
第二个阶段,根据上一阶段软件缺陷在各模块的分布情况,重点测试软件缺陷分布较多的模块。
如果有第三甚至更多的阶段,把上一阶段作为第一阶段,根据上一阶段软件缺陷在各模块的分布情况,重点测试软件缺陷分布较多的模块,以此类推。
这样的话,我们就可以花费较少的时间,发现较多的软件缺陷。

2、跟开发人员有效沟通

跟开发人员有效沟通,既可以沟通个人之间的友情,还可以获得开发相关的知识,更可以得到有益于软件测试的信息。
通过跟开发人员沟通,我们可以知道开发人员对那些模块信心不足,我们就可以重点测试相应的那些模块,做到花费较少的时间,找出较多的软件缺陷。

3、从不同角度进行测试

从不同角度进行测试,我们可以在短时间内发现较多的软件缺陷。
从管理层的角度考虑,我们要了解被测产品在公司众多产品中的优先级,做到软件测试的有效性,即确保软件缺陷的有效性。
从开发人员的角度考虑,获知开发人员认为软件产品中那些模块开发难度大,缺乏信心,从而快速定位我们的测试重点。
从最终客户的角度考虑,尽可能从他们的既有的使用习惯和可能的问题出发,也就是用户体验出发,找出尽可能多的软件缺陷。

4、选择简易有效的测试工具

选择简易有效的测试工具,可以让我们的软件测试工作事半功倍。
比如,网页的链接测试,如果选择一些简单易用的链接测试工具,既能提高覆盖率,又能发现较多的软件缺陷。

5、进行专项测试

进行专项测试,可以有效保障软件产品在一些特定方面的质量。
比如,安装测试,卸载测试,双(多)字节测试,查询测试,上传附件测试,快捷键测试,UI整体风格测试(包括按钮、成功信息、警告信息)等等。

6、参照单元测试结果

参照单元测试结果,可以帮我们定位软件测试重点,做到花费较少的时间,找出较多的软件缺陷。

7、参照其他测试人员报告的软件缺陷

每个人的思维都是有局限性的,我们可以参照其他测试人员报告的软件缺陷,获取新的测试思路,从而发现以前未曾发现的软件缺陷。

8、错误推测法

错误推测法,对于有一定软件测试经验的人来说,是一个短时间内发现较多软件缺陷见效较快的方法,体现了经验的价值。

比如,针对搜索功能,在文本框输入如下值:
  • 单个空格
  • 多个空格
  • 字符串前面有空格
  • 字符串后面有空格
  • 转义符“\t”,“\n”
  • Null
  • 特殊字符: !?\/%$#@
  • 通配符: *
  • 括号
  • 空串
  • 很长的字符串,4G



如何联系“软件测试思想者”?

  • 微信公众号:SoftwareTestThinker
  • 微信号:weixin_samwang_2015
  • QQ号码:81976881
  • 邮箱:[email protected]



猜你喜欢

转载自blog.csdn.net/shouchun_w163/article/details/78983406