測試環境搭建
在進行性能則試前,需要完成性能測試的搭建工作,一般包括硬件環境、軟件環境及網絡環境,可以要求配置和開發工程師協助完成,但是作為一個優秀性能測試工程師,這也是你的必備技能之一。
性能測試環境與功能測試環境的區別
性能測試環境與功能測試環境有什么不同呢?性能測試對測試環境的干凈、獨立性要求更高、更為嚴格。對於一個相對規范的公司,都會建立其獨立的研發環境,測試環境,線網環境(最終運行的環境)
再回到測試環境的問題上,對於一些企業為了節約資源,進行功能測試的測試環境,一台服務器可以運行多個系統,通過技術手段可以使系統之間是不會相互影響的(一台服務器上跑多個tomcat)。因為功能測試的重點大於系統對客戶端發來的請求是否可以進行正確的處理。
那么性能測試為什么對系統的環境要求干凈、獨立呢?性能測試是要對整個系統運行的軟件硬件環境進行測試的,如果某環境下運行多個系統,就很難判斷其中的某個環境對資源的占用情況。
如何保證測試環境與真實生產的一致性
保證性能測試與真實生產環境的一致性,具體從以下三個方面來看:
1、硬件環境,包括服務器環境、與網絡環境
如服務器的型號以及是否和其它應用程序共享此服務器,是否在集群環境下,是否通過BIGIP進行負載均衡,客戶使用的硬件配置情況,使用的交換機型號,網絡傳輸速率。
2、軟件環境
版本一致性
包括包括操作系統、數據庫、中間件的版本,被測系統的版本。
配置一致性
系統(操作系統/數據庫/中間件/被測試系統)參數的配置一致,這些系統參數的配置有可能對系統造成巨大的影響。所以,除了保證測試環境與真實環境所使用的軟件版本一致,也要關注其參數的配置是否一致。
3、使用場景的一致性
基礎數據的一致性
包括預測的業務數據量,以及數據類型的分配。很簡單的一個列子,一個系統的數據庫只有10條數據和一條數據庫里幾千萬條數據,我們在對其進行性能測試時,得到的性能指標可能會有非常大的差別。
為了保證每次測試環境的更加一致性,磁盤的使用情況以及磁盤的碎片情況也會或多或少的影響的性能。
使用模式的一致性
盡量模擬真實場景下用戶的使用情況,其實,我們在做性能測試前期的需求分析,其主要目的也就是為了更真實的模擬用戶的使用情況。