【Software Test】测试工程引用被测试工程需要注意的一些问题

问题的提出:

早上发现我的测试工程在运行时调用一个函数A时会莫名奇妙的访问越界,导致失败,查看call stack发现,函数A调用的实现是在函数A定义的头文件里的下一个函数B,因构建测试机昨晚的自动化并没有出现这种问题,初步断定是编译或者链接的问题,而不是代码的问题。

问题的解决:

在咨询开发后,发现由于开发加入了新的接口,导致测试工程编译所使用的头文件发生了更改,而对应的被测试程序的DLL和EXE依然是旧版本的头文件编译出来的,这样就会导致测试工程编译出来的EXE里保存虚函数的偏移发生了更改。

问题的反思:

为了方便,测试工程一直引用的是SVN trunk的头文件,而发布版本会打tags,此时开发会对trunk进行迭代开发,有可能会更新头文件,所以这时就会导致编译测试工程和被测试程序不匹配,导致函数偏移出错。

问题的规避:

在以后的测试工程中,不要直接引用SVN trunk的头文件,而是在测试工程目录下,自己拷贝需要测试的当前版本的头文件,目前只能这样规避问题,暂时没有什么更好的或者更智能的方法。

posted on 2012-11-02 11:38  Kaichd  阅读(146)  评论(0编辑  收藏  举报

导航