1 引言
為了讓企業(yè)的管理和運營更加高效。使企業(yè)商業(yè)模式由以產(chǎn)品為中心升級到以客戶為中心,CRM的在各個企業(yè)的使用率越來越高。CRM(Customer Relationship Mallagement)即為客戶關(guān)系管理。是指用計算機技術(shù)完成客戶管理、銷售、市場營銷等一系列功能的系統(tǒng)。CRM系統(tǒng)具有數(shù)據(jù)大集中、數(shù)據(jù)實時性強,交互性強、系統(tǒng)穩(wěn)定性高等特點,隨著電子商務(wù)客戶量和數(shù)據(jù)量的加大,CRM系統(tǒng)的負荷越來越重,其性能的好壞將直接決定企業(yè)提供服務(wù)的質(zhì)量。所以相比于其他系統(tǒng)功能至上的測試理念不同,CRM系統(tǒng)最注重的則是軟件性能測試,而工業(yè)標準級負載測試工具LoadRunner則使CRM系統(tǒng)的性能測試變得輕松可靠。
2 軟件性能測試概述
性能測試是指利用自動化測試軟件模擬多種正常、峰值、異常條件來對系統(tǒng)施壓,從而驗證系統(tǒng)的各項性能指標是否能夠達到用戶所要求的標準,進而找出系統(tǒng)瓶頸,優(yōu)化系統(tǒng)性能。性能測試包括負載測試和壓力測試兩個方面:
1)負載測試:確定在各種工作負載下系統(tǒng)的性能,目標是測試當負載逐漸增加時系統(tǒng)各項性能指標的變化情況。
2)壓力測試:通過確定一個系統(tǒng)的瓶頸或者不能接收的性能點,來獲得系統(tǒng)能提供的最大服務(wù)級別。
壓力測試與負載測試原理相同但目標不同,負載測試是發(fā)現(xiàn)系統(tǒng)的性能瓶頸,而壓力測試則是找到系統(tǒng)所能承載的最大服務(wù)級別,壓力測試可以看作是極限條件下的負載測試。
3 利用LoadRunner對CRM系統(tǒng)進行負載測試
3.1 CRM系統(tǒng)介紹
當下,Web技術(shù)發(fā)展迅猛。CRM系統(tǒng)的也緊跟技術(shù)發(fā)展步伐步入了Web2.0時代。功能上,CRM一般由客戶協(xié)作管理、業(yè)務(wù)管理、分析管理和應(yīng)用集成管理四個分系統(tǒng)組成,結(jié)合各個分系統(tǒng)的功能及其特點,一套優(yōu)秀的CRM系統(tǒng)應(yīng)當具有綜合性、集成性、智能化、高技術(shù)和復(fù)合性等特點。
本文所要測試的國內(nèi)某大型電子信息制造企業(yè)所使用的CRM系統(tǒng)主要由客戶端、Web服務(wù)器、應(yīng)用服務(wù)器及數(shù)據(jù)庫服務(wù)器等組成。從架構(gòu)上看,本CRM系統(tǒng)采用的是B/S模式的三層結(jié)構(gòu),即表示層、業(yè)務(wù)邏輯層與數(shù)據(jù)層,其架構(gòu)與系統(tǒng)組件的對應(yīng)關(guān)系如圖1所示。
圖1 CRM系統(tǒng)體系結(jié)構(gòu)
3.2 制定CRM系統(tǒng)測試計劃
由于本CRM系統(tǒng)是企業(yè)運用于全球客戶關(guān)系的管理。包括供應(yīng)商、合作伙伴和分銷商,并不涉及終端個人用戶,所以系統(tǒng)的用戶量不高,同時登錄系統(tǒng)的用戶不會像其他Web應(yīng)用那樣造成服務(wù)器癱瘓的狀況,但是CRM系統(tǒng)產(chǎn)生的數(shù)據(jù)量大。系統(tǒng)操作效率要求高,因此我們不必關(guān)心系統(tǒng)最大服務(wù)級別,而要重點監(jiān)控數(shù)據(jù)庫服務(wù)器的運行狀況。由于CRM系統(tǒng)性能測試場景多且復(fù)雜,所以我們只選取了其中一個數(shù)據(jù)庫查詢場景作介紹,測試計劃表如表1所示。
表1 測試計劃表
3.3 設(shè)計測試腳本
腳本主體采用自動錄制方式,按照測試計劃表逐項操作,錄制完成后,我們必須對腳本進行增強以適合測試場景:
1)參數(shù)關(guān)聯(lián):本例中需要關(guān)聯(lián)的量有三個,兩個會話碼和一個安全碼,首先,我們要找到其左右邊界,然后確定該會話碼在服務(wù)器響應(yīng)中第一次出現(xiàn)的位置,將以下代碼嵌入其所在位置的前面。
2)插入事物:在此,我們需要測試登錄、搜索、打開、退出等一系列操作的響應(yīng)時間,所以我們需要把這四種操作分別做成事物,即在每個操作的代碼前后插入事物開始和事物結(jié)束函數(shù),以登錄為例插入事物方法如下。
Ir_start_transaction(“Sign In”);
Ir_end_transaction(“Sign In”,LR_AUTO);
3)插入集合點:因為要模擬用戶同時
3)插入集合點:因為要模擬用戶同時操作,為了達到并發(fā)操作,我們需要在上述四個事物前面添加集合點,按照需求,我們把集合點函數(shù)放到四個事物開始之前,以登錄為例函數(shù)如下。
Ir_rendezvous(“Sign In”):
4)訂單號的保存:由于原網(wǎng)站沒有保存訂單號的鏈接。在錄制過程中無法完成此功能,所以我們必須手工編寫腳本來實現(xiàn)訂單號的保存。Action()函數(shù)開始處編寫頭文件:
3.4 設(shè)計運行場景
根據(jù)測試要求,我們設(shè)計了兩種運行場景:
1)并發(fā)用戶數(shù)20、40、60:采用運行前加載所有用戶的方式,迭代一次。
2)并發(fā)用戶逐級遞增:采用初始用戶數(shù)20,每90s增加20的方式,運行五分鐘。以上兩種方式的加載主機均為美國IP地址:10.37.143.143,思考時間設(shè)置為最高2s。
3.5 分析結(jié)果
以上幾個場景運行完成后,將結(jié)果導(dǎo)入Analysis,并發(fā)條件下的事物響應(yīng)時間如表2所示。從表2我們可以看出各個事物響應(yīng)時間隨著并發(fā)用戶數(shù)的增加而增大,但是所有響應(yīng)時間數(shù)據(jù)隨著并發(fā)用戶數(shù)的增加變化平穩(wěn),而且60個用戶并發(fā)時,所有響應(yīng)時間在用戶可接受范圍之內(nèi)。
表2 用戶并發(fā)測試結(jié)果表
虛擬用戶數(shù)成功數(shù)平均事物響應(yīng)時間(單位:s)(并發(fā)百分比) 登錄系統(tǒng)查詢訂單打開訂單退出系統(tǒng)點擊率是指客戶端每秒向服務(wù)器提交的HTTP請求數(shù),并不是我們平時所理解的頁面上某一內(nèi)容被點擊的次數(shù),鼠標一次點擊可以產(chǎn)生很多個HTTP請求,如圖2。吞吐率和點擊率正好相反,指的是客戶端每秒從服務(wù)器獲得的數(shù)據(jù)量,如圖3。點擊率可以反映用戶產(chǎn)生的負載量。如果系統(tǒng)運行正常,點擊率增大,相應(yīng)的吞吐率也會增大,所以通過對比點擊率與吞吐率,我們可以判斷出服務(wù)器的運行狀況。
圖2 并發(fā)虛擬用戶數(shù)——點擊率對照圖
圖3 并發(fā)虛擬用戶數(shù)——吞吐率對照圖
圖2和圖3中,當虛擬用戶隨著時間而逐級增加時,我們看到點擊率和吞吐率都有一個上升的趨勢,且上升的幅度在一個合理的范圍,說明系統(tǒng)在用戶數(shù)突然增加時,仍能夠保持相對的穩(wěn)定。兩圖中吞吐率和點擊率都有四個峰值,通過時間軸判斷。此時系統(tǒng)正在執(zhí)行訂單查詢操作,說明數(shù)據(jù)庫服務(wù)器此刻接受了大量的請求,也發(fā)出了大量的響應(yīng)。因為CRM系統(tǒng)數(shù)據(jù)量龐大,結(jié)合查詢事物響應(yīng)時間,我們可以斷定數(shù)據(jù)庫服務(wù)器工作狀態(tài)正常。
4 結(jié)語
性能測試是一個系統(tǒng)而復(fù)雜的工程。針對各個不同的系統(tǒng),測試方法和技術(shù)往往不同。本文介紹了性能測試的基本原理與關(guān)鍵技術(shù),并以國內(nèi)某大型電子信息制造企業(yè)CRM系統(tǒng)數(shù)據(jù)庫為例用LoadRunner進行了測試,取得了較好的結(jié)果,為CRM軟件性能測試提供了一種新思路。
核心關(guān)注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://m.hanmeixuan.com/
本文標題:基于LoadRunner軟件的CRM系統(tǒng)性能測試
本文網(wǎng)址:http://m.hanmeixuan.com/html/news/1051522883.html