新四季網

一種軟體系統性能測試方法

2023-10-10 03:27:29 2


專利名稱::一種軟體系統性能測試方法
技術領域:
:本發明屬於計算機應用
技術領域:
,具體涉及一種計算機軟體性能測試方法。
背景技術:
:性能測試作為測試領域一個重要的組成部分,越來越為廣大的系統建設者和使用者所重視。往往一些系統在功能上完全負荷需求和設計要求,但就是因為某些局部的性能問題沒有全面的測試到就倉促上線,導致系統的重大故障,最終功敗垂成。所以,性能測試與功能測試同樣需要在系統上線前有一個全面的完整的測試,杜絕系統可能發生的問題。傳統的性能測試方法缺點在於靜態的策略模式,在測試執行過程中不可以更改測試分配在各測試點的流量,這是一種簡單化的機械式的執行流程。這種流程的主要問題如下首先,傳統的性能測試方法不僅要對被測系統有個全面的了解,明確各個測試點,而且還必須知道,系統的瓶頸在哪裡,哪個被測試點是短板,哪些使用場景組合能造成系統的最大負荷。只有以上的情況都了解清楚了,整個性能測試工作才能順利進展並完成。而摸索哪些測試點是系統瓶頸的過程,往往要耗費大量的性能測試時間,致使性能測試效率的降低。其次,傳統的性能測試方法對於單次性能測試:操作來說,只能獲得一組性能測試數據,這組數據是針對本次性能測試場景的結果描述。如要獲得多組性能測試結果,必須^沒計多個性能測試腳本,並觸發多次性能測試操作來完成,而往往被測系統的性能很難用一兩組性能數據來描述其全貌,這就要求性能測試人員反覆進行腳本的設計和操作的觸發來完成,其效率也是受影響的。再次,對一些較為複雜的場景組合或一些不可預見的場景,如果測試人員之前沒有在腳本設計時注意到,通過傳統的性能測試方法來測試就會造成性能測試疏漏,有可能沒有真正捕捉到系統的瓶頸,有可能得出的系統性能指標虛高。這就是為什麼有時經過性能測試的系統,在現網運行期間,經歷設計運朽-的用戶流量使用過程中,出現由於某些性能問題意外宕機的現象。
發明內容本發明的技術解決問題是克服現有技術的不足,提供一種軟體系統性能測試方法。該測試方法利用測試工具與被測系統交互時獲得的數據實時進行計算,隨時調整在各測試點上的壓力分配量,克服了傳統靜態測試方法的缺點。本發明的技術解決方案是一種軟體系統性能測試方法,包括以下步驟(1)確定系統測試點和系統性能容量,編制測試腳本,所述測試腳本涵蓋所述測試點;根據系統的複雜度選取適當數量的系統場景組合;(2)記錄系統初始壓力狀態下某種系統場景組合中各測試點的性能測試數據;(3)逐步加壓,記錄所述測試點在不同壓力狀態下的性能測試數據;(4)分析所述測試點在不同壓力狀態下的性能測試數據,得出測試點性能變化情況;(5)根據測試點性能變化情況,獲得性能惡化的若干測試點;(6)對性能惡化的若干測試點進4亍加壓,判斷加壓過程中系統性能是否符合設計要求;若系統性能符合設計要求,則繼續下一步;若系統性能不符合設計要求,則記錄下該系統場景壓力情況及壓力數據,轉入步驟(8);(7)對所述性能惡化的若干測試點進行更大容量壓力測試;(8)減小壓力,使系統回退至初始壓力狀態;(9)判斷回退至初始壓力狀態後的系統是否正常,若系統正常,則避開已經檢驗過的系統場景組合,選擇一種新的系統場景組合,轉入步驟(2);若系統不正常,則記錄下系統在該場景組合下的壓力表現,結束測試。進一步地,所述步驟(1)中確定系統性能容量為在有預知系統性能容量的情況下,確定該預知系統性能容量為系統性能容量;在沒有預知系統性能容量的情況下,保守地預估一個性能容量,將其確定為系統性能容量。所述步驟(3)中逐步加壓為均勻地加壓或隨^/L地遞增加壓。所述步驟(4)中對所述測試點在不同壓力狀態下的性能測試數據進行縱向和橫向比較,得出測試點性能惡化排序;所述縱向比較,是指每個測試點以時間軸為依據,比較自身的性能變化情況;所述橫向比較,是指在某個特定時間點上,比較多個測試點的性能變化情況。所述步驟(6)中對性能惡化的若干測試點進行重點加壓,對別的測試點非重點加壓、保持壓力或減輕壓力。所述步驟(7)中對所述性能惡化的若干測試點進行更大容量壓力測試為繼續加壓,直至系統臨界正常,獲得系統在此種場景組合下所支持的最大用戶數。所述步驟(7)中對所述性能惡化的若干測試點進行更大容量壓力測試為依次按系統預估性能容量的120%、150%及200%輸出壓力,繼續進行施壓,並記錄每個壓力裡程碑的系統表現,^f企查系統的魯棒性。所述步驟(9)中若回退至初始壓力狀態後的系統響應正常,且系統的性能指標與初始壓力狀態下的系統表現基本一致,則避開已經檢驗過的系統場景組合,選擇一種新的系統場景組合,轉入步驟(2)。所述步驟(9)中若回退至初始壓力狀態後的系統響應正常,但系統的性能指標達不到初始壓力狀態下的系統表現,則記錄這一現象,然後避開已經檢驗過的系統場景組合,選擇一種新的系統場景組合,轉入步驟(2)。所述步驟(5)中,獲得性能惡化測試點的方法為看壓力加在哪個測試點上使得系統發生的形變比例最大(注意是形變的比例而不是形變的絕對值,因為形變的絕對值無法完全描述相對形變的量值)。方差判斷法是"^安比例判斷法中常用的一種判斷法,本發明採用方差法來判斷。方差判斷法是看壓力加在哪個測試點上使得系統各測試點的方差最大,即通過公式^1/"[(Jcl-xl)2+(x2-;c2m)2+(x3-jc3J2氣)2](其中,n為測試點的個悽t,m為初始壓力狀態,x1xn為某一壓力狀態下系統各測試點的表現,^"x為初始壓力狀態下系統各測試點的表現)計算多個系統場景組合中各測試點的方差,找出相同壓力量輸入下方差最大的那個系統場景組合。本發明與現有技術相比具有如下優點第一,本發明的測試方法是一種智能的測試方法,它不同於以往依靠測試人員不斷修改和設計新的測試腳本來反覆測試的性能測試模式,而是採用了以測試壓力輸入和被測系統性能反饋為基礎,進行一定的數據分析和比較,確定出系統瓶頸的可能位置。克服了傳統靜態測試^f莫式在測試執行過程中不能更改測試分配在各測試點的流量的缺點。第二,本發明的測試方法在測試過程中可動態調整策略,在測試之初無需由測試人員確定出一整套的測試路徑和策略,無需限定死向各個測試點輸出的壓力量。本發明根據系統在壓力狀態下的表現和逐步獲得的測試結果,能夠隨時調整壓力測試策略,向系統可能存在的瓶頸點加壓,從而得出系統的最可能出性能問題的地方和系統的最大負荷。克服了常規的相對固化的性能測試方法的不足,能夠隨著性能測試的深入進行對系統適應性地調整性能測試策略,從而找到該系統若干可能的瓶頸和典型的性能弱點,為系統的深度優化創造了條件。第三,本發明的測試方法是一種探索式的性能測試方法,隨著測試進程的深入,測試工具能夠結合系統的反饋,探索出幾條可能的測試場景,分別代表著系統的幾類性能瓶頸,最後獲得一次觸發測試,得出多種場景結果的高效的性能測試方式。而傳統靜態測試方法只是相對固化的性能測試方法,只能獲得一種系統並瓦頸場景組合。第四,本發明的性能測試方法通過;f莫擬不同的用戶場景組合,啟動一次測試就能夠探索出未知的多個系統瓶頸場景組合出來。相比傳統測試方法,效率優勢更加明顯,並且便捷。以下將結合附圖對本發明的具體實施方式進行說明。圖1為本發明的軟體系統性能測試方法流程圖。具體實施例方式如圖1所示,本發明的軟體系統性能測試方法包括以下步驟1)人工對被測系統進行評估,找到若干個希望得到性能數據的測試點。2)用測試工具錄製測試腳本或在測試工具上編寫測試腳本,涵蓋前面評估的測試點。3)對於有預知系統性能容量的情況下,在測試工具上輸入此性能容量,在沒有預知系統性能容量的情況下,可先相對保守的預估一個性能容量並輸入到測試工具中。4)測試工具採用對系統多個測試點逐步加壓的方式進行壓力輸出,起初可以是均勻或隨機的遞增壓力。5)性能測試開始階段,測試工具所獲得的性能測試數據結果,為基礎值,表徵系統在無壓力或極小壓力的情況下,各測試點的性能表現。6)隨著性能測試進程的深入,測試工具對於上述若干個測試點會獲得更多的性能數據,這些數據所體現的系統性能是不斷動態變化的,測試工具記錄下這些變化。7)測試工具進行縱向(每個測試點以時間軸為依據,比較自身的變化情況)和橫向(在某個特定時間點上,比較多個測試點的性能變化情況)比較這些數據的變化,得出測試點性能惡化(性能下降很快,系統響應變慢)排序。8)測試工具經過比較可得出性能惡化最大的兩到三個測試點,對這幾個測試點進行有針對性的加壓,別的測試點可非重點加壓、保持壓力或減輕壓力(在總用戶量一定的情況下,為保證對惡化測試點足夠的壓力)。在測試壓力小於系統設計容量的情況下,在多個業務用戶容量點上輪流加壓,若發現某個或某幾個測試點上系統的性能下降比較大,則重點增加這些測試點的用戶量,直至達到系統的設計容量,觀察系統瓶頸點上系統性能的表現。具體操作舉例如下例一兩個業務用戶容量的組合為系統的設計用戶容量,當壓力增長到系統的設計容量50%時,即A業務用戶容量和B業務用戶容量的組合總容量為某應用系統的設計用戶容量的50%。可動態地調整A業務用戶容量與B業務用戶容量的比例,從5%:95%到95%:5%,對於每個容量比情況計算一次方差,每次A業務用戶容量遞增變化5%,這樣就覆蓋了A業務用戶容量和B業務用戶容量的各種比例變化,將之前獲得的若干個方差值相互比較,得出最大值,則該方差最大值對應的場景組合就是系統的瓶頸所在。例二三個或三個以上的業務用戶容量的組合為系統的設計用戶容量50%時,即A業務用戶容量、B業務用戶容量和C業務用戶容量的組合總容量為某應用系統的設計用戶容量。可首先固定A業務用戶容量為5%,動態地調整B業務用戶容量、C業務用戶容量的組合,計算此時系統的方差;然後提高A業務用戶容量的比例(如提升到10%),再動態地調整B業務用戶容量、C業務用戶容量的組合,計算系統的方差;直到A業務用戶容量的比例提升到950/。,依然計算系統的方差,這樣就覆蓋了系統的各種業務用戶容量組合。將之前獲得的若干個方差值相互比較,得出最大值,該方差最大值對應的場景組合就是系統的並瓦頸點。若A、B、C三個點的業務容量比例為90%:5%:5%時方差值最大,則說明A測試點對系統的性能影響最大,剩餘的系統設計容量的50%壓力都應該加鄉合A測糹式點。9)加壓過程中,若系統的性能表現已經不符合設計要求,則由測試工具記錄下該系統整體場景壓力情況及壓力數據。最後,性能測試工具減少壓力,回退至初始狀態。10)加壓過程中,若壓力加載已達系統的預計估算容量,系統的性能表現還屬正常範圍內,則有幾種選擇,一是繼續加壓,直至系統臨界正常,從而獲得系統在此種場景下的所支持的最大用戶數;二是按系統預計估算容量的120%、150%及200%輸出壓力(120。/。沒問題就用150%,150%再沒問題就用200%),進行繼續施壓,並記錄每個壓力裡程碑的系統表現,從而4企查系統的魯棒性。最後,性能測試工具減少壓力,回退至初始狀態。11)性能測試工具經過前一輪的大量輸出壓力得到一輪數據,並回退到初始狀態後,工具觀察系統是否響應正常,若響應非正常則記錄系統各方面情況,結束測試,由測試人員4艮據之前的測試結果來判斷系統故障情況。12)性能測試工具經過前一輪的大量輸出壓力得到一輪數據,並回退到初始狀態後,工具觀察系統是否響應正常,若響應正常,且系統的性能指標與之前低壓力情況下系統的表現基本一致說明暫時沒有發現系統資源未釋放現象,若系統響應正常,但系統的性能指標達不到之前相同低壓力情況下的系統表現,說明系統的某些資源沒有很好的釋放,測試工具記錄這一現象,等測試結束後由測試人員進行進一步的系統故障情況分析。13)性能測試工具經過前一輪的大量輸出壓力得到一輪數據,並回退到初始狀態後,在系統響應正常的情況下,性能測試工具再重複之前的隨機加壓的方式,並避開之前已經檢驗過的系統場景組合,探索新的未知系統瓶頸場景。14)如此周而復始,根據系統的複雜度獲得數量不等的系統瓶頸場景情況,對於小型系統來說可以獲得典型的3-5個瓶頸場景,對於中型系統來說可以獲得典型的8~10個瓶頸場景,對於大型系統來說可以獲得典型的15~20個瓶頸場景。實施例對某帳務系統進行性能測試。人工對被測系統進行評估,找到3個系統可能存在瓶頸的測試點A(查詢用戶當前帳期的欠費情況)、B(查詢用戶所能享受的各項優惠情況)、C(對用戶當前帳期的帳務^:銷帳處理)。用測試工具錄製測試腳本或在測試工具上編寫測試腳本,涵蓋前面評估的3個測試點。本帳務系統的設計性能容量為1秒鐘最多支持100次業務訪問,且對於單次業務訪問的最大系統響應時間不超過10秒鐘。測試工具釆用對系統多個測試點逐步加壓的方式進行壓力輸出,起初可以是均勻或隨機的遞增壓力。性能測試開始階段,測試工具所獲得的性能測試數據結果為基礎值,表徵系統在無壓力或極小壓力的情況下,3個測試點的性能表現如下A場景耗時2.15秒,B場景耗時1.05秒,C場景耗時3.70秒。加大系統壓力到系統設計容量的50%,即每秒50次訪問,A、B、C三個場景按照5%的遞進比例進行分配壓力,並對每個壓力組合按公式Jl/"[(xl—xlj2+(x2—x2)2+(x3—.Jc3m)2++(x"_x"m)2]進4亍方差計算,計算結果如下表所示tableseeoriginaldocumentpage11經比較方差得出A、B、C場景比例為5。/。5%:90%時系統性能最差,且發現對於C點的壓力的增加對系統的性能影響最大,則把餘下50%的壓力都加給C點,得出系統的性能表現,發現C點的響應時間已經惡化為21.45秒,高於系統要求的10秒響應時間。最後,性能測試工具減少壓力,回退至初始狀態,發現系統表現正常,說明暫時沒有發現系統資源未釋放現象。綜上所述,本發明的性能測試方法通過模擬不同的用戶場景組合,啟動一次測試就可以探索出未知的多個系統瓶頸場景組合出來。本方法克服了常規的相對固化的性能測試方法,可以隨著性能測試的深入進行對系統適應性的調整性能測試策略,從而找到該系統若干可能的瓶頸和典型的性能弱點,為系統的深度優化創造了條件。本發明說明書中未作詳細描述的內容屬於本領域專業技術人員公知技術。本發明不局限於權利要求和上述實施例所述及的內容,只要是根據本發明的構思所創作出來的任何發明,都應歸屬於本發明的保護範圍之內。權利要求1、一種軟體系統性能測試方法,其特徵在於包括以下步驟(1)確定系統測試點和系統性能容量,編制測試腳本,所述測試腳本涵蓋所述測試點;根據系統的複雜度選取適當數量的系統場景組合;(2)記錄系統初始壓力狀態下某種系統場景組合中各測試點的性能測試數據;(3)逐步加壓,記錄所述測試點在不同壓力狀態下的性能測試數據;(4)分析所述測試點在不同壓力狀態下的性能測試數據,得出測試點性能變化情況;(5)根據測試點性能變化情況,獲得性能惡化的若干測試點;(6)對性能惡化的若干測試點進行加壓,判斷加壓過程中系統性能是否符合設計要求;若系統性能符合設計要求,則繼續下一步;若系統性能不符合設計要求,則記錄下該系統場景壓力情況及壓力數據,轉入步驟(8);(7)對所述性能惡化的若干測試點進行更大容量壓力測試;(8)減小壓力,使系統回退至初始壓力狀態;(9)判斷回退至初始壓力狀態後的系統是否正常,若系統正常,則避開已經檢驗過的系統場景組合,選擇一種新的系統場景組合,轉入步驟(2);若系統不正常,則記錄下系統在該場景組合下的壓力表現,結束測試。2、根據權利要求1所述的軟體系統性能測試方法,其特徵在於,所述步驟(1)中確定系統性能容量為在有預知系統性能容量的情況下,確定該預知系統性能容量為系統性能容量;在沒有預知系統性能容量的情況下,保守地預估一個性能容量,將其確定為系統性能容量。3、根據權利要求1所述的軟體系統性能測試方法,其特徵在於所述步驟(3)中逐步加壓為均勻地加壓或隨^U也遞增加壓。4、根據權利要求1所述的軟體系統性能測試方法,其特徵在於所述步驟(4)中對所述測試點在不同壓力狀態下的性能測試數據進行縱向和橫向比較,得出測試點性能惡化排序;所述縱向比較,是指每個測試點以時間軸為依據,比較自身的性能變化情況;所述橫向比較,是指在某個特定時間點上,比較多個測試點的性能變化情況。5、根據權利要求1所述的軟體系統性能測試方法,其特徵在於所述步驟(6)中對性能惡化的若干測試點進行重點加壓,對別的測試點非重點加壓、保持壓力或減輕壓力。6、根據權利要求1所述的軟體系統性能測試方法,其特徵在於,所述步驟(7)中對所述性能惡化的若干測試點進行更大容量壓力測試為繼續加壓,直至系統臨界正常,獲得系統在此種場景組合下所支持的最大用戶數。7、根據權利要求1所述的軟體系統性能測試方法,其特徵在於,所述步驟(7)中對所述性能惡化的若干測試點進行更大容量壓力測試為依次按系統預估性能容量的120%、150%及200%輸出壓力,繼續進行施壓,並記錄每個壓力裡程碑的系統表現,檢查系統的魯棒性。8、根據權利要求1所述的軟體系統性能測試方法,其特徵在於所述步驟(9)中若回退至初始壓力狀態後的系統響應正常,且系統的性能指標與初始壓力狀態下的系統表現基本一致,則避開已經檢驗過的系統場景組合,選擇一種新的系統場景組合,轉入步驟(2)。9、根據權利要求1所述的軟體系統性能測試方法,其特徵在於所述步驟(9)中若回退至初始壓力狀態後的系統響應正常,^a系統的性能指標達不到初始壓力狀態下的系統表現,則記錄這一現象,然後避開已經檢驗過的系統場景組合,選擇一種新的系統場景組合,轉入步驟(2)。全文摘要本發明涉及一種軟體系統性能測試方法,包括(1)確定測試點和系統性能容量;(2)記錄初始狀態下某場景組合中各測試點的測試數據;(3)逐步加壓,記錄測試點在不同壓力狀態下的測試數據;(4)得出測試點性能變化情況;(5)獲得性能惡化測試點;(6)對惡化測試點加壓,若加壓過程中系統性能符合設計要求,則繼續(7);若不符合要求,則進行相應記錄,轉入(8);(7)對惡化測試點進行更大容量壓力測試;(8)減小壓力,使系統回退至初始狀態;(9)若回退後系統正常,則選擇一種新的場景組合,轉入(2);若回退後系統不正常,則進行記錄,結束測試。本發明能夠動態調整各測試點的壓力分配量,克服了傳統靜態測試方法的缺點。文檔編號G06F11/36GK101625658SQ200910161588公開日2010年1月13日申請日期2009年8月4日優先權日2009年8月4日發明者餘昌德,邱世魁申請人:卓望信息技術(北京)有限公司西城分公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