在最近测试的项目中,系统给业务端提供DLL文件,业务端通过DLL文件中的C++接口实现系统功能,这就需要对DLL中的C++接口进行详细功能测试。 本文主要介绍项目测试中使用的DLL接口测试方法及基于AutoIT实现的DLL接口自动化测试方法。
通过VS2005可以直接加载DLL文件中的C++接口,模拟业务端调用,传递一些参数值从而验证接口返回码等功能是否正确接口。这部分代码,类似与白盒测试中编写的驱动模块,需要有一定的C++编程基础。 项目初期就是请开发人员按照这种方法编写demo进行测试的,功能相对比较简单,可以正常完成接口的功能测试,但同时存在测试执行相对复杂、效率不高的问题(下图)。
中间也调研了Loadrunner加载DLL文件C++接口的方法,如下:
AutoIT调用DLL接口方法基本与Loadrunner相似:
使用AutoIT,通过操作Excel用例,读取表格中的参数输入值和期望结果,通过与调用接口得到返回码进行比较,可以完成DLL接口自动化测试。
config.ini配置文件,主要配置了版本号、接口名称、参数个数及类型等信息,示例文件如下:
[Version] Version=Build#1032 [DFSInitDll] DFSInitDll =5 defName=const char* nodeIP=const char* nodePort=int nodeName=const char* nodePwd=const char*
测试用例表格是根据平台测试组通用的测试用例模版修改而来,主要是增加了详细的输入参数列,工具执行时根据读取这些数据作为接口的输入参数。
AuotIT脚本简单来说,可以说是一个个函数堆起来的。本脚本里使用了一些自定义函数,如下:
代码编写整体逻辑与设计一致,即首先从配置文件获取相关配置,读取Excel获取输入数据,调用DLL接口,保存结果至Excel中。
使用AutoIT编写接口自动化脚本过程中发现仍然存在一些局限及不足之处:
使用了三种方法测试DLL接口,对比总结如下:
原文地址:http://www.cnblogs.com/shengs/p/3790058.html