情境壓力測試即主體向被觀察者布置一定任務和作業,借以觀察個體完成任務的行為。工作樣本測驗、無領導小組討論都可算作情境壓力測驗。
在軟件工程中,壓力測試是對系統不斷施加壓力的測試,是通過確定一個系統的瓶頸或者不能接收的性能點,來獲得系統能提供的最大服務級別的測試。例如測試一個 Web 站點在大量的負荷下,何時系統的響應會退化或失敗,F在的網絡游戲中也常用到這個詞匯。
網絡定義:
2009年9月7日下午,移動公司開商務車裝載200多部電信手機,在溫州某大學邊上不停撥打,導致電信網絡癱瘓。電信發現后連車帶人押送到公安局,在公安局,移動自稱沒有違法,只是幫電信做壓力測試。
“壓力測試”與俯臥撐、打醬油等詞匯一樣,成為網絡流行詞匯。
壓力測試、終端機性能功率、各項性能趨勢指標等。
VSTS提供了一個豐富、強大的工具平臺,融合了軟件開發領域的各個角色,涵蓋軟件開發生命周期的各個階段,包括設計,開發,測試,管理,而這一整套構件的融會貫通,讓它可以有效地改善軟件開發過程中各個階段的弊端,提高團隊之間不同的角色的協調能力,提高工作效率。
本文就簡單介紹一下如何利用VSTS給一個網站做壓力測試。
1 建立一個測試項目,起名MyTest
2 建立一個Web Test
點擊Web Test...
IE馬上就會彈出一個窗口,這樣錄制腳本工作就可以開始了。
3 在IE里輸入要測試的網站地址: 比如 http://localhost/WebSite/Default.aspx
4 對該網站做一些操作, 此時VSTS會紀錄下你的這些操作,用以作為壓力測試的場景。
5 錄制腳本畢,點擊 "STOP"
6 點擊生成代碼,可以看到剛才錄制的類似如下的代碼:
//------------------------------------------------------------------------------
// <auto-generated>
// This co
// Runtime Version:2.0.50727.42
//
// Changes to this file may cause incorrect beha
// the co
// </auto-generated>
//------------------------------------------------------------------------------
namespace MyTest
{
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.VisualStudio.TestTools.WebTesting;
using Microsoft.VisualStudio.TestTools.WebTesting.Rules;
public class WebTest1Coded : WebTest
{
public WebTest1Coded()
{
this.PreAuthenticate = true;
}
public override IEnumerator<WebTestRequest> GetRequestEnumerator()
{
WebTestRequest request1 = new WebTestRequest("http://localhost/WebSite/Default.aspx");
request1.ThinkTime = 1688;
ExtractHiddenFields rule1 = new ExtractHiddenFields();
rule1.ContextParameterName = "1";
request1.ExtractValues += new EventHandler<ExtractionEventArgs>(rule1.Extract);
yield return request1;
WebTestRequest request2 = new WebTestRequest("http://localhost/WebSite/Default.aspx");
request2.ThinkTime = 2;
request2.Method = "POST";
FormPostHttpBody request2Body = new FormPostHttpBody();
request2Body.FormPostParameters.Add("__VIEWSTATE", this.Context["$HIDDEN1.__VIEWSTATE"].ToString());
request2Body.FormPostParameters.Add("Button1", "Go to Test Page");
request2Body.FormPostParameters.Add("__VIEWSTATEENCRYPTED", this.Context["$HIDDEN1.__VIEWSTATEENCRYPTED"].ToString());
request2Body.FormPostParameters.Add("__EVENTVALIDATION", this.Context["$HIDDEN1.__EVENTVALIDATION"].ToString());
request2.Body = request2Body;
ExtractHiddenFields rule2 = new ExtractHiddenFields();
rule2.ContextParameterName = "1";
request2.ExtractValues += new EventHandler<ExtractionEventArgs>(rule2.Extract);
yield return request2;
WebTestRequest request3 = new WebTestRequest("http://localhost/WebSite/test.aspx");
request3.Method = "POST";
FormPostHttpBody request3Body = new FormPostHttpBody();
request3Body.FormPostParameters.Add("__VIEWSTATE", this.Context["$HIDDEN1.__VIEWSTATE"].ToString());
request3Body.FormPostParameters.Add("Button1", "Go to default page.");
request3Body.FormPostParameters.Add("__EVENTVALIDATION", this.Context["$HIDDEN1.__EVENTVALIDATION"].ToString());
request3.Body = request3Body;
yield return request3;
}
}
}
7 添加一個Load Test ...
8 填寫好Load Test的各項參數
1) 第一步是填寫場景名
2) 第二步是填寫裝載的樣式
如果選擇一次裝載固定的用戶數,選擇第一項Constant Load
如果選擇"Setp Load",表示步增,設置好開始時的用戶數,以及經過多久每次增加的用戶數
3) Test Mix
4) Browser Mix
5) Network Mix
6) 在Counter Sets 選擇Add Compuer...,表示要對某個PC進行監控
7) Run Settings
9 點擊Finish
10 點擊Run Test,測試就開始了。
壓力測試運行后,我們就可以選中某個參數,查看某個時刻機器個方面的性能。參看下圖:
我們也可以運行perfmon,通過Performance查看機器的各項指標。
文章來源于領測軟件測試網 http://www.kjueaiud.com/