軟體性能測試
出自 MBA智库百科(https://wiki.mbalib.com/)
目錄 |
軟體性能測試作為軟體質量保證必不可少的環節,指的是軟體系統或構件對於其及時性要求符合程度的指標;它是一種規範,可以用來量化更改業務指標所產生的影響,進而說明部署軟體的風險。一般用響應時間、吞吐量每秒點擊數等參數指標進行衡量。
性能測試主要包括負載測試、壓力測試、併發測試、大數據量測試、穩定性測試和系統容量測試等技術。
(1)負載測試。負載測試是通過逐步增加系統負載的方式來測試系統性能的變化,最終確定在滿足性能指標的情況下系統所能承受的最大負載量的測試。
(2)壓力測試。壓力測試是通過逐步增加系統負載的方式來測試系統性能的變化,最終確定在什麼負載條件下系統性能處於失效狀態,並以此來獲得系統能提供的最大服務級別的測試。
(3)併發測試。併發測試的過程是負載測試和壓力測試相結合的過程,通過逐漸增加併發用戶數負載來確定系統的瓶頸或者不能接受的性能點的測試。
(4)大數據量測試。大數據量測試是為了檢驗系統存在較大數據量時,系統的性能是否有明顯的下降。大數據量測試包括獨立的數據量測試和綜合數據量測試2類,主要針對系統存儲、數據傳輸、統計查詢等業務進行測試。
(5)穩定性測試。穩定性測試是檢驗系統長時間穩定運行能力的測試。通過對系統載入一定的壓力並持續運行一段時間,考查系統各性能指標在這種壓力下是否能保持正常數值,事務響應時間是否會出現波動或隨測試時間增漲而增加,以及系統的資源占用情況是否合理來判斷系統的穩定性。
(6)系統容量測試。容量測試是檢驗軟體系統在極限值狀態下是否出現任何軟體故障或能否保持主要功能正常運行的測試。通過容量測試,可以確定測試對象在給定時間內能夠持續處理的最大負載或工作量。
1.測試方法設計
在軟體性能測試的初始階段,首先應對業務模型和系統架構進行調研,收集測試需求。然後生成性能測試計劃。業務調研和系統調研,需要性能測試團隊提前瞭解被測試項目的業務功能和系統架構。其間,開發部門應協助提供
被測系統相關的文檔和說明,如系統總體介紹、系統規格書、用戶使用手冊、網路拓撲結構圖和系統配置說明、關鍵伺服器及應用部署與配置等文檔通過和業務部門協商明確本次測試針對哪些業務行為,制定此次測試的目標,細化測試的關註點和性能指標要求。通過以上內容制定詳細的測試方案,並制定詳細測試計劃和各階段目標。
2.測試環境的搭建
測試環境的搭建分為軟硬測試系統的環境搭建和測試相關的數據準備工作。環境搭建包括被測試系統的硬體環境建立和軟體應用系統建立及基礎數據環境建立。保障被測試系統的業務可用性和功能的正確性,包括測試系統(如被測試項目的操作系統、中間件、資料庫、壓力測試控制台、壓力測試發起工具等)的環境搭建、軟體的安裝I測試環境的網路環境建立(如開放防火牆和網關等);最後進行測試環境可用性驗證。測試數據準備包括測試應用系統基礎數據準備,即需要按性能測試規模要求,準備足夠的、一定規模的基礎數據,通常採用全量恢復生產數據的方式以達到和生產環境數據一致性的要求。
3.測試場景開發
測試場景開髮指測試程式(腳本)的開發。測試程式(腳本)的開發是對被測系統的用戶業務行為進行模擬、錄製、編程、參數化、腳本定製和調式等一系列工作,以使測試程式(腳本)可以真實模擬實際生產中的業務交易行為,並通過對程式中參數的配置實現對併發數、思考時間等屬性的準確控制。
4.測試執行
測試執行是在測試方案的制定、測試環境準備、測試場景開發工作正確完成的基礎上進行的。
5.測試報告和分析
性能測試報告和結果分析是在測試執行完成以後,對性能數據進行採集結果收集工作和針對性能測試過程中暴露的問題進行分析的階段。性能測試報告是對性能測試過程中的監控結果以及報表進行彙總,按照一定的模板整理出的一份結論性文檔。開發團隊和性能測試團隊應依據對性能測試實施過程中監控和記錄的數據和表格,分析系統中存在的性能問題和程式缺陷。並有針對性的在報告中闡述問題、分析原因、提出解決或優化方案。
6.回歸測試
回歸測試是開發部門在性能測試報告的基礎上針對軟體的性能或者效率缺陷進行優化或者修複,為了驗證優化的效果而進行的再測試。