- 相關推薦
軟件性能測試研究
1 軟件性能測試
根據測試的目的和內容的不同,性能測試主要包括以下方面:
(1)負載測試:確定在各種工作負載下系統的性能,目標是測試當負載逐漸增加時,系統各項性能指標的變化情況。
(2)強度測試:確定在系統資源特別低的條件下軟件系統運行情況。
(3)容量測試:在用戶可接受的響應范圍內,確定系統可處理同時在線的最大用戶數。
(4)壓力測試:通過確定一個系統的瓶頸或者最大使用極限的測試。
(5)疲勞強度測試:以系統穩定運行情況下能夠支持的最大并發用戶數或者日常運行用戶數,持續執行一段時間業務,通過綜合分析交易執行指標和資源監控指標來確定系統處理最大工作強度性能的過程。
(6)大數據量測試:大數據量測試側重點在于數據的量上,包括獨立的數據量測試和綜合數據量測試。獨立的數據量測試針對某些系統存儲,傳輸、統計、查詢等業務進行大數據量測試,而綜合數據量測試一般和壓力性能測試、負載性能測試、疲勞性能測試相結合。
2 軟件性能測試流程
2.1 測試方案設計
在軟件性能測試的初始階段,首先應對業務模型和系統架構進行調研,收集測試需求。然后生戚性能測試計劃。業務調研和系統調研,需要性能測試團隊提前了解被測試項目的業務功能和系統架構。其間。開發部門應協助提供被測系統相關的文檔和說明,如系統總體介紹、系統規格書、用戶使用手冊、網絡拓撲結構圖和系統配置說明、關鍵服務器及應用部署與配置等文檔。通過和業務部門協商明確本次測試針對哪些業務行為,制定此次測試的目標,細化測試的關注點和性能指標要求。通過以上內容制定詳細的測試方案,并制定詳細測試計劃和各階段目標。
2.2 測試環境的搭建
測試環境的搭建分為軟硬測試系統的環境搭建和測試相關的數據準備工作。環境搭建包括被測試系統的硬件環境建立和軟件應用系統建立及基礎數據環境建立。保障被測試系統的業務可用性和功能的正確性,包括測試系統(如被測試項目的操作系統、中間件、數據庫、壓力測試控制臺、壓力測試發起工具等)的環境搭建、軟件的安裝;測試環境的網絡環境建立(如開放防火墻和網關等);最后進行測試環境可用性驗證。測試數據準備包括測試應用系統基礎數據準備,即需要按性能測試規模要求,準備足夠的、一定規模的基礎數據,通常采用全量恢復生產數據的方式以達到和生產環境數據一致性的要求。
2.3 測試場景開發
測試場景開發指測試程序(腳本)的開發。測試程序(腳本)的開發是對被測系統的用戶業務行為進行模擬、錄制、編程、參數化、腳本定制和調式等一系列工作,以使測試程序(腳本)可以真實模擬實際生產中的業務交易行為,并通過對程序中參數的配置實現對并發數、思考時間等屬性的準確控制。
2.4 測試執行
測試執行是在測試方案的制定、測試環境準備、測試場景開發工作正確完成的基礎上進行的。
2.5 測試報告和分析
性能測試報告和結果分析是在測試執行完成以后,對性能數據進行采集結果收集工作和針對性能測試過程中暴露的問題進行分析的階段。性能測試報告是對性能測試過程中的監控結果以及報表進行匯總,按照一定的模板整理出的一份結論性文檔。開發團隊和性能測試團隊應依據對性能測試實施過程中監控和記錄的數據和表格,分析系統中存在的性能問題和程序缺陷。并有針對性的在報告中闡述問題、分析原因、提出解決或優化方案。
2.6 回歸測試
回歸測試是開發部門在性能測試報告的基礎上針對軟件的性能或者效率缺陷進行優化或者修復,為了驗證優化的效果而進行的再測試。
3 軟件性能測試工具LoadRunner
作為軟件質量控制中的重要一環,性能測試已經越來越受到軟件開發商和用戶的重視,成為軟件測試的重中之重。性能測試通常在系統測試階段執行,常常與強度測試結合起來,一般需要使用測試工具。一個優秀的軟件測試工具,不僅可以輔助測試工作,滿足科學測試的基本要求;而且可以自動化測試過程,節約大量的時間、成本、人員和資源,提高軟件產品的質量。目前市場上主要使用的測試工具有微軟公司的WAS(Web Application Stress Tool)、Compuware公司的QALoad、RadView公司的WebRunner、HP(Mercury)公司的LoadRunner。下面以LoadRunner為例。介紹軟件測試工具的工作流程。
LoadRunner是一種預測系統行為和性能的負載測試工具。通過模擬上千萬用戶實施并發負載及實時性能檢測來確認和查找問題,能夠對整個企業架構進行測試。通過使用LoadRunner,企業能夠最大限度的縮短測試時間,優化性能和加速應用系統的發布周期。LoadRunner能支持廣泛的協議和技術,功能比較強大,可以為特殊環境提供特殊的解決方案。LoadRunner由下面三部分組成:Virtual UserGenerator用來錄制腳本、編輯腳本Controller用來布置測試場景、執行測試場景;Analysis用來對測試結果進行分析。
用LoadRunner進行負載測試的流程通常由五個階段組成:計劃、腳本創建、場景定義、場景執行、監視執行和結果分析。
(1)計劃負載測試:定義性能測試要求,例如并發用戶的數量、典型業務流程和所響應時間;根據軟件項目相關需求,定義相關測試的細節,撰寫性能測試報告。
(2)創建Vuser腳本:將最終用戶活動捕獲到自動腳本中LoadRunner的腳本是C語言代碼,LoadRunner有自己的一整套函數接口,可以供外部調用。腳本可分INIT、ACTION、END三部分,其中:INIT部分可以理解為初始部分。ACTION可以理解為事務部分,也是測試的主體,END是退出結束。
當錄制完一個基本的用戶腳本后,在正式使用前我們還需要完善測試腳本,增強腳本的靈活性。一般情況下,我們通過以下幾種方法來完善測試腳本。插人事務、插入結合點、插入注解、參數化輸入。
(3)定義場景:使用LoadRunner Controller設置測試環境;錄制好腳本之后,就可以把腳本加入到場景里面去了,這里首先介紹一下LR的場景類型,LR有2種大的場景類型。
①Manual Scenario:該項要完全手動的設置場景,這項下面還可以設置為每一個腳本分配要運行的虛擬用戶的百分比,可在Controller的Scenario菜單下設置。
②Goal—Oriented Scenario,如果你的測試計劃是要達到某個性能指標,比如:每秒多少點擊。每秒多少transae,tions,能到達多少VU,某個Transaction在某個范圍VU(5D。一1000)內的反應時間等等,那么就可以使用面向目標的場景。
(4)設置場景:
Design:設計測試場景的靜態部分,設置模擬用戶生成器、模擬用戶數量、模擬用戶組等。
Run:設計測試的動態部分,主要指添加性能計數器,在腳本運行的過程中可以通過這些計數器反饋的數據。
建立了測試場景后,我們可以對Edit_Schedule進行設置,設置測試開始執行的時問,對于手動設計的測試還可以設定它的持續時間,以及何時起用或禁止調用模擬用戶。
(5)運行場景:通過LoadRunner Controller驅動、管理和監控負載測試。
設置完畢后,點擊“開始方案”運行場景。在運行過程中,可以監視各個服務器的運行情況(DataBase Server、WebServer等)。監視場景通過添加性能計數器來實現,下列數據需要特別關注:
①Memory:Available Mbytes物理內存的可用數(單位Mbytes)至少要有10%的物理內存值。
⑦Processor:Processor Time CPU使用率。這是查看處理器飽和狀況的最佳計數器。顯示所有CPU的線程處理時間。如果一個或多個處理器的該數值持續超過90%,則表示此測試的負載對于目前的硬件過于沉重。為多處理器服務器添加該計數器的O到x個實例。
③Processor Queue Length:是指處理列隊中的線程數,小于2。處理器瓶頸時會導致該值持續大于2。
④Context Switches/sec;如果切換次數到5000*CPU個數和i0000*CPU個數中,說明它忙于切換線程。
⑤Network Interface:Bytes Total/sec為發送和接收字節的速率,包括幀字符在內。判斷網絡連接速度是否是瓶頸,可以用該計數器的值和目前網絡的帶寬比較。
(6)分析結果:使用LoadRunner Analysis創建圖和報告并評估性能。
LR的報表分析功能也異常強大,有各種各樣的報表,甚至可以將單個報表組合,也可以導出到Excel文件和Ht-ml文件。
【軟件性能測試研究】相關文章:
鋼筋芯FRP復合筋力學性能研究建筑工程論文(精選12篇)12-14
供給鏈系統的柔性性能06-03
數據關聯算法綜述及其性能評估05-05
我國氣壓盤式制動結構性能和前景分析05-11
高壓變頻器構成及測試06-12
課題研究開題報告10-26
定向增發機制研究06-03
刑罰裁量的原則研究06-04