十步完成Web應用程式壓力測試

2021-08-30 07:49:02 字數 2473 閱讀 4909

web 應用程式是決定**效能的關鍵,對其進行測試是**測試的核心。壓力測試的目的是測試系統在各種負荷(由併發使用者所產生的綜合處理量)下的效能和穩定性。

為了保證web 應用程式的壓力測試能取得理想的測試效果,壓力測試也應該遵循軟體工程中軟體測試的一般規範。整個測試流程應有文件記錄,壓力測試應得到相應的重視。

需求分析

對不同的系統其壓力測試的強度和側重點也不同。乙個用於中小企業內部網和乙個要處理大量使用者的電子商務站點的負荷量和負荷分布是明顯不同的。前者的最大負荷量和負荷分布是可預期的,而且對企事業單位內部網來說,暫時關閉系統後重新起動也是可以接受的。例如乙個高校的選課系統只在進行選課的幾天內要求系統能承受大負荷,其它時間其負荷幾乎為零;而對於後者卻無法預期有多少客戶會同時訪問站點,對高峰負荷出現的時間也無法預知。因此在壓力測試前必須進行需求分析,它是編寫良好測試案例的基礎。

確定測試目標

在確定壓力測試目標中,我們要定義測試的物件,並對每乙個測試物件給出清晰說明,也要定義測試結束的目標。為控制測試的有效性以及完成程度,必須定義準則和策略,以判斷何時結束測試階段。準則必須是客觀的,可量化的,而不能是經驗或感覺。下面是一些壓力測試目標:(1)測定終端使用者事務的響應時間,它可能隨使用者的增加而增加,但要定義乙個可接受時間。(2)定義主機最優配置,我們可以以最低的**發揮最佳的效能。在壓力測試目標確定過程中,要邀請使用者、設計人員等對其進行評審。

制定壓力測試計畫

測試計畫的內容主要包括:定義測試資源、制定測試進度表、選擇測試工具等。制定測試計畫的主要目的是使壓力測試有章可循並得到人力、物力方面的保證。需要指出的是在制定測試進度表時應和開發進度相互協調。當開發乙個web應用程式時,根據功能的不同將系統分成一些單獨的子系統。乙個較好的方法是隨著子系統的完成先進行子系統的壓力測試,當然,最後還必須進行整個系統的綜合壓力測試。

分析系統

分析系統有兩個主要任務:第一,搞清系統對各個資源的分布與使用情況,它將幫我們確定可能系統效能的瓶頸;第二,搞清使用者事務的分布,確定壓力測試的針對點。我們定義事務是用來表示使用者要求伺服器連續完成的操作任務。

因為大多數系統都是網路系統,而且網路常常也是降低響應時間的主要原因,所以我們通過資源示意圖來分析系統的資源。為了更詳細地說明資源的效能,我們要求對資源示意圖中的每個資源的屬性進行列表說明。例如,對於路由器,說明它執行的系統,它的網路處理能力、響應時間等;對於通訊媒介,說明它的效能、容量等;對於主機,說明它的cpu效能、記憶體大小、i/o外設效能、執行的作業系統、資料庫系統、應用軟體系統,還有執行應用軟體系統的系統配置檔案等。

編寫測試案例

測試人員將根據測試案例進行實際的測試工作,測試案例的編寫應做到客觀全面、重點突出,也就是要求編寫的測試案例應該盡可能模擬真實的負荷,不遺漏重要的測試路徑。

在測試案例中,應註明測試場景、測試專案、測試時要求記錄的效能指標等。對web應用程式來說,這些效能指標是大同小異的,效能指標主要分成客戶端效能指標和伺服器端效能指標兩大類。

設定測試資料

壓力測試指令碼採取資料驅動方式。為了讓所有的程序順利執行,必須對測試資料進行引數化。同時執行的一組測試資料有時需要彼此是唯一的,有時需要順序的,有時需要隨機的,有時需要資料在乙個區間內,有時需要從資料庫的某個表提取資料。引數化後的資料與原資料型別應保持一致。設定測試資料的靈活性很大,對測試的結果影響也很大,應根據情況,具體問題具體分析。

進行壓力測試

一般不提倡在開發環境中進行壓力測試,如果由於經費原因不能另外構建測試環境,則將來的執行伺服器的配置應該和開發用伺服器的配置相同或更好。如果要模擬成百上千的併發使用者,就應該採用多台客戶機同時進行測試,因為一台機器上執行的執行緒太多將導致效能下降,從而使客戶機不能及時處理從伺服器返回的響應,造成測試誤差。執行壓力測試時,即使是同一條瀏覽路徑也應進行多次測試,多次測試之間的間隔時間是隨機的,這樣才能獲得比較客觀的測試結果。

分析結果

壓力測試執行結束後,把所有記錄的資料彙總並記錄到檔案中。必須對測試的結果進行分析,才能得到結論。可以使用一些圖形來比較、觀察測試結果。

分析物件也是測試執行時記錄的內容,下面是壓力測試的分析物件:(1)測試使用的時間和被測事務的響應時間(有多少個使用者同時執行);(2)壓力測試參與的程序個數,成功個數,失敗個數;(3)壓力測試參與程序失敗的原因;(4)事務的響應時間隨使用者增加的變化圖;(5)資源限制。

優化調整設定

若測試失敗,必須分析失敗原因,如果是系統造成的,應返回給設計人員修改。測試結果不滿足預期需求,需要對系統進行優化調整設定,然後再次執行測試、分析,直到可以滿足預期需求,或調整已無法改善結果。

對系統的優化調整設定應與開發和系統管理人員協作進行。效能問題往往是互相聯絡的,而不是互不相干的。系統效能較低,可能是由於優化與設定的問題。通過優化與設定有時可以提高系統的效能。

提交測試報告

當壓力測試結果可以滿足預期需求,或優化和調整已無法改善結果。最後提交測試報告。在報告中要包括測試提要、測試環境和測試結果,提要應該簡單說明測試方法、策略、範圍、內容;測試環境應包括資源開銷、環境配置等;結果測試必須包括測試是否通過或拒絕,對測試的結論進行說明,對系統的效能做出評價。測試結果要包括結果資料。

十步完成Web應用程式壓力測試

web 應用程式是決定 效能的關鍵,對其進行測試 是 測試的核心。壓力測試 的目的是測試系統在各種負荷 由併發使用者所產生的綜合處理量 下的效能和穩定性。為了保證web 應用程式的壓力測試能取得理想的測試效果,壓力測試也應該遵循軟體工程中軟體測試 的一般規範。整個測試流程應有文件記錄,壓力測試應得到...

十步完成Web應用程式壓力測試

web 應用程式是決定 效能的關鍵,對其進行測試是 測試的核心。壓力測試的目的是測試系統在各種負荷 由併發使用者所產生的綜合處理量 下的效能和穩定性。為了保證web 應用程式的壓力測試能取得理想的測試效果,壓力測試也應該遵循軟體工程中軟體測試的一般規範。整個測試流程應有文件記錄,壓力測試應得到相應的...

Web應用程式壓力測試步驟

對不同的系統其壓力測試的強度和側重點也不同。乙個用於中小企業內部網和乙個要處理大量使用者的電子商務站點的負荷量和負荷分布是明顯不同的。前者的最大負荷量和負荷分布是可預期的,而且對企事業單位內部網來說,暫時關閉系統後重新起動也是可以接受的。例如乙個高校的選課系統只在進行選課的幾天內要求系統能承受大負荷...