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