从别人文章学习到得一端评价测试用例的感悟

2009年6月5日 | 分类: 程序设计 | 标签: ,

如果这个 bug 是人为失误,比如在 C 语言中把 == 写成 = 。那么重新出现在原来位置的可能性很小。(比之更复杂的情况也是。) 通常,一个好的编译器(对于静态语言)或一个好的代码静态分析器(对于动态语言) 比自动化测试更有效。

如果 bug 存在于软件复杂的上下文,由于整体设计失误,或是繁杂的模块依赖关系造成。对于单个模块的测试也就无效,而问题被彻底弄清然后 fix ,在软件的生命期内也就几乎不会再出现了。

归根到底,我们需要的是减低模块耦合度、提高内聚性。比如写更小的程序,用进程而不是线程解决问题,制定简洁稳定的 IPC 通讯协议,而不是定一堆的 interface ,等等来提高软件的可维护性

在许多时候:企图写出覆盖所有分支的测试案例是在浪费人的时间,而
频繁、自动化运行测试套件,则是在浪费机器的时间,为地球多制造一些温室气体罢了。

anyShare分享到:
          
目前还没有任何评论.