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

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

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

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

1.项目背景

P GV+_ q0

1.1 单双向SSL的含义及部署

}Rd E/g0Mn0

单向SSL即我们说到的https协议。51Testing软件测试网7_,]dk.wM

特点是,浏览器需要请求验证服务器证书;51Testing软件测试网|4Q%t oC.K6X

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

%e{]6a@ xx8E#zY&Q0

双向SSL顾名思义就是双方都需要验证证书的协议,浏览器首先向服务端请求证书,然后服务器端需要向浏览器请求目前登陆用户的个人证书验证。

|%V^Xr6~lly0

1.2 系统的基本部署

QA)a&r~0

单向SSL交互过程:51Testing软件测试网M(XC#t8n~a pw


[2E5i5q&_0

HIRI2c0

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

双向SSL交互过程:

:^-z"V'{&z+\x0

使用双向SSL时,请求先到虚拟主机2,由虚拟主机2rewrite至虚拟主机3,再由虚拟主机3与tomcat进行通信。同时在虚拟主机3,会将用户证书放在参数中随请求一起传递给tomcat。
](ic5h6l8qo0
51Testing软件测试网o.Zvb5C3gg

1.3 测试背景

'_1@IWYs,Y%HY0

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

需要交互的系统:OSCP服务器,用于在线验证证书状态。
I8A9E"s5\6ce0

Nj b.D P:umY?0

2.测试目的51Testing软件测试网*U`p_y$TD]

主要验证系统:51Testing软件测试网3d*_ dM)i0f

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

gU gQ8etb0

(2). 评估系统在应用了单双向SSL之后响应的区别,关联服务器是否会影响该系统的性能情况。51Testing软件测试网eC5yM'm-iQM*f

(3). 在逐渐增加负载的情况下,分析系统瓶颈。51Testing软件测试网1{7o f"Iq{

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

w2go|1wx0

(5). 在长时间运行该模块是否会出现系统性能异常。51Testing软件测试网.cV1IZ8B8OS g2O)Y e

3.测试分析51Testing软件测试网-A8UT [2d9L

3.1场景分析51Testing软件测试网 Dd b(M:[pH

假设根据系统分析,主要测试两个场景,第一是单向SSL,登陆场景,第二是双向SSL,对下载文件功能。假设预估的并发用户量都是10人。51Testing软件测试网dpNb;VFM1}A0ap

51Testing软件测试网+U$F&n MgA

9@$q*XA)U0

用户行为51Testing软件测试网bW9oO!KXk

操作51Testing软件测试网$T5]nV#y

预估并发用户量

K J)`g5n0

下载文件

V}~5Z0{_0

选择指定文件->下载51Testing软件测试网_\:~D`-\4RF {#y

1051Testing软件测试网]/v:wQf8R$c`H9ra

登陆51Testing软件测试网7q6^5]%tFL.s

填写用户名和密码->登陆->加载登陆后界面51Testing软件测试网 yH)C'rjH#Q(H

1051Testing软件测试网"yPvX1l t

51Testing软件测试网v%j*A.n(],b/J(h? \d

g5N9p.P a^af0

51Testing软件测试网k$I!|yu

*KoM4k%M5N!}g!DZ0

3.2测试模块分析51Testing软件测试网7[ q#jr A!dUU

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

      并且在不断增加负载的情况下,分析系统的瓶颈。51Testing软件测试网MM#pRf R"u4fX.wg

压力测试:主要考察在压力情况下系统的表现,是否会出现性能异常,以及出现异常之后是否能及时回复并给与友好性提示。51Testing软件测试网 HP!G)w r;a D'[

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

SjiK]-E0

4.测试执行

X%\l0t4XAP(DH0

基本步骤:录制LoadRunner脚本->执行LoadRunner场景->进行分析51Testing软件测试网p)SJ-Q3_$V#Y X(\}

在测试执行里主要说一下录制脚本时遇到的问题,关于loadrunner对于单双向SSL脚本录制的问题。51Testing软件测试网0zm)_8s z3xEfF

主要从以下几个方面来说,如何将浏览器导出的证书.crt转换为.pem,如何录制单向SSL脚本,如何录制双向SSL脚本。51Testing软件测试网2f:C7nh8d%HK

51Testing软件测试网G6qu5\3P[
51Testing软件测试网 f(Cc-V pDR6W nV

4.1 如何将浏览器导出的证书.crt转换为.pem51Testing软件测试网 {kxYlfJ


CWI zy2_$`0

}%S1u i ?U3C9V(bQp0

所有的blog上都说用openssl转换。那么哪里有openssl

eL&erW$n;z(WU0

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

;G:ZMpn;y9M6X F0

步骤是什么?51Testing软件测试网Pjv[c^T-d9d\.f

答: pfx提取公钥私钥方法如下:    

.mx-?"v zR0

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

"pZ+nY?1n!h!UN2Yxv0

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

K)M9T vM0

           openssl x509 -in temp.pem -out server.pem    //生成服务器公钥 server.pem51Testing软件测试网s9[};^ M4dW"}

51Testing软件测试网#a@v:r;JFm#F
51Testing软件测试网&DYj4C SA[3D-Q

4.2 如何录制单向SSL脚本?

X0_ P$r7I0

只需要设置LoadRunner即可,LR中可以直接录制https脚本,只需在create new scripts->web(HTTP/HTML)->start record->options->netword下的port mapping,设置为winnetlevel data51Testing软件测试网Z S:]T N f

4.3 如何录制双向SSL脚本?51Testing软件测试网3w~ NC$a'jQ

|;DBF3\~hE0

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

~,pV?wl2c&_0
51Testing软件测试网n8@q%h\!f)c0Cn/F

TAG:

 

评分:0

我来说两句

Open Toolbar