性能測試用例選擇的原則:
a. 重要的(業務上)
b. 重複的(最常用的模塊)
重量級的(消耗大量系統資源的)
1、具體性能指標分為幾類:
a. 系統容量(數據容量、用戶量、並發用戶量),
b. 系統並發度指標(註冊用戶、在線用戶、並發用戶),
c. 響應度指標(正常壓力下響應能力、峰值壓力下的響應能力,以及異常壓力下的響應能力)
2、理解整個系統及其實現之後,再列出自己分析得到的性能需求點。
3、詢問客戶的具體性能需求,共同分析,是否測試,測試的優先級。
4、寫出性能測試計劃和用例,並要得到客戶認可。
下面列出了一些性能要求的測試點:
1) 查詢2) 保存3) 統計4) 刷新5) 顯示6) 傳輸7) 響應8) 下載
打開網絡上其它介質上的文件時,可製造網絡擁擠情況下的文件打開操作。
主要測試點,集中在幾個點上。
一是:數據量小的時候主要的查詢統計刷新等功能點;
二是:數據量積累到一定程度時的查詢統計刷新時間,這裡的一定程度是根據實際的項目和客戶需求來定的。
性能測試分為基本性能測試和高級性能測試
基本性能測試
主要內容包括:安全可靠性、資源佔用率測試、兼容性、易用性、用戶文檔、效率、可擴充性。
(1)安全可靠性測試
序號 測試項目 描述 測試結果
1 用戶權限限制 考察隊不同的用戶權限限制情況 符合/基本符合/不符合
2 用戶和密碼封閉性 對於相應用戶和密碼進行次數限制 符合/基本符合/不符合
3 屏蔽用戶操作錯誤 考察對用戶常見的操作錯誤的提示和屏蔽情況 符合/基本符合/不符合
4 錯誤提示的準確性 對用戶的錯誤提示的準確程度 符合/基本符合/不符合
5 錯誤是否導致系統異常退出 有無操作錯誤引起系統異常退出的情況 符合/基本符合/不符合
6 數據備份與恢復手段 系統是否提供備份及恢復功能,備份手段如何,是否對備份數據加密、壓縮 符合/基本符合/不符合
7 輸入數據有效性檢查 系統對數據錄入的有效性檢查 符合/基本符合/不符合
8 留痕功能 系統是否有操作日誌,操作日誌記錄的操作情況的全面性和準確性,是否包括主要要素,如操作員、操作日期、使用模塊等 符合/基本符合/不符合
9 異常情況的影響 在程序運行過程中,進行掉電實驗,考察數據和系統的受影響程度,若受損,是否提供補救工具,補救的情況如何 符合/基本符合/不符合
10 數據傳輸安全性 對有特殊安全要求的數據傳輸,應對傳輸的數據進行必要的加密處理,使用的算法應符合國家規定 符合/基本符合/不符合
(2)資源佔用率測試
序號 測試項目 描述 測試結果
1 軟體安裝所佔用硬碟空間 考察軟體安裝所佔用硬碟空間 符合/基本符合/不符合
2 模塊裝載後內存佔用量(包括虛存) 考察模塊裝載後內存佔用量(包括虛存) 符合/基本符合/不符合
3 模塊卸載後內存釋放率(包括虛存) 考察模塊卸載後內存釋放率(包括虛存) 符合/基本符合/不符合
(3)兼容性測試
序號 測試項目 描述 測試結果
1 軟體兼容性 軟體測試適用平臺 符合/基本符合/不符合
2 硬體兼容性 硬體平臺的配置要求 符合/基本符合/不符合
(4)易用性測試
序號 測試項目 描述 測試結果
1 易安裝性 安裝的難易程度,符合流行安裝模式 符合/基本符合/不符合
2 用戶界面的友好性 界面的簡潔性如何 符合/基本符合/不符合 3 易學性 相對一般操作人員來說,學習使用的難度如何,對操作人員有何要求符合/基本符合/不符合 4 易操作性 操作的難易程度 符合/基本符合/不符合 5 聯機幫助豐富性 考察聯機幫助的準確性、全面性、在關鍵操作時使用聯機幫助的方便性 符合/基本符合/不符合
(5)用戶文檔測試
序號 測試項目 描述 測試結果
1 用戶手冊的完整程度 用戶手冊內容的全面性、完整性 符合/基本符合/不符合 2 用戶手冊的描述與軟體實際功能的一致性 手冊與軟體實際功能的一致程度 符合/基本符合/不符合
3 用戶手冊的易理解程度 用戶手冊對關鍵重要的操作有無圖文說明,例圖的易理解性如何
符合/基本符合/不符合
4 用戶手冊的印刷與包裝質量 用戶手冊包裝的商品化程度印刷質量 符合/基本符合/不符合
5 用戶手冊提供的學習操作實例 對主要功能和關鍵操作提供的應用實例有多少,實例的詳細程度如何 符合/基本符合/不符合
(6)效率測試
序號 測試項目 描述 測試結果
1 通信效率 網絡負載、吞吐率、利用率、響應時間、延遲等 符合/基本符合/不符合
2 設備效率 CPU佔用率、內存佔用率、磁碟佔用率、輸入輸出效率等,包括軟體在不工作狀態下對於硬體資源的佔用情況和進行業務處理過程中對於硬體資源的佔用情況 符合/基本符合/不符合
3 執行效率 典型業務操作的執行效率,例如關鍵的查詢、統計等的響應時間等 符合/基本符合/不符合
(7)可擴充性測試
序號 測試項目 描述 測試結果
1 與異種數據接口 有無與其它數據的接口 符合/基本符合/不符合
2 是否能擴充功能模塊 能否根據用戶要求擴充功能模塊 符合/基本符合/不符合
高級性能測試
主要內容包括:並發性能、系統資源監控、大數據量、速度、疲勞等內容,重點是並發性能測試。
(1)並發性能
並發測試的過程,是一個負載測試和壓力測試的過程。即逐漸增加負載,直到系統的瓶頸或者不能接收的性能點,通過綜合分析交易執行指標和資源監控指標來確定系統並發性能的過程。
並發性能測試及系統資源監控使用自動化負載測試工具及監控工具。
測試案例:例如:中間件應能滿足一定數量的前臺客戶端同時辦公的需要。
測試內容與監控指標:
★ 負載壓力測試;
★ 模擬不同數量並發用戶測試。
模擬不同數量並發用戶執行關鍵業務,測試至系統能夠承受的最大並發用戶數。
主要監控指標如下:
每分鐘事務處理數(Transaction Rate):不同負載下每分鐘成功完成的事務處理數;響應時間(Response Time):伺服器對每個應用請求的處理時間,單位:秒,該項指標反映了系統事務處理的性能,具體包括以下幾項參數:
- Min:最小的伺服器響應時間;
- Mean:平均的伺服器響應時間;
- Max:最大的伺服器響應時間;
- StdDev:事務處理伺服器響應的偏差,值越大,偏差越大;
- Median:中值響應時間;
- 90%:90%事務處理的伺服器響應時間
- 虛擬並發用戶數(Total Virtual Users):測試工具模擬的用戶並發數量。
(2) 系統資源監控
在進行負載壓力測試的同時,用測試工具對資料庫伺服器、Web伺服器、應用伺服器、認證及授權伺服器上的作業系統、資料庫以及中間件等資源進行監控。
監控系統資源指標,在測試中,根據測試需求以及測試環境的變化,選取有意義的數據進行分析。
(3)大數據量
測試案例:例如:考慮系統未來發展需要的存儲空間,添加大數據量測試。
測試內容:
主要包括兩方面內容:
一是:單獨的數據量測試;
二是:與並發性能測試相結合的綜合測試。
測試數據的準備藉助於測試數據管理與生成工具,例如FileAid。
(4)速度
測試案例:例如:磁碟訪問速度、備份速度以及網絡辦公系統運行速度等。
測試內容:
主要是人工測試。
(5)疲勞測試
通常是採用系統穩定運行情況下能夠支持的最大並發用戶數,持續執行一段時間業務,通過綜合分析交易執行指標和資源監控指標來確定系統處理最大工作量強度性能的過程。
性能測試指標一般有2種形式描述:產品需求指標和系統的性能指標。
1.產品需求指標
★ 給出產品性能的主要指標,如在100000記錄中查詢一個特定數據的時間為0.5秒;
★ 以某個已發布的版本為基線,如比上一個版本的性能提高30-50%;
★ 和競爭對手的同類產品比較。
2. 系統的性能指標
★ CPU利用率;
★ 內存佔用率;
★ 磁碟I/O ;
★ 響應時間。
性能測試的方法
性能測試的策略
性能測試策略一般從需求設計階段開始討論制定,策略的內容決定著性能測試工作投入多少資源、什麼時間開始實施等後繼工作如何安排。制定性能測試的策略的因素:
1.預期的指標性能的因素
系統在需求分析、設計階段和產品說明書等文檔中明確的提出都性能指標,這些指標是性能測試要完成的工作。
2. 獨立業務性能測試的因素
獨立業務主要是指軟體產品的模塊具有獨立業務功能,在需求階段就可以確定,要單獨測試其性能。
3. 業務性能組合測試的因素
應用類軟體系統通常不會使所有的用戶只使用一個或者幾個核心業務模塊,可能是對多個業務進行組合使用,對多個業務進行組合性能測試。由於組合業務測試是最能反映用戶使用系統情況,因而業務性能組合測試是測試的核心內容。
4. 疲勞強度性能測試
疲勞強度測試是在系統穩定運行下模擬較大的用戶數量、並長時間運行系統的測試,通過綜合分析執行指標和資源監控來確定系統處理最大業務量時的性能,主要目的是為了測試系統的穩定性。
5. 大數據量性能測試的因素
大數據量測試是為了測試系統的業務處理能力進行的。
大數據量測試第一種是針對某些系統存儲、傳輸、統計查詢等業務進行大數據量的測試,主要是測試數據增多時的性能情況,第二種是極限狀態下的數據測試,主要是指系統數據量達到一定程度時,通過性能測試來評估系統的響應情況,測試的對象也是某些核心業務或者日常常用的組合業務。
6. 網絡性能測試的因素
網絡性能測試主要是為了準確展示帶寬、延遲、吞吐量、負載、瓶頸和埠的變化是如何影響用戶的響應時間的。重點測試吞吐量指標,因為80%的系統性能瓶頸由吞吐量造成。
性能測試的方法
性能測試方法主要有:能力驗證、規劃性能、性能調優、壓力加載、性能下降曲線分析。
1. 能力驗證
能力驗證強調:系統具備的硬體設備、軟體環境、網絡條件、基礎數據。能力驗證使用到可靠性測試、壓力測試、失效恢復測試 。
規劃性能
規劃性能關心的是要求系統具有的性能,強調系統配置,使系統能夠滿足增長的用戶數的需要等問題。規劃性能使用到負載測試、配置測試、壓力測試。
3. 性能調優
性能調優關心的是要求系統確定基準環境、基準負載和基準性能指標;調整系統運行環境和實現方法;記錄測試結果、進行測試分析。
4. 壓力加載
壓力加載強調:
★ 穩定壓力加載。一次性將負載加到某個水平,持續一段時間;
★ 逐漸加載或交替加載到某個負載水平;
★ 峰谷測試。確定從系統尖峰時間的負載轉為幾乎空閒、再攀升到高負載這樣峰值交替情況下的系統性能狀態/指標。
5. 性能下降曲線分析
性能下降曲線分析 關心的是性能隨著用戶數的增加而出現下降趨勢的曲線分析、查看性能下降的環境點與上下文。確定性能閥值。性能曲線通過單用戶區域、性能平坦區域、壓力區域、性能拐點進行監控和分析。
●作者李龍,山東織雀信息科技有限公司負責人,織雀教育首席講師,中國民主同盟盟員,北京人文大學雲測學院院長、高工,國內軟體測試「川模型」的提出者,全國大學生軟體測試大賽評審委員會專家,致力於軟體測試人才培養
(配圖來源於網絡,如有侵權請聯繫作者刪除)