十五年测试老手,长期负责WEB\APP 项目测试,目前主要负责团队管理工作。

使用loadrunner对https协议(单双向SSL)的web端性能测试

上一篇 / 下一篇  2015-12-08 08:48:47 / 个人分类:loadrunner

文章来源
  • 文章来源:【转载】

1.项目背景

(S g$c8tccUu0

1.1 单双向SSL的含义及部署51Testing软件测试网 Z/O4gx&Z'FKG

单向SSL即我们说到的https协议。51Testing软件测试网%e;@} }8`Zz)|P

特点是,浏览器需要请求验证服务器证书;

X(b0yQ Q)zk&Mt0

基本含义是:一个安全通信通道,它基于HTTP开发,用于在客户计算机和服务器之间交换信息。它使用安**接字层(SSL)进行信息交换,简单来说它是HTTP的安全版。

hpe2^ \7X({0

双向SSL顾名思义就是双方都需要验证证书的协议,浏览器首先向服务端请求证书,然后服务器端需要向浏览器请求目前登陆用户的个人证书验证。51Testing软件测试网o }%z(\'R/v&ph

1.2 系统的基本部署51Testing软件测试网.t9z(F#A ~#M T

单向SSL交互过程:51Testing软件测试网 DV)?\X9tE


R3FuB ls*d N051Testing软件测试网7MhKWF

使用单向SSL时,仅通过虚拟主机2,请求即可传递到tomcat完成整个通信过程。51Testing软件测试网 F,uD.Z+Cy

双向SSL交互过程:

k DE|d;`F0

使用双向SSL时,请求先到虚拟主机2,由虚拟主机2rewrite至虚拟主机3,再由虚拟主机3与tomcat进行通信。同时在虚拟主机3,会将用户证书放在参数中随请求一起传递给tomcat。
;z[a@8C6^^"aH0

O7y a(XVp.G+re(R0

1.3 测试背景

`"n9U])p!t[0

为了配合使用证书系统,本系统上所有请求将更改为使用https进行访问。同时为了增加安全性以及对本系统核心操作的控制,需要对请求进行分级控制,即普通操作为单向SSL,核心操作为双向SSL。51Testing软件测试网+] Lh:X!Ip

需要交互的系统:OSCP服务器,用于在线验证证书状态。
m:w!pl8Q"H l]0

d]PL;? G-T0

2.测试目的

8jbpem4nm1`9rA0

主要验证系统:

u+`J[ UOn/i-v0

(1). 评估在预期用户规模的情况下,系统是否响应正常。

qdFb!xB-Q0

(2). 评估系统在应用了单双向SSL之后响应的区别,关联服务器是否会影响该系统的性能情况。51Testing软件测试网3@A6NGJ i*U(R

(3). 在逐渐增加负载的情况下,分析系统瓶颈。51Testing软件测试网ujr"SRe

(4). 在压力情况下系统的表现。

+Y/Lm]"L0

(5). 在长时间运行该模块是否会出现系统性能异常。51Testing软件测试网1jr'h![6y9P$F!k

3.测试分析

Ws!rA`4G0

3.1场景分析

"t&JRnRB \]2fq0

假设根据系统分析,主要测试两个场景,第一是单向SSL,登陆场景,第二是双向SSL,对下载文件功能。假设预估的并发用户量都是10人。51Testing软件测试网k'Q? @w r1|a


qPbv)s Hf051Testing软件测试网1I(kJ!?6@i7j^.o9G

用户行为51Testing软件测试网K? mE$V\

操作51Testing软件测试网{*P*ET Za

预估并发用户量

/pve'f gl0

下载文件

m V DS)A4] R0

选择指定文件->下载51Testing软件测试网-z"F&l0Oz A$q

1051Testing软件测试网1~!T:|8F|

登陆

JPM%w}*O&Q4BtJ0

填写用户名和密码->登陆->加载登陆后界面51Testing软件测试网R C4f S9H E+`utuL

10

@7d H~M*Y Bc h0?O0

51Testing软件测试网d}&[\(w
51Testing软件测试网r%d\-VG


cG$?YjI*H.J051Testing软件测试网 l(S:?*h\E;dgF

3.2测试模块分析51Testing软件测试网)X"H4z#syl

负载测试:主要测试各个场景在正常情况下是否运转,是否系统响应正常。并且对比应用了单双向SSL之后的响应差别,关注到关联服务器是否会影响该系统的性能情况。51Testing软件测试网x~ @s-eT r

      并且在不断增加负载的情况下,分析系统的瓶颈。

_1H!^-|r/}U9H0

压力测试:主要考察在压力情况下系统的表现,是否会出现性能异常,以及出现异常之后是否能及时回复并给与友好性提示。51Testing软件测试网ygys4?"CB

长时间稳定性测试:主要测试系统在预期的用户量下,在一段时间内,是否能够稳定的响应。重点关注下内存是否泄漏。

:RrT.D&`L4?0

4.测试执行51Testing软件测试网 JPh:K6oJl

基本步骤:录制LoadRunner脚本->执行LoadRunner场景->进行分析51Testing软件测试网NoH}$Sq

在测试执行里主要说一下录制脚本时遇到的问题,关于loadrunner对于单双向SSL脚本录制的问题。

\'wx1xEf!b ge)b0

主要从以下几个方面来说,如何将浏览器导出的证书.crt转换为.pem,如何录制单向SSL脚本,如何录制双向SSL脚本。

*Gw?_}A YT0


(^| ~I h0
51Testing软件测试网D7kO@ \Gl5LS

4.1 如何将浏览器导出的证书.crt转换为.pem

Q3HWn/?2]?Y5Z0


h v2~3C&DK]0

Kw1s tC#Z+T0

所有的blog上都说用openssl转换。那么哪里有openssl51Testing软件测试网I9U"^ WT7B,QM^q

答:这个再linux下面一般都带的,没有的话yuminstall openssl 就可以了

9@7rP }D%i3wQF/|3A8{0

步骤是什么?51Testing软件测试网@o&xW1d/B*J

答: pfx提取公钥私钥方法如下:    51Testing软件测试网d^ r]5VQ

           openssl pkcs12 -in server.pfx -nodes -out temp.pem  //生成临时文件:temp.pem

BgwSv8X'a5`0

           openssl rsa -in temp.pem -out server.key         //生成服务器私钥 server.key

[8[%Fhfk/D0

           openssl x509 -in temp.pem -out server.pem    //生成服务器公钥 server.pem

`] j#D5[/s0


sMF;z+SD$O051Testing软件测试网^I%i|6]3GM

4.2 如何录制单向SSL脚本?

C/gg&aK3KI#B f0

只需要设置LoadRunner即可,LR中可以直接录制https脚本,只需在create new scripts->web(HTTP/HTML)->start record->options->netword下的port mapping,设置为winnetlevel data51Testing软件测试网@ u:s!d z,i_

4.3 如何录制双向SSL脚本?
_Ah2Wlvw&[!@051Testing软件测试网k%lG*Hfx

由于LR的机制是利用LR模拟浏览器与服务器进行交互,所以证书需要安装在

wx3HH2X6@0

3Wi[r*E&q'T nn4b X0

TAG:

 

评分:0

我来说两句

Open Toolbar