[圖書連載]負載測試(Load Test)

2020-12-06 CSDN技術社區

本文為電子工業出版社推出的《構築敏捷的開發團隊:微軟Visual Studio 2010實戰兵法》圖書第八章連載之二十三。

負載測試(Load Testing)是確定在各種工作負載下系統的性能,目標是測試當負載逐漸增加時,系統組成部分的相應輸出項,例如通過量、響應時間、CPU負載、內存使用等來決定系統的性能。負載測試是一個分析軟體應用程式和支撐架構、模擬真實環境的使用,從而確定能夠接收的性能過程。壓力測試(Stress Testing)是通過確定一個系統的瓶頸或者不能接收的性能點,來獲得系統能提供的最大服務級別的測試。

Visual Studio Team System 2010給我們提供了一個創建並運行Load tests的工具。Load Test的基本目標就是模擬許多用戶同時訪問伺服器。當從一個Load tests裡面添加Web tests/Unit tests後,會模擬多個用戶同時連接到伺服器上,並向伺服器發送多個HTTP請求。可以設置Load tests的屬性,並廣泛地運用到你的Web tests中。

應用&實踐:使用Visual Studio 2010創建一個負載測試(Load Test)

1.創建一個負載測試

Visual Studio 2010負載試驗提供了每個負載測試的場景設置,使您可在整個負載範圍內進行場景測試的控制,因此,新的選項允許更容易地創建一個負載測試,精確模型的負載可以在伺服器下執行模擬測試。

(1)設置負載測試的名稱和思考時間的配置

首先,使用負載測試嚮導創(Load Test Wizard)建一個新的負載測試。打開資源解決方案瀏覽器(Solution Explorer),右鍵菜單中選「Add」,單擊「Load Test..」,在彈出安裝嚮導中,單擊「Next」鍵,彈出場景嚮導界面。場景為配置個性化測試提供了靈活性,它可以模擬複雜真實的工作負載。輸入場景名字為「TestScenario」,選擇「user normal distribution centered on recorded think times(正態分布用戶為中心的思考時間記錄)」,設置思考時間為2秒(思考時間根據實際需要而設置),然後單擊「Next」,如圖1所示。

圖1  指定負載模式

在完成嚮導後,也可以返回並編輯負載測試,並更改的設置,在嚮導中選擇適用的配置選項。

負載測試包含一個或多個場景,這是用來模擬如何與一組用戶的伺服器應用程式進行交互。一個人的情況涉及負載模式,測試組合,瀏覽器結構,網絡結構。這些設置的每一個對應於網頁中的負載測試嚮導。

(2)測試組合類

Load pattern屬性指定了在一個load test過程中如何調整模擬的用戶數。選擇Constant Load,設置用戶數為25,然後單擊「Next」,如圖2所示。

圖2  選擇組合模式

在該模式中包括基於總測試數、基於虛擬用戶數、基於用戶節奏,不同的建模方式其分配的百分比不同。負載模式可以指定新用戶的增加活躍的虛擬用戶的數量。再負載測試多個負載模式的能力,來實現測試目標。我們必須指定負載測試中每個場景的負載模式。

(3)測試組合

將所有的webtest組合在一起,(Test mix model)模擬最真實用戶作業系統的環境。我們可以有多個工作流,這樣就更加貼近終端用戶交互你應用程式的情況。

①選擇「Based on the total number of tests」,然後單擊「Next」,如圖3所示。

圖3  測試組合模式(基於測試總數)

其中各組合模式的介紹參考圖3中的選中部分,該說明有對不同的模型進行介紹。

②如果選擇「Based on sequential test order」,然後選擇「Next」,嚮導頁面將添加到順序的測試。此項是新的「Test Mix」基於順序測試項(如圖4(1)所示),每個虛擬用戶將通過順序測試和語序對其設置,此選項可在新的負載測試和新的場景中使用。如圖4(2)所示。

圖4(1)  測試組合模式(基於順序測試順序)

圖4(2)  基於順序測試場景

