效能測試總結BS架構系統參考及其引用

2021-05-27 01:26:52 字數 2749 閱讀 8837

1、概述

對於目前以 b/s 結構為主的產品來說,效能是一項必測的內容。

關於效能方面的測試,在很多地方又被細分為:負載測試、強度測試、容量測試、壓力測試等等。這種細分在概念描述上有一些用處,但在實際工作中很少會只單獨的進行其中的某一項測試,實際測試基本上都是交叉性的。

我們這裡把所有與效能相關的測試統稱為效能測試,不做具體區別。

我們在這裡所說的效能測試,指的是對系統整體效能的測試,不涉及單元模組的效能檢測。

我們在這裡討論的內容主要是基於 b/s 架構的應用。

要討論效能測試,很難不涉及測試工具,我們在這裡以 mi 公司的 loadrunner 為預設的測試工具。

2、效能測試的介入時機

效能測試應該在什麼時候開始?對測試人員來說,在產品的功能穩定下來後,就應該盡早開始對產品進行效能測試。一般建議在產品的 3 輪完整功能測試後開始。

3、測試過程

效能測試的整體測試過程如下:

3.1 制定效能測試計畫

3.2 搭建測試環境

3.3 編寫測試程式/指令碼

3.4 測試執行和分析

3.5 編寫測試報告,結束測試

4、過程說明

各個子過程的具體說明:

4.1 制定效能測試計畫

分析被測試系統的情況,收集效能測試需求。制定測試計畫,形成文件。測試計畫應考慮以下內容:

測試物件和場景。即我們要測試的內容是什麼。系統最後對外提供的功能有很多,我們不可能也沒有必要對系統所有的功能點都進行效能測試。

挑選效能測試物件的一般原則是:選取那些在系統實際投入使用後,併發訪問量較大的、演算法比較複雜的、占用系統資源較多的功能點,也就是壓力點。設定好要測試的壓力點後,需要詳細的描述出具體的操作過程,以及預期應該達到的效能指標。

注:在制定測試計畫時,對於系統預期應該達到的效能指標,常常是不能獲得乙個準確的數字。但即使是在沒有任何參考資料的情況下,也應該和開發人員一起,設定乙個初步的效能指標,作為後面測試的乙個參照。

有乙個初步指標,也比沒有任何指標要好。

測試環境。具體包括:選用什麼樣的硬體環境(計算機配置,網路結構);什麼樣的軟體環境(作業系統,資料庫,應用伺服器, web 伺服器);多大的資料量(資料庫,檔案系統)。

需要監控的資源。進行效能測試時,需要監控的系統軟硬體資源的占用情況。這和產品的具體情況有關,一般可以考慮的因素包括:

cpu 使用情況、 memory 的使用情況、磁碟的 i/o 、網路

的占用情況、資料庫執行狀況、 web/ 應用伺服器執行狀況等。

測試工具。選用什麼工具進行效能測試,是自己開發,還是選用第三方的測試工具。

進度安排。各階段的工作內容、時間安排。

4.2 搭建測試環境依照測試計畫中的測試環境要求,搭建實際的測試環境,安裝配置還好硬體、軟體,準備好測試資料。

4.3 編寫測試程式/指令碼編寫實際的測試程式或指令碼。如果能夠使用現有的成熟測試工具則盡量選用,如果現有工具不能滿足測試要求,則需要編寫定製的測試程式。

同時,要為指令碼編寫說明文件,文件的內容主要是指令碼的名稱,以及其對應的測試內容。

4.4 測試執行和分析設定多種測試場景組合,反覆執行測試,記錄結果資料,逐步優化系統,最後達到乙個可接受的效能結果。測試執行過程中,注意每次測試後下次測試開始前的測試環境恢復工作。

效能測試和功能測試一樣,也有測試迭代的過程,也會有產品版本的更新。在效能測試過程中,需要和開發人員協同工作,一起調優系統。

4.5 編寫測試報告,結束測試整理測試資料,總結測試結果,編寫測試報告,結束測試。

附錄 1 保證loadrunner測試指令碼的正確性在用 loadrunner 編寫完測試指令碼後,要保證指令碼在以下情況下能夠正確執行:

在指令碼編輯器中:單使用者單迴圈執行指令碼;單使用者多迴圈執行指令碼。

在 controller 中:多使用者單迴圈執行指令碼;多使用者多迴圈執行指令碼。

附錄 2 效能測試術語解釋測試場景:包含乙個或多個指令碼,設定併發數量,執行方式,模擬系統在現實中的乙個情景。

事務:是指一組相關的操作,是效能測試中的計時單位。比如『登入應用系統』就可以作為乙個事務。

集合點:設定集合點後,先到達的請求會等待,直到所有的請求都到達,然後一起傳送請求。設定集合點,是為了進行更嚴格和精確的併發測試。

checkpoint :也叫檢查點。和功能測試一樣,效能測試也需要檢驗結果的正確性。

當返回標準的 http 錯誤時(狀態碼不是 200 +時),loadrunner能夠識別出來,但如果返回的不是標準http錯誤,loadrunner則無法識別,這時只能通過我們設定的check point來發現錯誤。

引數化:為了更真實的模擬現實操作,我們經常需要對測試輸入進行引數化。比如登入時的使用者名稱。

關聯:對於指令碼中動態變化的部分,需要對其進行引數化, loadrunner 提供了對這種變數進行引數化的功能,叫做關聯。比如下面這種情況:

在乙個基於 web 的應用中,使用者每次登入時會被服務

端賦予了乙個 sessionid ,該使用者的後續操作都必須給出這個 sessionid 。在這種情況下,由於被賦予的 sessionid 是由服務端給出的,每次執行指令碼時,獲得的 sessionid 都會不同,因此就需要在指令碼中取得使用者每次登入,服務端返回的 sessionid ,在後續步驟中使用。這時我們就需要對 sessionid 進行引數化。

即 loadrunner 提供的關聯功能。

迭代次數:在效能測試中,對於乙個場景,我們需要執行多次取其平均值,即迭代執行多次。目的是為了避免意外因素對測試結果的影響。

think time :思考時間。在進行長時間的穩定性測試時,要考慮在指令碼中加入適當的 think time ,來更好的模擬現實中的情況。

軟體系統效能測試總結報告

修訂歷史 目錄1基本資訊 4 1.1背景 4 1.2參考資料 4 1.3名詞解釋 4 1.4測試目標 4 2測試工具及環境 4 2.1測試環境架構 4 2.2系統配置 4 2.3測試工具 4 3測試相關定義 4 4測試記錄和分析 5 4.1測試設計 5 4.2測試執行日誌 5 4.3測試結果彙總 5...

效能測試總結

效能測試流程可以分為以下四個階段 最初的效能測試請求 測試準備 指令碼開發和執行,以及測試分析 1.效能測試請求 根據產品和客戶的工作情況,需求。產品那個地方需要做效能測試和併發測試以防止產品壓力太大,導致系統垮掉。根據現實的情況,進行客戶資料量的評估,進行併發操作。2.測試準備 測試資料準備 測試...

軟體系統效能測試分析報告

修訂歷史記錄 目錄1 概述 3 1.1 編寫目的 3 1.2 專案背景 3 1.3 術語 縮略詞 3 1.4 測試目的 3 1.5 測試方法 3 1.6 測試範圍 3 2 參考文件 3 3 測試執 況 3 3.1 人力資源 3 3.2 測試時間 3 3.3 測試環境 3 3.4 測試過程安排及描述 ...