南风有翼 夜景阑珊
分类: 架构设计与优化
2014-09-28 12:49:56
软件性能测试过程详解与案例分析(段念 编著)
1.使用Socket协议可以对任何类型的应用通信进行录制,但这种录制生成的脚本可能没有任何意义。举个简单的例子:假设有一个C/S结构的数据库应用,选择Socket协议固然可以生成脚本,但脚本中的内容不具有数据库操作层面的语义,在脚本执行的时候,测试工具只能忠实的回放录制时的数据流,而这种数据流往往会随着环境的细微改变进行相应的调整,这样,录制的脚本就只能在非常特定的环境(软硬件环境、时间环境等)下发挥作用,失去了脚本本身需具有的适用性;
2.在对应用间的通信进行录制生成脚本后,对脚本进行回放,有时会出现回放无法继续的情况(停留在某个步骤无法进行下去)。此时应该考虑是否使用了合适的协议,很可能是由于协议选择不正确或时不全面,导致部分通信没有录制成功;
应用类型 | 应用特点 | 建议选择协议 | 备注 |
Web应用 |
应用采用ASP结构、 J2EE或是dotNet架构 |
HTTP/HTTPS协议 |
Web应用一般采用HTTP/HTTPS协议进行性能测试脚本录制, 但特别要指出的是,有些借助客户端运行的组件扩展功能的Web 应用,其客户端组件采用自定义Socket或是其它协议与服务器 进行通信,此时需要在录制时选择多种协议 |
C/S应用 |
客户端程序以ADO、OLEDB 方式连接后台数据库 |
根据后台数据库类型 选择相应的协议 |
例如,如果后台数据库是Oracle, 则在录制时选择Oracle协议 |
C/S应用 |
客户端程序以ODBC方式连接 后台数据库 |
ODBC协议 | |
C/S应用 |
客户端和服务器之间通过 自定义的Socket协议进行通信 |
Socket协议 | |
C/S应用 | 其它协议 |
根据具体协议 类型进行分析 |
例如,有些应用为了能够适应复杂的 广域网环境,采用HTTP协议作为C/S 结构应用的客户端和服务端之间的通信 协议,此时可以根据具体的协议来选择 录制时使用的协议 |
组件 | COM/DCOM | COM/DCOM协议 |
这里提到的是针对组件的测试, 商业性能测试工具一般提供了一种 直接测试组件接口性能的方法 |
组件 | EJB | EJB协议 |
服务 | Web Service | Web Service协议 |
有些读者可能会用HTTP协议来录制 对Web Service服务进行性能测试的脚步, 建议使用专门的Web Service协议进行录制 |
服务 | Mail服务器 | SMTP和POP协议 | |
服务 | FTP服务器 | FTP协议 | |
服务 | 其它 | 根据具体的协议选择最接近的录制协议 |
应用服务器 | Oracle Application Server | Oracle Application Server协议 | |
应用服务器 | SAP | SAP协议 | |
应用服务器 | Tuxedo | Tuxedo协议 | |
应用服务器 | 其它 | 根据具体的协议选择最接近的录制协议 |