最近在負責招聘面試,基本每一個來面試的小夥伴,都會寫到熟悉這樣那樣的測試工具,好比LoadRunner、QTP、Jmeter等等。面試
但當問起性能測試的相關概念時,卻都答不出問題,在此閒暇時間,整理下本身的問題和解題思路。數據庫
問題1:在性能測試指標中,響應時間、吞吐量、在線用戶數有什麼關係?併發
答題思路:首先給出各個指標的概念,其次按性能拐點產生的時間講,在線用戶數不斷增長時,吞吐量增長,響應時間也會有逐漸增長的趨勢,但當響應時間急劇增長時,吞吐量卻呈現出平行時間軸的直線或降低趨勢;這個過程說明了系統開始出現性能下降的拐點,須要作記錄和分析,此時系統的狀態是什麼,哪裏報錯了,這樣思考就離找到系統性能瓶頸不遠了。工具
問題2:性能測試的目的是什麼?性能
答題思路:性能測試的概念,解釋了性能測試的目的。但性能測試最終的目的不是出具測試報告,說系統性能一切正常,能夠正常運行。而大部分時間作的性能測試,是爲了對系統進行調優,纔開展的性能測試。測試
問題3:實施性能測試的流程是什麼?優化
答題思路:性能測試實施實際上是一個標準的PDCA過程,計劃-執行-評估-改進,先經過手動性能檢查定出系統運行的性能基線,或使用單用戶性能測試來肯定系統正常運行的性能基線;再執行性能測試,獲取10/50/100/200/500/1000/2000/5000/10000等各個在線用戶數狀況下系統的性能指標,以評判系統性能;最終經過定位性能瓶頸,進行系統調優,提高系統性能,再執行一次10/50/100/200/500/1000/2000/5000/10000等各個在線用戶數狀況下系統的性能測試,與未調優以前作對比,以獲得性能提高的結論;不然繼續進行測試和優化。網站
問題4:客戶會出於哪些目的讓你開展性能測試?操作系統
答題思路:通常客戶會在系統上線前,提出生產環境下性能測試,以排除系統存在大併發訪問時的性能問題;客戶也會在系統已經發現運行性能問題時,找到性能測試人員,爲其進行測試,找到性能瓶頸,並解決性能瓶頸,提高系統運行性能表現;客戶也會在固定時間(半年/一年)間隔事後,要求測試人員進行性能測試,以評估系統數據庫存儲數據增長時,系統是否存在潛在的性能問題風險。壓力測試
問題5:性能測試工具還有其餘用途嗎?
答題思路:性能測試工具是一種基於協議數據回放的思路,模擬真實用戶操做系統的情形,對系統施壓;在不一樣的場合,性能測試工具扮演了不一樣的角色。測試人員使用該工具是在作客戶知情的壓力測試,若是客戶不知情的狀況下,使用測試工具對某網站系統進行壓力測試,那就與黑客發動Ddos攻擊同樣,變成破壞行爲了;性能測試工具還能夠用給作維護的人員,用於對系統的性能指標進行長期監測,獲得系統業務訪問的變化規律;
【未完待續】