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