并發測試(concurrency testing)(圖 5)剖析了當多個用戶同時訪問同一段應用代碼、同一個模塊或者數據庫紀錄時的效果。它鑒別并度量了系統加鎖和死鎖的級別以及系統中單線程代碼和加鎖信號的使用。從技術角度講,并發測試可以歸為一種功能測試,不過它常常和可伸縮性/負載測試配合使用,因為它需要多用個戶或者虛擬用戶來驅動系統。
圖 5:并發測試能夠識別死鎖和其他并發訪問問題
壓力測試(stress testing)(圖 6)在系統達到飽和(指資源如 CPU、內存耗盡等情況)時來測試系統以判斷其行為是否發生變更,或者是否會對系統、應用程序和數據產生不利影響。容量測試(volume testing)是和壓力測試及可伸縮性測試相關聯的,它可以確定整個系統能夠處理的事務容量。通過壓力和容量測試能夠知道系統分別在處理突發的訪問量增加或進行持續的大容量活動時所具有的彈性,這不包括那些因為內存泄漏或者隊列溢出所引發的失敗。
圖 6:壓力測試能夠確定高容量使用時的效應
一旦應用環境開始工作并進行了性能優化,可以在 75%到 90%的環境利用率下進行一項長期可靠性測試(reliability testing),用來發現任何與較長的運行時間有關的問題。在應用了冗余和負載平衡的環境中,失敗轉移測試(failover testing)(圖 7)分析理論上的失敗過程并測試和測量總體失敗轉移進程及其對終端用戶的影響。本質上,失敗轉移測試回答了這樣一個問題:"如果一個特定的組件運行失敗,用戶還可不可以在最小的中斷下繼續進行訪問和處理?"
圖 7:失敗轉移測試:如果組件X失敗,那么將發生什么情況呢?