一、負載壓力測試概述
系統的負載壓力是指系統在某種指定軟件、硬件以及網絡環境下承受的流量,包括并發用戶數、持續運行時間、數據流量等等,其中并發用戶數是負載壓力中比較重要的指標。
負載壓力測試基礎概念
負載壓力測試是指在一定約束條件下測試系統所能承受的并發用戶量、運行時間、數據量,以確定系統所能承受的最大負載壓力。例如當一個系統在少量用戶同時使用時,系統能夠正常運行,但當有大量用戶同時使用,可能會出現功能失效、性能衰退,甚至系統崩潰的現象。
負載壓力測試是性能測試的重要組成部分,它包括并發性能測試、疲勞強度測試、大數據量測試等內容。
二、負載壓力測試監理工作重點
負載壓力測試實施主要包括:測試計劃,測試需求分析,測試案例制定,測試環境、工具及數據準備,測試腳本錄制、編寫與調試,場景制定、測試執行、獲取測試結果、結果評估與測試報告等步驟。下面將按照測試實施的步驟詳細論述各步驟監理的工作重點。
● 測試計劃
制定一個全面的測試計劃是負載測試成功的關鍵,一個明確、清晰的測試計劃將確保制定的方案能夠完成負載壓力測試的預定目標。監理工程師在審查測試計劃時,需要注意以下幾點;
1)測試計劃中所制定的目標是否具有可度量性
測試計劃中除了確定負載壓力測試的一般性目標,還應以可度量指標制定更加具體的測試目標,并明確的區分可接受和不可接受的測試結果的標準。例如,一個明確的測試目標可以是最終用戶的響應時間等指標。
2)測試計劃中的指標是否符合合同、初步設計或其他相關文件的要求
監理工程師在審查測試計劃時,不僅要考慮測試目標的可度量性,還要考慮測試計劃中提到的指標是否符合合同、初步設計或其他相關文件的要求。如果承建單位提交的指標與其不符,則需要監督其整改,直至符合要求。
● 測試需求分析
監理工程師在審查測試計劃時,應依據前期在項目實施過程中了解到的相關資料,判斷承建單位提交的測試需求是否合理。在判斷過程中,監理工程師在了解80-20等原理的基礎上,判斷承建單位制定的指標是否符合項目的實際情況,是否能夠滿足項目的實際需要。
● 測試案例制定
監理工程師在審查測試案例時,應關注測試案例的各項內容,包括案例名稱、案例描述、并發用戶數、網絡環境、場景、測試指標等。
1)案例描述中應明確在本案例測試過程中,必須的操作步驟;
2)并發用戶數應清晰描述初始用戶數、用戶增長模式、運行時間、停止模式、考慮思考時間等內容;
3)測試指標中應為可度量的指標。例如:事務平均響應時間小于5秒,事務通過率大于95%,CPU使用率低于60%,內存使用率低于70%等。
● 測試環境、工具、數據準備
監理工程師在本環節,需要注意承建單位搭建的測試環境與真實使用環境的區別,注意承建單位初始測試數據的準備情況。此外,某些特殊系統還需要考慮其在真實環境中的表現。例如,在測試殺毒軟件的掃描速度時,硬盤上布置的不同類型文件的比例要盡量接近真實環境,這樣測試出來的結果才具有實際意義。
● 測試腳本
目前,很多軟件開發項目都是一個比較龐大的系統工程,它由多個子系統構成。一般來說,各子系統分別由不同的承建單位開發,在測試過程中可能需要與其它系統發生交互,所以,監理工程師需要提醒、監督承建單位,測試腳本的錄制、編寫及調試工作,不僅僅要考慮到自身系統,還要考慮到相關的其他系統。例如,很多應用系統的負載壓力測試的測試步驟就需要通過身份認證,這就需要承建單位及時與身份認證系統開發商溝通,共同做好腳本。
● 測試執行
測試執行時,監理工程師應在現場旁站,及時記錄測試中發現的問題,并與已經通過審核的測試計劃、測試用例進行比較,確定系統是否實現預計的測試目標。
● 結果評估與測試報告
測試完成后,監理工程師針對發現的問題,督促承建單位進行整改,并適時開展二次測試,直至其通過負載壓力測試并出具測試報告。然后,監理工程師、業主單位代表、承建單位項目經理將在測試報告上簽字確認,并作為系統開展單項驗收工作的一個必備的前提條件整理、歸檔。
三、結束語
負載壓力測試作為系統性能測試的一個重要組成部分,有著十分重要的意義。它有助于確認被測系統是否能夠支持性能需求,以及預期的負載增長等。監理工程師通過審查測試計劃、測試案例、測試環境及腳本,旁站測試執行,對系統的性能進行質量把關,確保系統的建設能夠符合預期的建設目標,為最終的竣工驗收打下堅實的基礎。