性能測試從零開始——LoadRunner入門(六)[5] 性能測試工具
1.3.4 Execution(執行)
本步驟的開始時間:軟件測試執行階段
本步驟的輸入:場景、交易、虛擬用戶等設置信息
本步驟的輸出:測試報告
執行測試包含兩個工作:
1.準備測試環境、數據和腳本
測試環境:硬件平臺和軟件平臺。
測試數據:包括初始測試數據和測試用例數據兩部分。表現為SQL腳本、Excel文件等。
提示:測試環境直接影響測試效果,所有的測試結果都是在一定軟硬件環境約束下的結果,測試環境不同,測試結果可能會有所不同。需要注意:如果是完全真實的應用運行環境,要盡可能降低測試對現有業務的影響;如果是建立近似的真實環境,要首先達到服務器、數據庫以及中間件的真實,并且要具備一定的數據量,客戶端可以次要考慮。實施負載壓力測試時,需要運行系統相關業務,這時需要一些數據支持才可運行業務,這部分數據即為初始測試數據。有時為了模擬不同的虛擬用戶的真實負載,需要將一部分業務數據參數化,這部分數據為測試用例數據。
測試腳本:用性能測試工具生成腳本。
2.運行場景和監控性能
運行性能測試場景,并監控設定好的數據指標,最終生成測試報告。按照定義好的場景pass/fail標準來判斷性能測試是否通過。如果未能通過,進入步驟5(Adjust)。
1.3.5 Adjust(調整)
本步驟的開始時間:第一輪性能測試結束后,而且沒有通過的條件下
本步驟的輸入:測試報告和測試結果數據
本步驟的輸出:性能問題解決方案
調整包含兩個意思:應用程序修改和中間件調優。
中間件調優可考慮如下因素操作系統調優:
數據庫調優;
內存升級;
CPU數量;
代碼調優;
Cache調優。
提示:解決一個性能瓶頸,往往又會出現另外的瓶頸或者其他問題,所以性能優化更加切實的目標是做到在一定范圍內使系統的各項資源使用趨向合理和保持一定的平衡。軟件測試
系統運行良好的時候恰恰也是各項資源達到了一個平衡體,任何一項資源的過度使用都會造成平衡體系破壞,從而造成系統負載極高或者響應遲緩。比如CPU過度使用會造成大量進程等待CPU資源,系統響應變慢,等待會造成進程數增加,進程增加又會造成內存使用增加,內存耗盡又會造成虛擬內存使用,使用虛擬內存又會造成磁盤IO增加和CPU開銷增加(用于進程切換、缺頁處理的CPU開銷)。
從以上內容可以看出,目前GAME(A)模型有兩個優勢:第一,靈活,每個過程都有自己的關注點,可以根據不同的項目特點增加或刪除關注點;第二,通用,不依賴于具體的工具。目前GAME(A)關注性能測試技術,比較簡單,將來可以進行擴展,同樣使用GAME(A)模型關注性能測試的時間、人力等資源問題。
原文轉自:http://www.anti-gravitydesign.com