软件测试


网站首页 | 软件测试论坛 | 软件测试培训 | 软件测试博客 | 软件测试杂志 | 软件测试沙龙 | 软件测试下载 | 软件测试顾问
业界新闻 | 软件测试人才 | 软件测试技术 | 软件测试工具 | 行业软件测试 | 软件测试管理 | 软件质量专栏 | 软件开发专栏
当前位置:首页>>软件测试技术>>性能测试>>正文
性能测试之协议分析
文章出处:51testing 作者:朴春龙 发布时间:2006-01-18

最近在论坛上的一些朋友问脚本方面的问题,比如用lr的winsock协议录制的脚本遇回放过程中遇到如下错误

Action.c(20): Error : callConnect - Can't assign requested address. Error code : 10049.
Action.c(20): Error : Timeout expired while trying to connect. Error code : 9017.

这里的10049是udp协议错误,是脚本没有和服务器同步,这说明什么问题呢。下边我用一个协议进行分析,来看看到底是什么问题,
smtp协议分析:

1.SMTP工作方式有两种情况:一是电子邮件从客户机传输到服务器;二是从某一个服务器传输到另一个服务器.
2.SMTP是个请求/响应协议,命令和响应都是基于ASCII文本,并以CR和LF符结束。响应包括一个表示返回状态的三位数字代码.
3.SMTP在TCP协议25号端口监听连接请求
4.连接和发送过程:

a.建立TCP连接
b.客户端发送HELO命令以标识发件人自己的身份,然后客户端发送MAIL命令
服务器端正希望以OK作为响应,表明准备接收
c.客户端发送RCPT命令,以标识该电子邮件的计划接收人,可以有多个RCPT行
服务器端则表示是否愿意为收件人接受邮件
d.协商结束,发送邮件,用命令DATA发送
e. 以.表示结束输入内容一起发送出去
f.结束此次发送,用QUIT命令退出。

5.另外两个命令:
VRFY---用于验证给定的用户邮箱是否存在,以及接收关于该用户的详细信息。
EXPN---用于扩充邮件列表。

6.邮件路由过程:
SMTP服务器基于‘域名服务DNS中计划收件人的域名来路由电子邮件。SMTP服务器基于DNS中的MX记录来路由电子邮件,MX记录注册了域名和相关的SMTP中继主机,属于该域的电子邮件都应向该主机发送。

若SMTP服务器mail.withub.org收到一封信要发到pcl@withub.org

a.Sendmail请求DNS给出主机withub.org的CNAME记录,如有,假若CNAME到mail.withub.org,则再次请求mail.withub.org的CNAME记录,直到没有为止.
b.假定被CNAME到mail.withub.org,然后sendmail请求@withub.org域的DNS给出mail.withub.org的MX记录,
shmail MX 5 mail.withub.org
10 shmail2.withub.org
c. Sendmail最后请求DNS给出shmail.withub.org的A记录,即IP地址,若返回值为1.2.3.4
d. Sendmail与1.2.3.4连接,传送这封给pcl@withub.org的信到1.2.3.4这台服务器的SMTP后台程序

这里是协议的一个解析过程,我们要看看,利用lr录制脚本后然后回放,录制的过程中mail.withub.org返回客户端服务器上有多少给用户的邮件,lr把这个数字保存下来,最为下次回放的时候对比。当你第二次回放的时候,lr模拟客户端发送请求,这时候服务器上没有了新邮件,返回可能是0,lr把这个返回值和当时录制的脚本保存的返回值进行对比(那个时候可能服务器上有3个新的邮件,服务器返回的值是3),明显这个值是动态变化的。你的脚本如果没有经过修改,肯定是回返不成功的。

那么上边提到的错误信息,同样的道理,我们要分析一下到底是什么问题,从协议上分析,从系统环境上分析。

解决方法,动态关联

1.用同样的用户操作同样的步骤两次,然后用lr工具wdiff进行脚本对比,找出不同的地方!

2.用lr自动关联

3.手工关联,找到要替换的动态数据进行替换


站内搜索
相关文章
◎性能和容量规划(3)
◎性能和容量规划(2)
◎性能和容量规划(1)
◎性能测试基础知识-处理器调度程序性能
◎实际项目中可使用的性能需求
◎AIX 性能调优-内存、CPU篇
◎性能测试基础知识-性能的规划与实现
◎如何进行系统的容量规划管理
◎WebLogic Server 性能调优(三)
◎WebLogic Server 性能调优(二)
◎WebLogic Server 性能调优(一)
◎文件系统性能调优
◎系统性能测试方案
◎性能计数器解释
◎Windows DNA应用程序数据访问组件的强度测试
◎cdma2000 1xEVDO网络性能测试
◎对你的ASP程序作负载测试
◎一个大型集中项目的性能测试实例
◎迈向测试自动化成功的七个步骤
◎测试自动化组织模型
◎测试自动化服务的定位
◎选择测试自动化框架
◎带宽大小我心知 专业带宽评测工具
◎Redhat AS3下Oracle9204异步I/O的实现
◎性能测试方法
◎关注性能:压力负载
◎压力测试计划实例
◎性能测试及性能调整概述
◎Java性能
◎Ad Hoc网络性能测试关键技术研究
◎对 Windows DNA 应用程序中的数据访问组件进行压力测试
◎NET Framework部署的性能调整
◎性能测试
◎对 Linux 内核进行压力测试
◎调整压力测试工具
◎路由器性能指标详解
◎有效的用例编写规则
◎性能:软件测试的重中之重
◎性能测试指标介绍
热门文章
◎性能测试方法
◎压力测试计划实例
◎系统性能测试方案
◎性能测试指标介绍
◎带宽大小我心知 专业带宽评测工具
◎Oracle SQL 性能优化技巧
◎性能测试的准备
◎一个大型集中项目的性能测试实例
◎关注性能:压力负载
◎性能测试基础知识-性能的规划与实现
◎性能:软件测试的重中之重
◎性能测试及性能调整概述
◎怎样提高性能测试的效率和质量
◎AIX 性能调优-内存、CPU篇
◎性能测试
◎性能计数器解释
◎WebLogic Server 性能调优(一)
◎如何调整压力测试工具
◎性能测试(并发负载压力)测试分析-简要篇
◎性能测试的容量评估
◎性能测试基础知识-处理器调度程序性能
◎性能和容量规划(1)
◎性能测试常见误区
◎LoadRunner的Apache的监控
◎Java性能
◎有效的用例编写规则
◎WebLogic Server 性能调优(三)
◎什么是可伸缩性测试
◎实际项目中可使用的性能需求
◎跟踪数据库性能变化
◎软件性能测试中常注意的事项
◎WTC性能测试报告
◎测试您的DB2数据库:用JMeter测量性能
◎如何测一个门户网站是否支持10万用户同时在线-转自51testing上的讨论
◎调整压力测试工具
◎关注10大E-mail邮箱性能
◎性能测试之场景设计思想
◎对 Linux 内核进行压力测试
◎WebLogic Server 性能调优(二)
◎刨根问底 微软Vista操作系统详尽测试
◎路由器性能指标详解
◎对你的ASP程序作负载测试
◎NET Framework部署的性能调整
◎压力测试和性能测试的区别
◎文件系统性能调优
◎性能和容量规划(2)
◎Ad Hoc网络性能测试关键技术研究
◎Java性能
◎性能和容量规划(3)
◎性能测试VS负载测试VS压力测试

Google提供的广告