本文章轉(zhuǎn)載于搜狗測試
在日常生活當(dāng)中,如果你的應(yīng)用運行太慢或者經(jīng)常出現(xiàn)各種使用不方便的問題厉斟,那很多情況下用戶都是會選擇離開,因此性能說的簡單一些就是站在用戶的角度去測試實際的感受,如果說功能測試是確保軟件可用顽铸,易用。那么性能測試就是讓這些功能變得更流暢料皇,用戶使用的更舒服谓松。
不過很多剛剛進(jìn)入測試家庭的新同學(xué)很容易將性能測試這個過程片面的理解成找工具或者寫工具進(jìn)行測試最后給出一個圖表結(jié)果,僅僅看中了過程而忽略了在測試過程中發(fā)現(xiàn)定位并解決問題的能力践剂。針對分析問題這個步驟鬼譬,我也是在網(wǎng)上拜讀了一部分前輩的測試經(jīng)驗,并希望在此將一些常見的思路分享給大家逊脯。
說到性能測試优质,我們首先要明確性能測試的目的,只有明確測試的目的才能更好的發(fā)現(xiàn)軟件的不足:
1.功能驗證:驗證某軟件在一定條件下具有什么樣的功能
2.能力規(guī)劃:如何使系統(tǒng)達(dá)到我們要求的性能能力
3.應(yīng)用程序診斷:比如內(nèi)存泄漏军洼,通過功能測試很難發(fā)現(xiàn)巩螃,但通過性能測試卻很容易發(fā)現(xiàn)。
4.性能調(diào)優(yōu):滿足用戶需求匕争,進(jìn)一步進(jìn)行系統(tǒng)分析找出瓶頸避乏,優(yōu)化瓶頸,提高系統(tǒng)整體性能甘桑。
性能測試的整體步驟可以按照下圖劃分:
其中分析結(jié)果是整個步驟中重要的一環(huán)拍皮,接下來就為大家介紹一些常見的問題:
硬件上的性能瓶頸:
一般指的是CPU、內(nèi)存跑杭、磁盤I/O 方面的問題铆帽,分為服務(wù)器硬件瓶頸、網(wǎng)絡(luò)瓶頸艘蹋、服務(wù)器操作系統(tǒng)瓶頸(參數(shù)配置)锄贼、應(yīng)用瓶頸。
應(yīng)用程序上的性能問題:
一般指的是開發(fā)人員開發(fā)出來的應(yīng)用程序或者新功能女阀。例如宅荤,程序架構(gòu)規(guī)劃不合理,程序本身設(shè)計有問題浸策,造成系統(tǒng)在用戶使用時性能低下冯键。在此處出現(xiàn)的問題往往是應(yīng)用開發(fā)在進(jìn)行功能實現(xiàn)上使用錯誤的方法而導(dǎo)致的(完全可以避免),因此這也是需要測試人員快速定位并解決的問題庸汗。
操作系統(tǒng)上的性能瓶頸:
例如iOS操作系統(tǒng)惫确。例如,在進(jìn)行性能測試,出現(xiàn)內(nèi)存不足時改化,系統(tǒng)會發(fā)出對應(yīng)用的低內(nèi)存警告掩蛤,如果應(yīng)用沒有及時響應(yīng)系統(tǒng)的警告就會將程序進(jìn)程終止,造成程序崩潰陈肛。這時認(rèn)為操作系統(tǒng)上出現(xiàn)性能瓶頸揍鸟。
網(wǎng)絡(luò)設(shè)備上的性能問題:
一般指的是防火墻、動態(tài)負(fù)載均衡器句旱、交換機等設(shè)備阳藻。例如,在動態(tài)負(fù)載均衡器上設(shè)置了動態(tài)分發(fā)負(fù)載的機制谈撒,當(dāng)發(fā)現(xiàn)某個應(yīng)用服務(wù)器上的硬件資源已經(jīng)到達(dá)極限時腥泥,動態(tài)負(fù)載均衡器將后續(xù)的交易請求發(fā)送到其他負(fù)載較輕的應(yīng)用服務(wù)器上。在測試時發(fā)現(xiàn)啃匿,動態(tài)負(fù)載均衡器沒有起到相應(yīng)的作用蛔外,這時可以認(rèn)為網(wǎng)絡(luò)環(huán)節(jié)存在問題。
由于性能測試出現(xiàn)的原因及其定位都十分復(fù)雜溯乒,這里只是簡單介紹常見的幾種問題類型和特征冒萄,而性能測試所需要做的就是根據(jù)各種情況因素綜合考慮,然后協(xié)助開發(fā)人員一起定位性能瓶頸橙数,下次作者會結(jié)合實際測試情況和大家一起尋找定位問題的方法尊流。