如圖2所示,圖表文字說明的行為,並顯示與25個虛擬用戶和兩個場景的測試例子。無需輸入百分比或為其他測試混合類型協調信息。如果創建了這個測試組合類型的負載測試方案,可以隨後使用負載測試編輯器的混合編輯器更改測試混合型,或添加、刪除或更改測試順序嚮導。

(4)添加組合

Test mix指定了虛擬用戶在一個load test場景中運行一個給定測試的可能性。能讓你更加真實地模擬負載。我們單擊「Add」添加一個Web test 或 unit test(在這裡我們可以增加一個Webtest測試),選擇一個測試項,然後單擊「OK」。如圖5所示。

圖5  添加測試組合併進行方案分配

在圖5中,可以對組合的測試項目進行百分比分配,當對其中某個測試項目加鎖後,更改其他項目的百分比,該測試項目的百分比不能再進行更改,但是可以對鎖定的測試進行獨立修改。

提示:Web性能測試(Web Performance Test)

VS 2010版本中,微軟把Web Test改為Web Performance Test,可以在VS 2010解決方案資源管理器,打開一個測試項目,右鍵菜單|Add|Web Performance Test或者在VS 2010 IDE菜單Test|New Tes|Web Performance Test進行創建。創建時IE會自動彈出,當輸入被測試Webz地址時,會自動錄製腳本並可以手動生成C#或者VB腳本代碼。然後加入到Load Test中進行集成測試中一部分,與Load Test 測試方式相似,在這裡不再贅述。

「Web 測試」也稱為聲明性 Web 測試,它由一系列 HTTP 請求組成。Web 測試通過發出 HTTP 請求在協議層工作。Web 測試不運行 JavaScript。但是,可以在運行時通過使用 Web 測試插件、Web 測試請求插件、提取規則或編碼的 Web 測試來模擬 JavaScript 操作。 它用於測試 Web 應用程式的功能以及在負載下測試 Web 應用程式。Web 測試可用於性能測試和壓力測試。 通過在瀏覽器會話中記錄活動,可以創建 Web 測試。還可以使用 Web 測試編輯器手動構建 Web 測試。 要測試 Web 應用程式,請通過記錄在 Web 應用程式中導航的測試來創建 Web 測試。

(5)添加網絡組合

模擬在不同的網絡環境下訪問系統。Network mix指定了虛擬用戶運行一個網絡profile的可能性。選擇網絡類型「LAN」,然後單擊「Next」按鈕,如圖6所示。

圖6  添加網絡組合

可以添加多個網絡組合,並可以對其網絡類型進行百分比分配。當鎖定其中某個網絡類型的百分比後,修改其他的網絡類型,該網絡類型的百分比不發生變化,但是可以獨立修改該網絡類型的百分比。

(6)瀏覽器組合

模擬不同的瀏覽器訪問Web系統。Browser mix指定了虛擬用戶運行多種瀏覽器綜合測試的可能性。選擇網絡類型「Internet Explorer 8.0」,然後單擊「Next」按鈕,如圖7所示。

圖7  添加瀏覽器組合

可以添加多個瀏覽器的組合。也可以對其瀏覽器進行百分比分配,當鎖定其中某個瀏覽器的百分比後,修改其他的瀏覽器,該瀏覽器的百分比不發生變化,但是可以獨立修改該瀏覽器的百分比。

(7)計數器設置(Counter sets)

添加被監控的伺服器的計算機名字或者IP位址,以監控其具體的計數器。Counter sets是一系列系統性能計數器,在運行一個load test過程中對性能監視很有用,添加計算機名「Local Computer」,選擇「Next」,如圖8所示。

圖8  添加計數設置

添加計算機。輸入需要被監控計算機的名字或IP位址,並選擇需要監控的參數。選中參數後,該參數會在右側顯示。

(8)運行設置

模擬虛擬用戶在系統中運行的時間和採樣速率等。The run settings確定了測試的時間長度、warm-up期限、採樣率、連接模型 (僅用於Web tests)、結果存儲的類型、有效等級和SQL跟蹤。我們選擇測試時間長度為5分鐘,然後單擊 「Finish」按鈕,創建了一個名為「LoadTest1」的負載測試。如圖9所示。查看測試結果,如圖10所示。

