03 2010 档案
摘要:接口定义实施者必须提供的一组成员的签名。接口不能提供成员的实现细节。例如,ICollection 接口定义与使用集合相关的成员。实现该接口的每个类都必须提供这些成员的实现细节。类可以实现多个接口。类定义每个成员的成员签名和实现细节。Abstract(在 Visual Basic 中为 MustInherit)类的行为在某方面与接口或普通类相同,即可以定义成员,可以提供实现细节,但并不要求一定这样做...
阅读全文
摘要:如前一篇所讲的,我们可以通过调用_CrtDumpMemoryLeaks()这个方法来检查程序是否存在内存泄漏,之后我又试了一下这个代码: 它也是会输出有内存泄漏的信息,可以得到,每调用一次new,系统内部就会记录下这个操作,天知道它不是是存放在一个list之类的结构里面呢!调用一次delete就是从这个结构里删除一条记录,而_CrtDumpMemoryLeaks()方法就是把当前记录里的状态输出。...
阅读全文
摘要:我们的代码里会有很多的内存泄漏,如何快速的定位和修复这些内存的泄漏是一项非常重要的技能,在这里分享一下如何从开发的代码里找到这种问题。 常见的C++程序分为两大类:MFC和Win32。先看第一种MFC程序如何找内存泄漏的问题。 MFC程序比较容易一些,因为它已经提供了这个功能,我们新建一个MFC的工程,我们在看到每一个CPP文件里面都有这样一句: DEBUG_NEW 这个宏定义在afx.h文件...
阅读全文
摘要:状态验证 使用观察点来获取每种状态,使用断言将它于预期的结果进行比较,就可以验证SUT的状态。 行为验证 使用一些手段来获取SUT和它所依赖的组件之间的行为调用,就可以查检SUT的行为过程。 自定义断言 通过这种自定义的断言可以减少很多代码的Copy/Past。 参数化测试用例和数据驱动,也可以减少代码量。 在验证SUT时应该避免条件测试逻辑 减少使用if,如下: 为什么不写成这样呢...
阅读全文
摘要:如果有了新锤子,什么东西看起来都像是钉子! 很多人喜欢在Setup做所有的事情,这会引起测试的缓慢和混乱,只要在Setup里建立大多数用例能接受的部分就可以了。 发现很多测试缓慢的原因就是Setup使用不原理引起的,让它做它该做的事情。
阅读全文
摘要:测试应该有助于提高测试质量 目标:作为规范的测试 如果是测试优先开发,测试就提供了一种规范来要求SUT应该做什么。 目标:缺陷排斥 ...
阅读全文
摘要:Windows API Hook 自动动手熟悉一下:
阅读全文
摘要:1: #include <windows.h> 2: #include <string> 3: 4: typedef LONG NTSTATUS; 5: 6: #ifndef STATUS_SUCCESS 7: #define STATUS_SUCCESS ((NTSTATUS)0x00000000L) 8: #endif 9: 10: ...
阅读全文
摘要:1: using System; 2: using System.Collections.Generic; 3: using System.Linq; 4: using System.Text; 5: 6: namespace ConsoleApplication1 7: { 8: class Program 9: { 10: 11: class CAd...
阅读全文
摘要:注:本文只做讨论,以 抛砖引玉为主,其中不对的地方希望大家指正。 目前流行的自动化测试 工具很多,如 WR 、 QTP 、 ROBOT 、 ROBOTJ 、 TC 、 RFT 可能一下子都数不过来,功能很强大,有没有想过做一个属于自己的测试工具?应该还有很有意思的。 开门见山,先从这类测试工具的 基本原理说起,向大家展示自动化测试工具是 不是像大家想的那样神秘,它到底是...
阅读全文
浙公网安备 33010602011771号