展望2011

《软件测试》书中关于分裂和再现软件缺陷的建议

上一篇 / 下一篇  2007-05-16 11:31:00 / 个人分类:提交BUG

51Testing软件测试网 k"nte@\

软件测试》第18章之分离和再现软件缺陷
7R h(V5A8K3Y8Hc0 
w/HH3p(\*V0   有些软件缺陷需要很多步骤和条件之后才能重现,甚至无法重现。作者在本节中提出了下面这些方法,更多的是给出了一些可能的原因,我在这里记录下来,方便以后遇到这种问题了该怎么应对。51Testing软件测试网}0{%ABk Ixf

51Testing软件测试网;c$D9J6u~yL4U+@

1。不要想当然地接受任何假设。记下所做的每一件事--每一个步骤、每一次停顿、每一件工作。无意间丢掉一个步骤或者增加一个多余步骤和很容易出现的。确保导致软件缺陷所需的全部细节已经记录下来。51Testing软件测试网NV;P6BWA@
51Testing软件测试网J%FrcAoA(jDd2ug

51Testing软件测试网AL7VcGHj1a _(S0h2l U

2。查找时间依赖和竞争条件的问题。软件缺陷仅在特定时刻出现吗?也许它取决于输入数据的速度,或者使用慢速软盘还是快速硬盘保存数据。看到软件缺陷时网络忙吗?在较慢和较快的硬件上尝试测试案例。要考虑时序。51Testing软件测试网1\;WZ4C)Y

I!PXz/|7n0

%n%yIU"e(U03。与压迫和负荷相关的边界条件软件缺陷、内存泄漏和数据溢出等白盒子问题也许慢慢自己显露出来。执行某个测试可能导致数据覆盖,但是只有在试图使用该数据时才会发现--也许在后面的测试中。重新启动计算机后消失,而仅在执行其他测试之后出现的软件缺陷属于这一类。如果发生这种现象,就要查看前面执行的测试,也许要利用一些动态白盒测试技术,看软件缺陷是否在无意间发生了。
a S7i&il}8n4J051Testing软件测试网?8g"K6H6o r

@Q1w7VC04。状态缺陷仅在特定软件状态中显露出来。状态缺陷的例子时软件缺陷仅在软件第一次运行或者在此之后出现。软件缺陷也许仅在保存数据之后,或者按任何键之前发生。状态缺陷看起来很像以来时间盒竞争条件的问题,但是你会发现时间并不重要--重要的是事件发生的次序,而不是发生的时间。
j(nJA(H/s ]I |(pv051Testing软件测试网2tz }-s ?$g2X[F

w:z,~9p$m?05。考虑资源依赖性和内存、网络、硬件共享的相互作用。软件缺陷是否仅在运行其他软件并与其他硬件通信的“繁忙”系统上出现?软件缺陷可能最终证实是竞争条件、内存泄漏或者状态缺陷,问题被软件的依赖性或者对资源的相互作用进一步恶化,但是审视这些影响有利于分离软件缺陷。51Testing软件测试网(p-iA L0{'Qm
51Testing软件测试网y6O Z.M L Q

-tb`RHc06。不要忽视硬件。与软件不同,硬件可能降级,不按预定方式工作。板卡松动、内存条损坏或者CPU过热都可能导致像是软件缺陷的失败,但是实际上不是。设法在不同硬件上再现软件缺陷。这在执行配置或者兼容性测试时特别重要。应该知道软件缺陷是在一个系统上还是在多个系统上显现。

| }R y"G051Testing软件测试网*[)n"f J9^^/n-vW

 

:o"oV b'H&E]/l0

TAG: 软件测试 软件缺陷 提交BUG

 

评分:0

我来说两句

Open Toolbar