負載測試(Load testing)绪抛、壓力測試(Stress Test资铡,應(yīng)稱為強度測試)和性能測試,這三個概念常常引起混淆幢码,難以區(qū)分笤休,從而造成不正確的理解和錯誤的使用
目前對性能測試沒有明確的定義
一般地,它主要是針對系統(tǒng)的性能指標(biāo)制定性能測試方案症副,執(zhí)行測試用例店雅,得出測試結(jié)果來驗證系統(tǒng)的性能指標(biāo)是否滿足既定值
性能指標(biāo):可能包括系統(tǒng)各個方面的能力,如系統(tǒng)并發(fā)處理能力贞铣,批量業(yè)務(wù)處理能力等
負載測試闹啦、壓力測試和性能測試的測試目的不同,但其手段和方法在一定程度上比較相似辕坝,通常會使用相同的測試環(huán)境和測試工具窍奋,而且都會監(jiān)控系統(tǒng)所占用資源的情況以及其它相應(yīng)的性能指標(biāo),這也是造成人們?nèi)菀桩a(chǎn)生概念混淆的主要原因
我們知道,軟件總是運行在一定的環(huán)境下琳袄,這種環(huán)境包括支撐軟件運行的軟硬件環(huán)境和影響軟件運行的外部條件江场。為了讓客戶使用軟件系統(tǒng)感到滿意,必須確保系統(tǒng) 運行良好窖逗,達到高安全址否、高可靠和高性能。其中碎紊,系統(tǒng)是否具有高性能的運行特征佑附,不僅取決于系統(tǒng)本身的設(shè)計和程序算法,而且取決于系統(tǒng)的運行環(huán)境仗考。系統(tǒng)的運 行環(huán)境會依賴于一些關(guān)鍵因素
例如:
1音同、系統(tǒng)架構(gòu),如分布式服務(wù)器集群還是集中式主機系統(tǒng)等
2秃嗜、硬件配置瘟斜,如服務(wù)器的配置,CPU痪寻、內(nèi)存等配置越高,系統(tǒng)的性能會越好
3虽惭、網(wǎng)絡(luò)帶寬橡类,隨著帶寬的提高,客戶端訪問服務(wù)器的速度會有較大的改善
4芽唇、支撐軟件的選定顾画,如選定不同的數(shù)據(jù)庫管理系統(tǒng)(Oracle、MySQL等)和web應(yīng)用服務(wù)器(Tomcat匆笤、GlassFish研侣、Jboss、WebLogic等)炮捧,對應(yīng)用系統(tǒng)的性能都有影響
5庶诡、外部負載,同時有多少個用戶連接咆课、用戶上載文件大小末誓、數(shù)據(jù)庫中的記錄數(shù)等都會對系統(tǒng)的性能有影響。一般來說书蚪,系統(tǒng)負載越大喇澡,系統(tǒng)的性能會降低
從上面可以看出,使系統(tǒng)的性能達到一個最好的狀態(tài)殊校,不僅通過對處在特定環(huán)境下的系統(tǒng)進行測試以完成相關(guān)的驗證晴玖,而且往往要根據(jù)測試的結(jié)果,對系統(tǒng)的設(shè)計、代碼和配置等進行調(diào)整呕屎,提高系統(tǒng)的性能让簿。許多時候,系統(tǒng)性能的改善是測試榨惰、調(diào)整拜英、再測試、再調(diào)整琅催、……一個持續(xù)改進的過程居凶,這就是經(jīng)常說的性能調(diào)優(yōu) (perormance tuning)