web壓力測試的幾個關鍵點

2021-09-30 07:11:39 字數 1808 閱讀 9407

設計壓力應用

設計試圖對 web 服務進行壓力測試的壓力測試系統時,要讓它們以某種特定的方式執行**。這些風格超越了功能驗證,目的是要弄清楚被測試的 web 服務是不是不僅能做我們認為它能做的事,而且在被施加了某些高強度壓力的情況下仍然繼續正常執行。壓力測試必須對 web 服務應用四個基本條件。許多已建立的壓力系統應用了這些條件。有效的壓力測試系統將應用以下這些關鍵條件: 

重複(repetition): 或許最明顯的且最容易理解的壓力條件就是測試的重複。換句話說,測試的重複就是一遍又一遍地執行某個操作或功能,比如重複呼叫乙個 web 服務。功能驗證測試可以用來被弄清楚乙個操作能否正常執行。而壓力測試將確定乙個操作能否正常執行,並且能否繼續在每次執行時都正常。這對於推斷乙個產品 是否適用於某種生產情況至關重要。客戶通常會重複使用產品,因此壓力測試應該在客戶之前發現**錯誤。許多最簡單的壓力系統只實現這乙個條件,但簡單地擴 展功能驗證測試來多次重複並不能構成乙個有效的壓力測試。當與下面的一些原則結合起來使用時,重複就可以發現許多隱蔽的**錯誤。 

併發(concurrency): 併發是同時執行多個操作的行為。換句話說,就是在同一時間執行多個測試,例如在同乙個伺服器上同時呼叫許多 web 服務。這個原則不一定適用於所有的產品(比如無狀態服務),但是多數軟體都具有某個並發行為或多執行緒行為元素,這一點只能通過執行多個**示例才能測出 來。功能測試或單元測試幾乎不會與任何併發設計結合。壓力系統必須超越功能測試,要同時遍歷多條**路徑。至於怎麼做到這一點取決於具體的產品。例如,乙個 web 服務壓力測試需要一次模擬多個客戶機。web 服務(或者任何多執行緒**)通常會訪問多個執行緒例項間的一些共享資料。因額外方面的程式設計而增加的複雜性通常意味著**會具有許多因併發引起的錯誤。由於引 入併發性意味著乙個執行緒中的**有可能被其他執行緒中的**中斷,所以錯誤只在乙個指令集以特定的順序(例如以特定的定時條件)執行時才會被發現。把這個原 則與重複原則結合在一起,您可以應用許多**路徑 和定時條件。 

量級(magnitude): 壓力系統應該應用於產品的另乙個條件考慮到了每個操作中的負載量。壓力測試可以重複執行乙個操作,但是操作自身也要盡量給產品增加負擔。例如,乙個 web 服務允許客戶機輸入一條訊息,您可以通過模擬輸入超長訊息的客戶機來使這個單獨的操作進行高強度的使用。換句話說就是,您增加了這個操作的量級。這個量級 總是特定於應用的,但是可以通過查詢產品的可被使用者計量和修改的值來確定它 — 例如,資料的大小、延遲的長度、資金數量的轉移、輸入速度以及輸入的變化等等。單獨的高強度操作自身可能發現不了**錯誤(或者僅能發現功能上的缺陷), 但與其他壓力原則結合在一起時,您將可以增加發現問題的機會。 

隨機變化: 最後一點,任何壓力系統都多多少少具有一些隨機性。如果您隨機使用前面的壓力原則中介紹的無數變化形式,您就能夠在每次測試執行時應用許多不同的**路徑。下面是幾個關於怎樣在測試生 命週期內改變測試的示例。使用重複時,在重新啟動或重新連線服務之前,您可以改變重複操作間的時間間隔、重複的次數,或者也可以改變被重複的 web 服務的順序。使用併發,您可以改變一起執行的 web 服務、同一時間執行的 web 服務數目,或者也可以改變關於是執行許多不同的服務還是執行許多同樣的例項的決定。量級或許是最容易更改的 — 每次重複測試時都可以更改應用程式**現的變數(例如,傳送各種大小的訊息或數字輸入值)。如果測試完全隨機的話,因為很難一致地重現壓力下的錯誤,所以 一些系統使用基於乙個固定隨機種子的隨機變化。這樣,用同乙個種子,重現錯誤的機會就會更大。 

乙個壓力測試通常會結合上述的所有原則,並且在允許的範圍內盡可能長時間地執行。測試被允許的執行時間越長,就可以遍歷越多的**路徑,並且發現的錯誤也越多。當然,一旦找到錯誤就必須 診斷並修復它。由於乙個**錯誤可以在壓力測試執行多日以後自己顯示出來,所以系統必須保證當出現錯誤時所有可用的除錯資訊都被生成 — 否則可能就必須花費同樣多的時間來重現這個錯誤。

web介面測試中需要測試的幾個點

web介面測試用例要包括欲測試的功能 應輸入的資料和預期的輸出結果,只有在資料能正確流入 流出模組的前提下,其他測試才有意義。下面介紹在web測試介面時一些需要注意的點 1 介面返回 資料格式是否與預期一致。例如 要求返回json格式的資料,json資料的key命名是否正確,對應的value是否與資...

web壓力測試 pylot

我已經寫在使用前web bench做壓力測試。但這個測試,測試結果非常好。缺點就是,無法做乙個圖示類的報告出來!隨之。在win7 64位上選用python的plot gui模式,把圖做出來,做乙份測試報告嘛!參考 各個軟體都安裝了。之後,切換到pylot的資料夾下。執行gui命令後 當中主機測試配置...

web壓力測試 Web Bench

2.wen bench安裝 root web111 tmp tar zxvf webbench 1.5.tar.gz root web111 tmp cd webbench 1.5 root vstar111 webbench 1.5 ll total 28 lrwxrwxrwx 1 1001 ro...