如何證明你的性能測試結(jié)果可信?
確定測試結(jié)果可信度,指的是性能測試結(jié)果是否穩(wěn)定可靠。也就是說,測試得到的各種指標數(shù)據(jù)是不是反映了系統(tǒng)真實性能的情況。例如,如果同一套腳本在對同 一測試對象(即被測對象本身沒有變化,例如同一頁面)進行的數(shù)次測試中,一般情況下頁面響應(yīng)時間指標忽高忽低的話,則說明該測試缺乏信度。則得到的響應(yīng)時 間并不能反映系統(tǒng)在真實生產(chǎn)環(huán)境的響應(yīng)時間。測試的信度與測試的效度有著密切的關(guān)系。一般說來,只有信度較高的測試才能有較高的效度,效度較高的性能指標 才有較高的實際性能分析價值和對改進性能方案進行決策時的參考價值。測試的信度主要涉及到測試工具自身的可靠性和測試環(huán)境穩(wěn)定性以及測試方案成熟性這三個 方面。
第一,測試工具自身的可靠性。
測試工具的可靠性,主要是指測試工具本身是否有Bug,性能計數(shù)器是否準確等和性能測試工具針對當前性能測試項目的場景進行的設(shè)置是否合理。
解決辦法:
針對性能測試工具本身功能方面,要對要使用的性能工具進行評估,商業(yè)工具和開源工具以及自己開發(fā)的工具,甚至是一些簡單插件,一些小的 Application等。雖然他們的性能測試原理都是相同的。但是還是要根據(jù)項目情況和工具情況進行整體評估,特別是一些特別項目,并不是一定商業(yè)工具 就更穩(wěn)定可靠,但是相對而言,商業(yè)工具功能較為豐富,簡單易學習,穩(wěn)定性也可以。結(jié)合成本和項目情況可以選擇自己開發(fā)工具,也可以定制工具,也可以對一些工具進行部分改進,例如自己做個更加精確的計數(shù)器。
針對工具設(shè)置方面,結(jié)合項目情況選擇最合理的設(shè)置,也許run腳本時候的很多問題,就是由于設(shè)置產(chǎn)生的。這部分需要對使用的工具很熟悉,清楚一些常用屬 性的設(shè)置場景。例如一些基本的設(shè)置:Agent和Controller的設(shè)置,scenario設(shè)置,counter sets,run setting。
第二,測試環(huán)境穩(wěn)定性。
測試環(huán)境的穩(wěn)定性對性能測試結(jié)果的重要性,相信已經(jīng)都深有感觸。每個項目做性能測試方案時候都要梳理一遍可能影響request的開關(guān),過期時間等設(shè)置。
解決辦法:
首先要盡可能建立一個獨立的性能測試環(huán)境,即使一些大型程序,例如大型的電子商務(wù)網(wǎng)站,數(shù)據(jù)庫過于龐大,難以建立獨立的性能測試數(shù)據(jù)庫環(huán)境,也要對性能測試數(shù)據(jù)進行一些標識,建立環(huán)境時候,要確保web server上的版本和windows server版本相對應(yīng),即時根據(jù)測試方案要求更新測試版本。要對一些用的cache server、Application server,搜索引擎等server集群進行合理設(shè)置。以使其符合項目性能測試的要求。
第三,測試方案成熟性。
測試方案是對一個性能測試從始至終的所有工作的指導。性能測試相當于做一個精密的實驗,方案的精密嚴謹性就直接會導致得到的性能測試指標準確性,合理性。
解決辦法:
首先要熟悉該次性能測試的目的,和測試需求。深入分析需求,提取出一些關(guān)鍵點,熟悉涉及到相關(guān)部分的業(yè)務(wù),特別是涉及到request的,是Html請 求,還是Ajax請求,請求中是否包含動態(tài)數(shù)據(jù),例如一些cookie參數(shù)等。根據(jù)以上了解,提取出性能測試場景。給出詳細的測試場景執(zhí)行方案,以及測試 指標名稱。給出性能指標分析策略。取數(shù)據(jù)的策略(例如重測法,交替形式法,對半法等)。
測試執(zhí)行過程中要時刻保持精密的思想,確保性能測試從始至終都要有據(jù)可依,有理論可考。最終才能得出具有很高參考價值的性能指標數(shù)據(jù),這樣才能得出有效的性能測試結(jié)論。
版權(quán)聲明:本文出自 582357212 的51Testing軟件測試博客:http://www.51testing.com/?305564
posted on 2011-10-12 15:07 順其自然EVO 閱讀(192) 評論(0) 編輯 收藏 所屬分類: 測試學習專欄