产品的质量依赖于过程的质量, 而过程的质量依赖于企业文化和管理!
欢迎大家来到我的小窝~!
LoadRunner下DLL的调用(转载)
上一篇 /
下一篇 2010-12-07 09:14:24 / 天气: 晴朗
/ 心情: 郁闷
/ 个人分类:测试开发
51Testing软件测试网E5v{#KrLoadRunner下DLL的调用
L8|/h
K&ML)~_0发布: 2007-4-22 19:13 | 作者: 未知 | 来源: 网络 | 查看: 149次51Testing软件测试网#xa'Y|$i6a4hL9P
Jjv*YR051Testing软件测试网"bk3E,H-^l
Us
}
LoadRunner下DLL的调用
'a3I{&d0F;Yl6q0这篇是LoadRunner测试的注意,可能跟开发没关系,不过也是用C++编程,解决大家性能测试的问题,就发过来,希望给大家带个新思想,如果有性能测试的问题,我还是能帮上忙的咯,呵呵
q}0}Dcoe)XxT0场景介绍
6}s*s9}"nQ6_(M(m`0最近在做类似于QQ的通信工具的性能测试时发现了一些问题,现总结出来与大家分享一下。希望大家在使用LoadRunner时不仅仅停在只是录制/播放角本,而全面提升角本的编程技术,解决复杂场景。51Testing软件测试网;\ h8s:hQC
本次测试中碰到的问题是这样的,在消息的传送过程中遇到了DEC加密的过程,LoadRunner录制到的全是加密的消息,比如我录制了某一个用户的登陆,发送消息,退出,但由于是加密的,只能单个用户使用,但如果我想并发多少个用户就存在很多问题,最直接的一个问题就是用户名是加密的,密码是加密的,当然你可以说让程序那里注掉加密的代码进行明码的测试,当然也是一种办法。但程序组提出了要使用更真实的方法来模拟,这时就必需使用下面介绍的方法。
]@WV
m$w+y.o
M0一开始是直接把API移植到LoadRunner中来,不过由于加密算法异常复杂,有几层循环,而角本是解释执行的,进行一次加密运算可能需要好几分钟,当然在角本里可以把角本本身运行的时间去掉,但这样做显然没有直接调用DLL来的效率高。由于程序组比较忙,所以无法提供DLL给测试,所以测试完成了DLL的编写,并在LoadRunner中调用成功,高效的完成了用户信息加密,参数关联,成功的完成了测试。51Testing软件测试网$](K{4[.z Eo0t
动态链接库的编写
qt pS({g0 在Visual C++6.0开发环境下,打开FileNewProject选项,可以选择Win32 Dynamic-Link Library建立一个空的DLL工程。
{gz2\5kb0G5d'qp0 1. Win32 Dynamic-Link Library方式创建Non-MFC DLL动态链接库
~,c;?D4xb T0{.Tc(o[&r7Ac.M/c9{'a+t0 每一个DLL必须有一个入口点,这就象我们用C编写的应用程序一样,必须有一个WINMAIN函数一样。在Non-MFC DLL中DllMain是一个缺省的入口函数,你不需要编写自己的DLL入口函数,用这个缺省的入口函数就能使动态链接库被调用时得到正确的初始化。如果应用程序的DLL需要分配额外的内存或资源时,或者说需要对每个进程或线程初始化和清除操作时,需要在相应的DLL工程的.CPP文件中对DllMain()函数按照下面的格式书写。
(MEM0ZN3vT3hd\/COE0
&f(j^~ K8s'I}#Ud|0BOOL APIENTRY DllMain(HANDLE hModule,DWORD ul_reason_for_call,LPVOID lpReserved)
kP| mX]M0{