簡而言之,對于不同階段的測試活動(dòng),總有一些缺陷是最適合被發(fā)現(xiàn)和修復(fù)的。對于功能性缺陷這點(diǎn)早已達(dá)成共識(shí),而對于性能性缺陷,由于性能測試本身起步較晚、性能問題比較難以暴露、早期用戶對性能問題容忍度比較高、商業(yè)性能測試工具價(jià)格昂貴等原因,很多時(shí)候可能根本不會(huì)進(jìn)行性能測試,或僅進(jìn)行比較簡單的性能測試,因此雖然性能性缺陷同樣有這個(gè)特性,但卻被人們遺忘了。簡單地列舉幾個(gè)在不同階段進(jìn)行性能測試的好處。
1.在運(yùn)行維護(hù)階段,系統(tǒng)已經(jīng)在穩(wěn)定地為用戶提供服務(wù)了,這時(shí)候還需要進(jìn)行性能測試嗎?需要。因?yàn)樯a(chǎn)系統(tǒng)可能會(huì)表現(xiàn)出疑似性能問題的癥狀,這時(shí)候性能測試是查找問題的有效手段,有助于為用戶提供更好的服務(wù);性能再好的系統(tǒng)也會(huì)有極限,當(dāng)用戶數(shù)不斷增長的時(shí)候,通過性能測試來評(píng)估系統(tǒng)的容量,以確定系統(tǒng)應(yīng)如何進(jìn)行擴(kuò)容或者需要更換新的架構(gòu),通常這稱之為容量評(píng)估。
2.異構(gòu)系統(tǒng)之間的接口,通常是先完成接口,而調(diào)用接口的系統(tǒng)可能過很久才會(huì)完成。當(dāng)然,可以等完成調(diào)用接口的系統(tǒng)后直接對該系統(tǒng)進(jìn)行測試,接口的性能自然被測試到了,但是萬一很不幸——性能測試結(jié)果不佳,再花費(fèi)一番力氣后終于確定是接口性能不佳,那可能就得大費(fèi)周折地重新寫接口了。更倒霉的是別的系統(tǒng)已經(jīng)在用新的接口了,而不巧的是新老接口又不兼容(比如差一個(gè)參數(shù)什么的),那代價(jià)可就大了;如果進(jìn)行過接口性能測試,問題早就發(fā)現(xiàn)并解決了,這時(shí)候真是想想都會(huì)笑了。
3.在單元性能測試中運(yùn)行一遍后就能發(fā)現(xiàn)的內(nèi)存泄漏問題,如果這個(gè)問題遺留到系統(tǒng)測試階段,可能需要花費(fèi)幾天的時(shí)間才能找到問題的所在,尤其是當(dāng)Dump 內(nèi)存信息后發(fā)現(xiàn)大量對象是到處都在使用的基本對象時(shí),欲哭無淚可能是性能優(yōu)化人員此時(shí)的真實(shí)寫照,這點(diǎn)筆者曾有幸體驗(yàn)過;而實(shí)際上運(yùn)行一遍單元測試的時(shí)間可能也就幾分鐘,此時(shí)發(fā)現(xiàn)問題極易解決。
4.越早開始性能調(diào)優(yōu),調(diào)優(yōu)工作就會(huì)越容易。當(dāng)組件小規(guī)模的集成后即可運(yùn)行并調(diào)優(yōu)時(shí),由于系統(tǒng)復(fù)雜度低,自然而然地性能調(diào)優(yōu)的難度會(huì)比較低。很顯然,性能調(diào)優(yōu)是以性能測試為基礎(chǔ)的,那么較早階段的性能測試就很有必要了。
從上面幾個(gè)階段,不難看出,性能測試和功能測試一樣貫穿于多個(gè)階段。基本上,各階段的性能測試包括以下幾種:單元性能測試、集成性能測試、系統(tǒng)性能測試、多系統(tǒng)性能測試、容量評(píng)估、接口性能測試。接下來看看這些不同階段的性能測試活動(dòng)到底做些什么。
本文內(nèi)容不用于商業(yè)目的,如涉及知識(shí)產(chǎn)權(quán)問題,請權(quán)利人聯(lián)系SPASVO小編(021-60725088-8054),我們將立即處理,馬上刪除。