圖9  運行設置

圖10  查看結果顯示

[上一節] 在VS 2010中啟用單元測試覆蓋率(enable code coverage)

[下一節] 高負載測試(Test Load Agent)

相關焦點

  • 汽車安全測試 load dump拋負載測試分享:直流電源SYSKON系列
    汽車安全測試 load dump拋負載測試分享:直流電源SYSKON系列消費者的多樣化需求,導致車上搭載的電子設備增多(LED大燈、液晶顯示屏、車載音響、無線充電器等等),而這些電子設備均需要供電。牽扯到電,各類安全性測試就是重中之重。
  • 伺服器性能指標 負載(Load)分析及問題排查
    本文,主要來介紹一下一個比較重要的指標——機器負載(Load),主要涉及負載的定義、查看負載方式、負載飆高排查思路等。➜ ~uptime13:29 up23:41, 3users,loadaverages: 1.741.871.97 這行信息的後半部分,顯示"load average",它的意思是"系統的平均負荷",裡面有三個數字,我們可以從中判斷系統負荷是大還是小。
  • 10大主流壓力/負載/性能測試工具推薦
    ,為了保證網際網路產品的服務交付質量,往往還需要做壓力/負載/性能測試。那麼網際網路產品為什麼要進行壓力/負載/性能測試,又有哪些工具幫我們實現呢,本文將為您細說端詳。壓力/負載/性能測試之異同在產品研發過程中,常常會混淆壓力/負載/性能測試這三者之間的區別,這三種測試到底有什麼不同呢?
  • 您知道load是什麼意思嗎?
    說到load這個單詞,我們都知道的意思是負載、負荷。除了這類意思,您知道load還有什麼意思嗎?今天,我們就一起看一下load的用法。首先,我們看一下load做名詞的用法。這句話中loads是load的複數形式,意思是負載、負荷。2、He put half a load of washing in the machine.他把限量一半的衣物放進了洗衣機。這句話中load的意思是裝載量、容納量。
  • 乾貨丨Python接口測試自動化實戰及代碼示例:含get、post等方法
    該框架使用簡單,需要編寫以 test 開頭的函數,選擇 unittest 框架運行測試函數,測試結果在終端顯示。為了實現測試數據與測試腳本分離,可以將 testData 列表單獨寫在文本文件或者資料庫中,運行測試腳本時再去加載這些數據,就能實現測試腳本與測試數據的分離。
  • Speedtest for mac(網速測試工具)
    Ookla Speedtest 是一款 Mac 網速測試工具。可以幫助您進行 30 秒上傳速度測試及下載速度測試。Speedtest 設計美觀,使用簡單,全球分布的網絡可以讓您在任何地方測速都變得既方便又準確。
  • 電子負載電池測試
    電池容量測試電子負載的原理是控制內部功率MOSFET或電晶體的導通量(量佔空比大小),依靠功率管的耗散功率消耗電能的設備。它能夠準確檢測出負載電壓,精確調整負載電流。因此電子負載是測試電池的良好工具。現在我們使用鼎陽科技的一款SDL1030X進行電池測試,來展示如何進行電池測試。
  • 軟體測試中的性能測試 負載測試 壓力測試
    jmeter可以通過線程組驅動多個線程,運行測試腳本對被測伺服器發起負載,每個負載機都可以運行多個線程組。控制機:參與腳本的運行,可以指揮遠程負載機運行,收集遠程負載機的測試結果。4.幾個典型的場景,如何基於jmeter設計測試腳本?比如:參數化、關聯、控制TPS、接口加密驗籤、階梯式加壓、集合點、檢查點等;5.什麼是負載測試?什麼是性能測試?什麼是壓力測試?
  • The Donkey and the Load of Salt
    A Merchant(商人), driving his Donkey(驢) homeward from the seashore(海岸) with a heavy loat(負載、裝貨) of salt(鹽),came to a river crossed by a shallow(淺的、淺灘) ford(涉水、渡河).
  • Bluetest支持安捷倫 PXT進行LTE OTA測試
    2012 年 2 月 10日,北京――安捷倫科技公司(NYSE:A)宣布 Bluetest AB 現已支持 Agilent PXT 無線通信測試儀。Bluetest RTS(混響測試系統)使用 Agilent PXT 測試儀來測評 LTE OTA器件。
  • Wondfo 2019-nCoV Antigen Test Got Registration Certificate
    Wondfo 2019-nCoV Antigen Test (Lateral Flow Method) delivers reliable test results in 20 minutes.It can quickly detect positive cases during the acute phase of the infection when the virus load is high, ideal for applications to the early clinical classification and efficient management of suspected
  • 直流電子負載測試方法研究
    直流電子負載應用量很大,其主要通過模擬實物負載和負載波形,既可以實現對電源供應器規格特性的測試,也可作為ATE或ATS系統的組成單元,在線對充電器、蓄電池等的壽命特性及功率電子元器件的參數特性進行測試。
  • 半導體廠商如何做晶片的出廠測試?
    : DC parameters Test 主要包含以下測試,Continuity測試(又稱open/short test)主要是檢查晶片的引腳以及和機臺的連接是否完好。
  • 常見的硬度測試(中英文)
    它是用一定質量的裝有碳化鎢球頭的衝擊體,在一定彈簧彈力的作用下衝擊試件表面,這種衝擊力使被測材料表面產生了塑性變形,形成了一個壓痕,隨之衝擊體失去了原有的速度(或能量)。因此,被測材料越柔軟,衝擊體在回彈過程中失去的速度就越多。裡氏硬度可以應用於多種零件,需要遵守的測試要求也很少。
  • 交流測試負載的典型應用領域
    北京群菱生產的交流測試負載可以有效評估檢測柴油發電機組的安全性、典型應用: 1、200KW交流測試負載 滿足1-250kVA柴油發電機檢測,滿足發電機組性能全自動測量、驗收UI檢修檢測、高海拔性能驗證檢測。產品重量700KG,可移動,帶有全自動測量功能、自動出具檢測報告。
  • 「Acid test」是什麼意思呢?剛考完化學的你都不一定知道
    感覺很久沒說俚語了,今天我們就來隨便講幾個有趣的俚語小知識吧~小夥伴們見諒哈,昨天高考結束了,看了很多孩子開心的出考場,就讓我想到了曾經高考的自己,高考無非就是考試,test測驗,先說一個與這個有關的俚語吧!
  • 電機測試如何選擇負載制動器
    打開APP 電機測試如何選擇負載制動器 ZLG致遠電子 發表於 2015-10-21 17:20:27   摘要:目前市場上電機測試系統的電機負載種類繁多
  • Ookla Speedtest安卓專業版v4.5.11 網速測試
    Ookla Speedtest,手機網速測試工具,全球排名第一的網絡測速網站Speedtest.net安卓客戶端,30秒內即可完成網速測試,支持查看Ping值、下載速度、上傳速度,實時圖表顯示測試結果,排除故障或確認您應有的網速,跟蹤過往測試結果可以得出詳細報告,分享你的測試結果,讓你可隨時隨地得到準確的結果
  • 費思可編程直流電子負載的測試方法
    具體地說,電子負載是通過控制內部功率器件MOSFET或電晶體的導通量,使功率管耗散功率,消耗電能的設備。廣泛運用於飛機、艦船、發電機組、蓄電池、蓄電池組日常維護、放電、活化實驗、電源設備實驗、老化、電參數性能測試、科研生產、教學等各個領域。  電子負載一般具有定電流、定電壓、定電阻、定功率、短路及動態負載多種模式,可以模擬各種不同的負載狀況。
  • Z-Test vs T-Test vs F-Test vs χ2-Test
    但是什麼時候用哪個測試呢?  本文提供部分比較,以供參考。假設檢驗兩種對立的假設零假設   (Null Hypothesis)           :一般指兩者之間沒影響, 譬如無罪。對立假設(Alternative Hypothesis):指兩者之間有影響,存在解釋和預測的可能性。