在測試時代論壇上看到有人發(fā)貼問性能測試的相關(guān)問題,我覺得這些問題比較有代表性,而且也頗值得探討,于是據(jù)我自己的想法簡單回復(fù)了一下,拋磚引玉,希望大家能各抒已見。
原貼如下:
也問性能測試(LR)
補(bǔ)充資料
現(xiàn)在很多企業(yè)對軟件測試人員的要求也越來越高了。除了功能測試之外,還要求會做自動化測試和性能測試。但是進(jìn)入企業(yè)后做不做這些工作那就不一定了。這個和我們討論的性能測試無關(guān)。 j w6 S- X3 T( u8 B: _' "
想問的是各位做完的性能測試的結(jié)果你們認(rèn)為是否正確?判斷分析的是否合理?這個工具的原理是否真的是明白?9 r3 x/ x: F5 d& p& g2 K, o
為什么要迭代?為什么要有集合點(diǎn)?這些和用戶實(shí)際業(yè)務(wù)是否相符?
2 K5 b3 _) h" j4 ?6 k% x+ b) d7 i" p7 ^
再則做性能測試需要模擬用戶的并發(fā)人數(shù),這時就需要設(shè)計(jì)是先每5秒遞增10VU,還是每隔105秒遞增20VU?這些是模擬的方式又是從何而來?8 P" x3 W/ a7 p% K' L1 u' e; O+ [
問的有些亂,各位不必拘彌我的問題,大家隨便聊聊。
以下是我的回復(fù):
你問的問題確實(shí)有點(diǎn)廣。
我試著回答一下吧,權(quán)當(dāng)拋磚引玉。
還記得上中學(xué)物理課的時候就學(xué)過很重要的一課:誤差。
可以說整個現(xiàn)代科學(xué)都是建立在誤差這一基礎(chǔ)上的,因?yàn)樗械目茖W(xué)研究都必須有一定的標(biāo)準(zhǔn)和前提,然而這些標(biāo)準(zhǔn)和前提又是永遠(yuǎn)也無法精確的,我們所做的工作
只能是盡量去縮短這個誤差,做到盡量精確。我覺得這一原理應(yīng)用在我們軟件測試尤其是性能測試上是非常合適的,由于受到測試環(huán)境,測試案例,測試腳本,人為
操作等因素的共同影響,我們做完的性能測試結(jié)果不可能是完全準(zhǔn)確的,我們利用工具也好,手工也好,測試出來的結(jié)果如果能夠提供給我們一個分析問題的參考,
那么我們的測試就是有價(jià)值的,有意義的。
再來,為什么要迭代?因?yàn)槲覀兊臏y試工具是通過采樣來收集測試結(jié)果數(shù)據(jù)的,從統(tǒng)計(jì)學(xué)的角度看,只取一次的測試結(jié)果值顯然是不夠準(zhǔn)確,也不夠有說服力,因此需要設(shè)置多次迭代,通過獲得多次的采樣值來分析結(jié)果,以達(dá)到盡可能接近真實(shí)情況的目的。
為什么要有集合點(diǎn)?這是一種特殊情況下的性能測試場景,為的是模擬多個用戶在同一時刻做同一個操作,這是一種更嚴(yán)格意義上的并發(fā)。至于這些和用戶實(shí)際業(yè)務(wù)
是否相符,這是需要測試的人去分析,去設(shè)定的,并沒有一種萬能的場景模式可以套用,這也正是軟件測試的復(fù)雜性和難度所在。