根据软件错误的症状推断出根源并不是件容易的事,因为:
(1)症状和根源可能相隔很远。也就是说,症状可能在某一个程序单元中出现,而根源实际上在很远的另一个地方。高度耦合的程序结构加剧了这种情况,这也是提倡高内聚低耦合的原因之一吧。
(2)症状可能在另一个错误被纠正后暂时性消失,这种症状比较容易迷惑测试人员。
(3)症状可能并不是由某个程序错误直接引发的,如误差累积,这也体现了白盒测试的重要性。
(4)症状可能是由不太容易跟踪的人工错误引起的,这种错误不具有代表性,出现的频率比较少,当然不能就说它不重要。
(5)症状可能时隐时现,如内存泄漏。
(6)很难重新产生完全一样的输入条件,难以恢复“错误的现场”。
(7)症状可能分布在许多不同的任务中,难以跟踪。
发表于 @ 2004年09月08日 08:55:00|评论(loading...)|编辑