如何判斷是否需要對一個(gè)軟件進(jìn)行性能測試 軟件測試
有的軟件沒(méi)做性能測試,客戶(hù)反饋了很多性能問(wèn)題;有的軟件沒(méi)做性能測試,客戶(hù)從沒(méi)抱怨性能有問(wèn)題;有的軟件做了性能測試,客戶(hù)依然反饋了很多性能問(wèn)題;有的軟件做了性能測試,客戶(hù)從沒(méi)抱怨性能有問(wèn)題……
這確實(shí)是個(gè)問(wèn)題。
其實(shí)我倒覺(jué)得問(wèn)題不是要不要做的問(wèn)題,而是怎么做,做多少的問(wèn)題!
請注意,沒(méi)有任何一個(gè)軟件不需要做性能測試,而是說(shuō)需要程度到底有多高,這個(gè)需求程度決定了花多少精力去做,并且怎么做的問(wèn)題。
就算一個(gè)只有1000行代碼的小程序,你怎么能保證它不需性能測試?你怎么知道它里面就沒(méi)有內存溢出?你怎么知道它有沒(méi)有耗費了不必要的資源?
所以問(wèn)題不是做不做的問(wèn)題,而是花多少代價(jià),怎么做的問(wèn)題。
一般性能測試有幾個(gè)層次,或者說(shuō)兩個(gè)需求。
a.為了找出性能問(wèn)題
b.為了給出性能指標
c.為了給出需要的配置
而我們國內現在常做的軟件無(wú)非有幾種:1.單機版應用程序 2.C/S或者B/S的項目(一般是外包項目或者政府軟件,銀行,醫療證券類(lèi)軟件)
對于單機版應用程序來(lái)說(shuō),一般作性能測試是比較簡(jiǎn)單的,一般需求是兩個(gè),
,你要測試一下有沒(méi)有內存瀉漏,或者深情況下內存溢出,或者有沒(méi)有申請一些沒(méi)必要的資源。這個(gè)一般要用一些分析工具
第二,一般一個(gè)單機版應用程序,你總要給出,最低配置或者建議配置什么的,那么你給客戶(hù)這個(gè)東西 就需要性能測試,測試一下在各種配置下面的運行情況,給出理想的建議值
對于C/S或者B/S結構的軟件就比較復雜了,一般是必須要做性能測試的。這個(gè)性能測試一般從以下方面考慮:
,優(yōu)化
這個(gè)還是去考慮性能有沒(méi)有問(wèn)題,這個(gè)是起碼的要求。特別是B/S系統,有沒(méi)有多余請求,資源有沒(méi)有釋放之類(lèi)的問(wèn)題,要先考慮的。這類(lèi)的問(wèn)題,一般用網(wǎng)絡(luò )分析工具就可以搞定。
第二,時(shí)間
這個(gè)是一般性能測試的重點(diǎn)。一般是用性能測試工具LR或WAS之類(lèi)的做,這個(gè)叫負載測試。一般你測試一個(gè)軟件,總要給老大一個(gè)結論,500人并發(fā)時(shí),響應時(shí)間大概是幾秒,300人并發(fā)時(shí),是幾秒。這個(gè)是每個(gè)客戶(hù)都會(huì )要的。
第三,配置
這個(gè)也是性能測試的重點(diǎn)。這個(gè)一般叫壓力測試。譬如一般客戶(hù)會(huì )向你要一個(gè)數據:我想500人同時(shí)并發(fā),響應時(shí)間在3秒之內,那么我的服務(wù)器要求最低配置是多少?這個(gè)嘛,你就只管壓吧!壓垮了,升級服務(wù)器,再壓,又垮了,繼續升級,到客戶(hù)要求的性能指標達到為止,呵呵~~~~~~~~~~~~
總結一下,不是要不要做的問(wèn)題,而是怎么做,按照客戶(hù)要求哪些需求,哪些指標做的問(wèn)題
文章來(lái)源于領(lǐng)測軟件測試網(wǎng) http://kjueaiud.com/