在進行性能測試之前,測試目標的明確是非常重要的。在一般軟件的測試流程中,測試人員需要首先收集軟件需求,閱讀并理解業務需求,并且將業務需求轉換為測試目標。對于性能測試來說,非常重要的一個需求文檔就是 NFR(Non-Functional Requirements)。NFR 描述了除功能性需求以外的其他需求,包括性能需求,系統安全性、可用性以及可擴展性的需求。在 NFR 中,對于性能需求定義了關鍵的性能指標 KPI(Key Performance Indicator, 關鍵性能指標),能夠幫助性能測試人員更好地去理解性能需求。在軟件開發周期中不同的階段,性能測試的目標也不完全相同。尤其對于基于 SOA 的應用程序,在開發早期并沒有性能基準時,測試的目標與已有基準時有著很大的不同,因此測試目標根據是否已有性能基準而不同:
有基準:性能測試的目標更多地是通過測試以獲得合理的基準測試結果,用來作為與以后應用改變后性能測試結果比較的基準。
無基準:此時的性能測試目標是通過測試保證應用能夠在一定測試環境下滿足已定義的性能能力。
在 NFR 文檔中定義了一些關鍵性能指標,這些性能指標能夠幫助測試人員檢測應用程序是否能夠滿足性能需求。下面將介紹幾個比較重要且常見的在 NFR 中定義的關鍵性能指標:
響應時間(Response time)
響應時間定義為從發送事務請求到收到該事務請求回應的時間間隔。響應時間的需求定義并不是一個固定的數值,這是因為對于一個 SOA 應用程序,事務的復雜程度以及使用頻率是完全不同的,如果要求所有事務的響應時間都達到同一指標,這是非常不合理的。因此需要對不同復雜程度和不同使用頻率的事務定義相應的響應時間需求。下面為響應時間需求的實例:
表 1. 響應時間需求
吞吐量(Throughput)
吞吐量被定義為在單位時間內應用服務器能夠處理的事務數量。對應用程序的吞吐量的測試能夠檢測應用程序在單位時間內處理事務的能力,當然前提條件是在一定的測試硬件環境下,因為眾所周知硬件環境對性能測試的結果影響是很大的。在一個 SOA 應用程序中可能包括了實時處理的事物和批量處理的事務,而對于這兩種不同處理方式的事務,吞吐量的需求也不同,因而往往對不同的事務分別定義吞吐量指標。吞吐量單位則為 TPS (transactions per second),或 TPM (transactions per minute)。
靜態容量(Static Volumetric)
Static Volumetric 定義了應用程序中包括并發用戶數,區域數,賬戶數等重要數據量。其中比較重要的并發用戶數則決定了性能測試中使用的負載量,這對性能測試來說非常重要,只有負載量達到了并發用戶數才使性能測試的結果更具有真實性。同時 Static Volumetric 定義的數據量能幫助測試人員明確地知道在測試前需要準備的鋪底數據量,這樣使性能測試是在更具真實性的測試環境下進行。
文章來源于領測軟件測試網 http://www.kjueaiud.com/