Thursday, November 30, 2006

Tricks of Software testing

参加了一个小培训,关于测试的。基本的理论就不多说了,其中有几个比较好的观点,列举如下:

(1)群集现象: 发现问题越多的地方,隐含的缺陷也越多,需要重点处理。

佩瑞多定理:(80-20定律)许多软件现象都遵循佩瑞多分布规律:80%的贡献来自于20%的贡献者。例如20%的模块含有80%的错误。

(2)用例: 一般考虑3个方面的, 合理的,不合理的和边界的。

(3)黑盒和白盒:黑盒测试无法知道从来没有走过的分支。

(4)圈复杂度: 建议圈复杂度限制在10以内。

(5)黑盒测试的典型方法: 正交矩阵法是减少测试用例的有效方法。等价类划分的缺点是没有考虑边界。

(6)GreyBox(灰盒):用例设计依据程序结构(白盒),用例运行按功能测试(黑盒),一种十分有效的软件测试方法。

(7)Smoke Test: 在测试中发现问题,找到了一个Bug,然后开发人员会来修复这个Bug。这时想知道这次修复是否真的解决了程序的Bug,或者是否会对其它模块造成影响,就需要针对此问题进行专门测试,这个过程就被称为Smoke Test。

(8)测试完成的标准: 要求人们用图标出某个测试阶段中单位时间查处错误的数量。通过对此图的分析,可以确定应继续测试或是结束这一测试阶段而开始下一测试分阶段。

(9) 历史数据:无论是测试还是规模度量都很重要。经常记得记下历史数据,是一个很好的习惯。要记下来,不要凭感觉。(这是我说的)

(10)测试的基本过程:Plans -〉Outlines -〉Test Case generation ->Execution -> software testing Reports ->Management

(11)如何有效的报告问题是很有学问的。

No comments: