標籤:二進位 瀏覽器 target use run 穩定性 主機 模組 ref
1.項目背景
1.1 單雙向SSL的含義及部署
單向SSL即我們說到的https協議。
特點是,瀏覽器需要請求驗證伺服器憑證;
基本含義是:一個安全通訊通道,它基於HTTP開發,用於在客戶電腦和伺服器之間交換資訊。它使用安全通訊端層(SSL)進行資訊交換,簡單來說它是HTTP的安全版。
雙向SSL顧名思義就是雙方都需要驗證認證的協議,瀏覽器首先向服務端請求認證,然後伺服器端需要向瀏覽器請求目前登陸使用者的個人認證驗證。
1.2 系統的基本部署
單向SSL互動過程:
使用單向SSL時,僅通過虛擬機器主機2,請求即可傳遞到tomcat完成整個通訊過程。
雙向SSL互動過程:
使用雙向SSL時,請求先到虛擬機器主機2,由虛擬機器主機2rewrite至虛擬機器主機3,再由虛擬機器主機3與tomcat進行通訊。同時在虛擬機器主機3,會將使用者認證放在參數中隨請求一起傳遞給tomcat。
1.3 測試背景
為了配合使用認證系統,本系統上所有請求將更改為使用https進行訪問。同時為了增加安全性以及對本系統核心操作的控制,需要對請求進行分級控制,即普通操作為單向SSL,核心操作為雙向SSL。
需要互動的系統:OSCP伺服器,用於線上驗證認證狀態。
2.測試目的
主要驗證系統:
(1). 評估在預期使用者規模的情況下,系統是否響應正常。
(2). 評估系統在應用了單雙向SSL之後響應的區別,關聯伺服器是否會影響該系統的效能情況。
(3). 在逐漸增加負載的情況下,分析系統瓶頸。
(4). 在壓力情況下系統的表現。
(5). 在長時間運行該模組是否會出現系統效能異常。
3.測試分析
3.1情境分析
假設根據系統分析,主要測試兩個情境,第一是單向SSL,登陸情境,第二是雙向SSL,對下載檔案功能。假設預估的並發使用者量都是10人。
|
使用者行為 |
操作 |
預估並發使用者量 |
|
下載檔案 |
選擇指定檔案->下載 |
10 |
|
登陸 |
填寫使用者名稱和密碼->登陸->載入登陸後介面 |
10 |
3.2測試模組分析
負載測試:主要測試各個情境在正常情況下是否運轉,是否系統響應正常。並且對比應用了單雙向SSL之後的響應差別,關注到關聯伺服器是否會影響該系統的效能情況。
並且在不斷增加負載的情況下,分析系統的瓶頸。
壓力測試:主要考察在壓力情況下系統的表現,是否會出現效能異常,以及出現異常之後是否能及時回複並給與友好性提示。
長時間穩定性測試:主要測試系統在預期的使用者量下,在一段時間內,是否能夠穩定的響應。重點關注下記憶體是否泄漏。
4.測試執行
基本步驟:錄製LoadRunner指令碼->執行LoadRunner情境->進行分析
在測試執行裡主要說一下錄製指令碼時遇到的問題,關於loadrunner對於單雙向SSL指令碼錄製的問題。
主要從以下幾個方面來說,如何將瀏覽器匯出的認證.crt轉換為.pem,如何錄製單向SSL指令碼,如何錄製雙向SSL指令碼。
4.1 如何將瀏覽器匯出的認證.crt轉換為.pem
所有的blog上都說用openssl轉換。那麼哪裡有openssl?
答:這個再linux下面一般都帶的,沒有的話yuminstall openssl 就可以了
步驟是什嗎?
答: pfx提取公開金鑰私密金鑰方法如下:
openssl pkcs12 -in server.pfx -nodes -out temp.pem //產生臨時檔案:temp.pem
openssl rsa -in temp.pem -out server.key //產生伺服器私密金鑰 server.key
openssl x509 -in temp.pem -out server.pem //產生伺服器公開金鑰 server.pem
4.2 如何錄製單向SSL指令碼?
只需要設定LoadRunner即可,LR中可以直接錄製https指令碼,只需在create new scripts->web(HTTP/HTML)->start record->options->netword下的port mapping,設定為winnetlevel data (2、runtime setting -> Internet protocol->perference 選中 WinInet replay instead of sockets.)
4.3 如何錄製雙向SSL指令碼?
由於LR的機制是利用LR類比瀏覽器與伺服器進行互動,所以認證需要安裝在
---------------------------------------------------------------------------------------------
1. 認證的準備
常見的認證為:*.pfx格式,該種格式的認證可以通過雙擊運行安裝到IE瀏覽器上。使用者在訪問的時候就可以使用到。
但這種認證並不是LoadRunner所使用的類型,因此需要對其進行轉換。將其轉換為*.pem格式。
轉換方法如下:
?安裝openssl後
?運行C:\<OpenSSL>/bin檔案夾的openssl二進位檔案,它將啟動OpenSSL命令提示字元
?執行以下命令:pkcs12 -in D:\test1.pfx -out D:\test01.pem –nodes
?執行後,將會在指定目錄產生test01.pem檔案,這個檔案將會在下一個步驟,對LoadRunner進行配置的時候使用到。
2. LR配置
啟動LoadRunner,開啟Recording Option選項。
留意紅色框中的選項。
選擇後,單擊New Enty
紅框中的配置為伺服器的ip和連接埠號碼,按照測試所需要的實際地址進行配置就可以
配置後,將Use specified client-sidecertificate[Base64/PEM]鉤選,為使用用戶端認證訪問。
單擊。。。選擇剛剛轉換產生的用戶端認證。
如果你為認證有設定密碼,在這裡也需要輸入。
到此為止所有與http區別的配置就完成了。
錄製後,可以在指令碼的開始,看到LoadRunner新產生的語句
web_set_certificate_ex("CertFilePath=test01。pem",
"CertFormat=PEM",
"KeyFilePath=test01。pem",
"KeyFormat=PEM",
"Password=123456",
"CertIndex=1",
LAST);
下面的操作和普通的頁面效能測試一樣。
Loadrunner 錄製htpps 協議通過IE開啟頁面,報錯“Internet Explorer cannot display the webpage”.
但是直接開啟IE不通過 loadrunner開啟https頁面卻可以正常開啟。 問題解決如下(Windows 7):執行:cmd然後執行命令:certutil -setreg chain\minRSAPubKeyBitLength 512重啟電腦,問題解決。 參考文章:http://eyeontesting.com/questions/2758/loadrunner-vugen-cannot-record-secure-web-sites-ht.html 測webservice遇到https的請求,是在事務開始前加web_set_sockets_option("SSL_VERSION","TLS");
Loadrunner對https協議(單雙向SSL)的web端效能測試