面试问题(十三)

41、发现的缺陷越多,说明软件缺陷越多吗?

这是一个比较常见的现象。测试工程师在没有找到缺陷前会绞尽脑汁的思考,但是找到个后,会接二连三的发现很多缺陷,颇有个人成就感。其中的原因主要如下:

  • 代码复用、拷贝代码导致程序员容易犯相同的错误。类的继承导致所有的子类会包含基类的错误,反复拷贝同代码意味可也复制了缺陷

  • 程序员比较劳累是可以导致某些连续编写的功能缺陷较多。程序员加班是·种司空见愦的现象,因此体力不只时容易编写一些缺陷较多的程序。而这些连续潜伏缺陷恰恰时测试工程师大显身手的地方。

  • 缺陷一个连着一个不是个客观规律,只是一个常见的现象。如果软件编写的比较好,这种现象就不常见了。测试人员只要严肃认真的测试程序就可以了。

42、所有的软件缺陷都能修复吗?所有的软件缺陷都要修复吗?

从技术上讲,所有的软件缺陷都是能够修复的,但是没有必要修复所有的软件缺陷。测试人员要做的是能够正确判断什么时候不能追求软件的完美。对于整个项目团队,要做的是对每一个软件缺陷进行取舍,根据风险决定那些缺陷要修复。发生这种现象的主要原因如下

  • 没有足够的时间资源。在任何一个项目中,通常情况下开发人员和测试人员都是不够用的,而且在项目中没有预算足够的回归测试时间,再加上修改缺陷可能引入新的缺陷,因此在交付期限的强大压力下,必须放弃某些缺陷的修改。

  • 有些缺陷只是特殊情况下出现,这种缺陷处于商业利益考虑,可以在以后升级中进行修复。
    不是缺陷的缺陷。我们经常会碰到某些功能方面的问题被当成缺陷来处理,这类问题可以以后有时间时考虑再处理。

  • 最后要说的是,缺陷是否修改要由软件测试人员、项目经理、程序员共同讨论来决定是否修复,不同角色的人员从不同的角度来思考,以做出正确的决定

你可能感兴趣的:(面试问题(十三))