這真不是您需要的服務?
負載測試 load testing
用于評估系統與軟件在預期變化負載下的性能表現,負載通常位于低谷、典型和高峰使用的預期條件之間。
注:性能效率測試的一種。
壓力測試stress testing
用干評估系統與軟件在高干預期或指定容量負載需求,或低于最少需求資源的條件下的性能表現。
注:性能效率測試的一種。
峰值測試spike testing
用于評估系統與軟件在短時間內負載大幅度超出通常負載時的性能表現。注:性能效率測試的一種。
擴展性測試scalability testing
用干評估系統與軟件適應外部性能需求變化(如用戶負載支持、事務數量、數據量等)的性能表現。
注:性能效率測試的一種。
容積測試volume testing
用于評估系統與軟件在吞吐量、存儲容量或兩者兼考慮的情況下處理指定數據量(通常達到最大指定容量或接近最大值)的能力。
注:性能效率測試的一種。
疲勞強度測試endurance testing
用于評估系統與軟件在指定的時間段內,能夠持續維持所需的負載的能力。
注:性能效率測試的一種。
一、性能測試過程
性能測試過程包括性能測試需求分析、性能測試設計和實現、性能測試執行和性能測試總結四個過程。
1.性能測試需求分析
性能測試需求分析包括下列活動:
a)確定性能測試的準入準則,在系統構架確定后或冒煙測試通過后執行,測試介入越早越好。
b)確定待測系統與軟件的性能需求。性能需求可來自合同、需求規格說明等文檔中所明示的需求,或者由業務、數據、預期的用戶和系統行為約定的隱含需求。性能需求宜依據性能需求模型來確定。
c)識別待測系統與軟件相關的其他外部應用。
d)確定性能測試完成或終止準則。
2.性能測試設計和實現
性能測試設計和實現過程用于導出測試用例和測試規程,相關的活動包括:
a) 確定所需監測的指標、業務場景、被測業務的用戶角色分布。
b) 確定采用的性能測試類刑。
c)依據歷史運行情況或實際運行環境設計測試數據生成和讀取規則。測試數據包括為待測系統
與軟件準備的基礎數據,以及運行所需要的數據。數據量應與測試環境的配置相適應或與未來擴展數據量一致,在實際環境中數據量應與實際規模相一致;在模擬環境中宜等比對數據規模進行調整。
d)確定負載生成方式,可采用工具或人工的方式加壓。應根據制定的測試方案布置各測試場景,包括并發用戶數執行時長以及需要監視的性能指標等。
e)針對所需測試的業務邏輯設計測試用例。
f)依據需求或實際運行環境確定測試用例順序。
g)開發測試腳本。通過腳本對待測系統與軟件的用戶業務行為進行模擬,腳本的開發可采用錄制、編寫或定制開發等方式。完成測試腳本開發后,應進行功能驗證,確保測試腳本已完成用戶業務行為。
h) 確定暫停和恢復準則:
1) 暫停準則可包括:
--系統不可用;
--由于不確定原因導致服務器宕機或必要服務停止運行;
--應用程序在打開狀態下具有阻塞程序/嚴重缺陷;
--所需的依賴項不可用。
2)恢復準則可包括:
--系統和/或服務器可用,啟動并運行;
--解決阻塞和/或關鍵問題;
--應用程序功能已恢復;
---測試數據處理周期未完成時的恢復程度。
3.性能測試執行
性能測試執行過程包括下列活動:
a)執行前就緒檢查,對性能測試所需環境和資源進行評估。
b)由人工或利用測試工具執行測試腳本,并監控執行過程中的性能指標,記錄測試結果。
c)能測試通常需考察待測系統與軟件在一段時間范圍內的綜合表現,按需取平均值、最大值或最小值作為測試結果。
d)若性能測試異常終止或不滿足需求或預期,填寫性能問題報告單。問題報告單應包括問題來源、場景配置、問題描述、問題等級等內容。
e)判斷所執行的測試用例是否通過。如果測試不通過,分析具體情況,確定是由軟件本身性能瓶頸所引起的,還是由測試環境所引起的。
二、性能測試需求模型
性能測試需求模型應考慮環境、數據、業務流程、用戶分布、請求時序分布和網絡狀態等因素,
1.環境需求
針對不同質量要求,應考慮測試環境對性能測試的影響,推薦使用系統或軟件的實際生產環境作為性能測試環境。在進行性能測試環境規劃和設計時,應考慮以下因素:
a)穩定性:在相同條件下的多輪次測試結果應保持一致,或在可接受誤差范圍內;
b)獨立性:為避免測試結果失真,測試環境應與其他在用系統或軟件保持相互隔離;
c)可控制性:測試環境中的所有設備和資源應可被監控或控制。
2.性能測試環境考慮因素包括:
a)硬件配置:包括需使用的計算機、服務器、磁盤陣列或其他專用設備,考慮上述硬件資源的型號、數量、部署邏輯、通信和連接狀態等;
b)軟件配置:包括需使用的操作系統、中間件、數據庫、性能測試工具或其他專用軟件,考慮前述軟件資源的版本、補丁等;
c)網絡配置:包括需使用的交換機、路由器、集線器或其他專用網絡設備,考慮前述網絡資源的組網方式、傳輸速率和延遲特性等。
當現有條件無法支撐測試環境構建時,應最大化利用現有資源進行測試環境構建,并分析測試環境和生產環境的差異性,如不同的軟硬件或網絡設備可能帶來的性能增益或損耗。
3.數據需求
性能測試所需的數據包含如下需求:
a)數據的類型和業務需求相匹配。
b)數據量和業務需求相匹配。
c)數據分布模型和業務需求相匹配。應通過收集歷史數據,確定數據需求。
d)進行數據需求分析時,考慮數據的使用限制和重用性,制定數據讀取策略和備份策略,當進行性能擴展性測試時,應根據實際情況加大數據量。
4.業務流程
性能測試應首先考慮測試主要或重要的業務流程,不同的業務流程對系統產生的壓力不同。在業務流程選擇時應基于風險評估考慮如下因素:
a)資源的占用情況;
b)業務使用頻率;
c)業務的重要性。