您的位置:首页 > 其它

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

2018-01-05 17:38 573 查看


[align=justify]
[/align]
[align=justify]
[/align]
[align=justify]
[/align]
[align=justify]
[/align]
[align=justify]
[/align]
[align=justify]
[/align]
[align=justify]
[/align]

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

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



[align=justify]
[/align]
[align=justify]
[/align]
[align=justify]
[/align]
[align=justify]
[/align]
[align=justify]
[/align]
[align=justify]
[/align]
[align=justify]
[/align]
[align=justify]
[/align]
[align=justify]
[/align]
[align=justify]
[/align]
[align=justify]
[/align]
[align=justify]
[/align]
[align=justify]
[/align]
[align=justify]
[/align]
[align=justify]
[/align]
[align=justify]
[/align]
[align=justify]
[/align]
[align=justify]
[/align]
[align=justify]
[/align]
[align=justify]
[/align]
[align=justify]
[/align]
[align=justify]
[/align]
[align=justify]
[/align]
[align=justify]
[/align]
[align=justify]
[/align]
[align=justify]
[/align]
[align=justify]
[/align]
[align=justify]
[/align]
[align=justify]
[/align]
[align=justify]
[/align]
[align=justify]
[/align]
[align=justify]
[/align]
[align=justify]
[/align]
[align=justify]
[/align]
[align=justify]
[/align]

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、从不同角度进行测试

从不同角度进行测试,我们可以在短时间内发现较多的软件缺陷。

从管理层的角度考虑,我们要了解被测产品在公司众多产品中的优先级,做到软件测试的有效性,即确保软件缺陷的有效性。

从开发人员的角度考虑,获知开发人员认为软件产品中那些模块开发难度大,缺乏信心,从而快速定位我们的测试重点。

从最终客户的角度考虑,尽可能从他们的既有的使用习惯和可能的问题出发,也就是用户体
4000
验出发,找出尽可能多的软件缺陷。

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

选择简易有效的测试工具,可以让我们的软件测试工作事半功倍。

比如,网页的链接测试,如果选择一些简单易用的链接测试工具,既能提高覆盖率,又能发现较多的软件缺陷。

5、进行专项测试

进行专项测试,可以有效保障软件产品在一些特定方面的质量。

比如,安装测试,卸载测试,双(多)字节测试,查询测试,上传附件测试,快捷键测试,UI整体风格测试(包括按钮、成功信息、警告信息)等等。

6、参照单元测试结果

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

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

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

8、错误推测法

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

比如,针对搜索功能,在文本框输入如下值:

单个空格
多个空格
字符串前面有空格
字符串后面有空格
转义符“\t”,“\n”
Null
特殊字符: !?\/%$#@
通配符: *
括号
空串
很长的字符串,4G

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

微信公众号:SoftwareTestThinker
微信号:weixin_samwang_2015
QQ号码:81976881
邮箱:shouchun_w@163.com
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息