引用:
原帖由 jackjackjack 于 2006-1-19 07:59 发表
对于多个函数的问题,其实就是做集成测试吧;至于说设计到一些消息什么,这些和操作系统相关的东西,这涉及到设计阶段,体系构架和设计是否合理,单元测试这种技术方法本身是有一定针对性的;
其实,作为测试来讲,不论是什么测试,最终的目的还是为了软件的稳定性,所以,作为一个测试工具,不是说我只作单元测试,就不作整合测试,这样来说,不是“针对性”,而是“片面性”了。
其实我个人认为测试最原始,最有效的办法就是,将SPEC中的需求,用TestCase的形式表现出来,让程序自动的检测编码的正确性。
表面看,似乎所有的测试工具都是这样,其实不然。
正如我上面所说,单元测试工具只能针对函数进行测试,而SPEC中的需求并不会具体到函数级,所以基于SPEC的testcase 很难用单元测试进行编写。
再从使用的角度讲,函数测试没有问题,并不代表你的功能正确
为什么这样说呢?菜单一个动作,背后可能会调用到若干个函数,而且这些函数的参数,顺序都是有要求的,那么这个时候单元测试应该如何进行呢?
我们再看单元测试的对象获取方法
通常在编写TestCase 的时候我们需要定义一个被测试的对象,然后对这个对象进行测试。
那么显然,这种方法也是很不好的。为什么这样说呢,在很多时候,我们使用的是对象的组合,那么就是说在这个对象里面很有可能会需要访问到父类的东西。这个时候单元测试又是没有办法完成测试。
再看消息的传递
我们知道,基于windows 的编程很多时候我们离不开消息,经常我们会Post 或是Send 一个message 给另外一个window。那么这里面就会有两个问题
1. 另外windows是否也被创建出来
2.如果创建了,Post message 是不会立即返回的,如何验证正确性
.....
其实在编写单元测试的时候,还碰到很多其他的问题,特别是对于那些编写windows程序的人,这些问题应该怎么解决呢?
期待大家的讨论