为什么关联很重要?
测试脚本中的动态数据(Session ID)是“hard-coded”写死在录制脚本中的。
录制脚本回放失败,经常是动态数据没有进行关联。
测试脚本中要设置一个变量,发出的请求用变量来表示。
需要关联的数据的特征:
1、数据是从客户端发往服务器端的。
2、这些数据是由服务器产生的,事先发给客户端的。
常见的需要关联的情景:
1、登录操作
2、先查后修改,先查后删除
3、并发控制:防止两个用户同时修改或者删除同一条记录。
如何判断一个交易执行成功?
1、可以在不同的层次上判断是否成功
TCP层:建立了TCP连接,而且有数据通讯生成。
HTTP层:发出的HTTP请求,返回代码时200/300系列。
状态码200系列表示OK;状态码300系列表示没有被修改,不需要传输
状态码400系列表示客户端出错,状态码500系列表示服务器端出错。
应用层:插入交易把记录正确地插入到数据库的表里面。修改交易正确地修改了数据库里面的记录。删除交易正确地删除了记录。
所以一定要应用层的判断为准!!
监控后台系统的方式:
1、目前成熟的软件都有管理接口。这些接口是性能测试工具监控的主要途径。
2、常见的管理接口:SNMP,JMX,WEB
3、监控分为:有代理(要安装代理软件)和无代理(优先使用)两大类型。
4、可以编写一个测试脚本,到后台取得被监控的信息。
LoadRunner的组成部分:
1、脚本生成器VuGen: Virtual user generator
2、压力控制器Controller,License并发用户数主要在这里控制
3、结果分析软件Analysis
4、压力机Load Generator
其它性能测试工具:
1、Borland SilkPerformer
2、QA Load
3、Web Load
4、Open STA
5、JMeter
性能测试工具目前的特点:
1、开发一套完整的性能测试工具的工作量非常大
2、针对WEB/HTTP协议的测试最成熟
3、SOCKET协议是最后的解决方法
4、很多工具在某一方面非常强
5、开源的工具很多,很多工具可以搭配使用
国内性能测试存在的问题:
误区1:刚毕业的大学生可以搞性能测试
误区2:测试花费不了多长时间。需要的时候花费几天就搞定了
误区3:性能测试时测试人员的工作,和其他人没有关系
性能测试需要注意的问题:
1、在性能测试之前,需要详细了解被测系统的技术特点,进行技术验证工具(POC)
2、通讯数据加密是性能测试面临的很大的问题
3、性能测试的过程中,开发人员一定要全程参与,随时和测试人员一起解决技术底层和细节问题。