自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

WEB性能測(cè)試:你應(yīng)該帶上Visual Studio 2010

原創(chuàng)
開(kāi)發(fā) 后端
性能測(cè)試和調(diào)試是Visual Studio 2010旗艦版的重要賣(mài)點(diǎn),Web測(cè)試和負(fù)載測(cè)試從VSTS 2005(Visual Studio Team System 2005)就開(kāi)始支持,但Visual Studio 2010在原來(lái)的基礎(chǔ)上提供了大量的改進(jìn)。

【51CTO獨(dú)家特稿】在Web性能測(cè)試方面,增加了循環(huán)(Loops)和條件(Conditions),讓開(kāi)發(fā)人員可以為他們的應(yīng)用程序?qū)懗龈鼜?fù)雜,更智能的測(cè)試;在負(fù)載測(cè)試方面,增加了64位代理和控制器,讓測(cè)試人員可以更高效地利用可用的硬件資源產(chǎn)生負(fù)載。此外,改變了負(fù)載測(cè)試代理和控制器的許可,提供了更多的靈活性,間接地更節(jié)省成本。

[[12110]]

Web測(cè)試允許你在你的ASP.NET Web應(yīng)用程序上模擬一個(gè)用戶(hù)執(zhí)行一組操作 – 通常是一個(gè)定義好的用例,然后確認(rèn)程序的響應(yīng)結(jié)果是否與預(yù)期結(jié)果一致,當(dāng)你定義好Web測(cè)試后,可以將它們組織在一起就構(gòu)成了負(fù)載測(cè)試,通過(guò)負(fù)載測(cè)試可以查看你的應(yīng)用程序在壓力下的表現(xiàn)。本文將重點(diǎn)介紹如何使用Visual Studio 2010執(zhí)行Web測(cè)試,負(fù)載測(cè)試將在另外一篇文章中介紹。

創(chuàng)建Web測(cè)試

Web測(cè)試通常是使用IE Web測(cè)試工具條創(chuàng)建的,它從頭到尾詳細(xì)記錄了測(cè)試人員在Web應(yīng)用程序上的點(diǎn)擊動(dòng)作,本文使用的示例代碼中,我們的Visual Studio測(cè)試項(xiàng)目叫做Com.Benday.WebTesting.WebTests,當(dāng)然你可以在這個(gè)項(xiàng)目上點(diǎn)擊右鍵,選擇“新建Web測(cè)試”創(chuàng)建一個(gè)新的Web測(cè)試。

在項(xiàng)目上添加好新的Web測(cè)試后,Visual Studio將會(huì)打開(kāi)IE瀏覽器,你將會(huì)在瀏覽器中看到Web測(cè)試記錄器面板,然后你可以轉(zhuǎn)到任意一個(gè)網(wǎng)站,就象平常瀏覽一樣進(jìn)行操作,你的每一個(gè)操作都將被Web測(cè)試記錄器記錄下來(lái),如圖1所示。

測(cè)試記錄

圖 1 Web測(cè)試記錄器記錄下的操作

當(dāng)你想要記錄的操作執(zhí)行完畢后,點(diǎn)擊“停止”按鈕,返回Visual Studio 2010,你將會(huì)在一個(gè)*.webtest文件中看到你的操作,如圖2所示。

測(cè)試

圖 2 在.webtest文件中的操作記錄

#p#

更復(fù)雜的Web測(cè)試

前面錄制的Web測(cè)試并沒(méi)有太大的實(shí)用價(jià)值,它僅僅回放了你的原始操作,并沒(méi)有檢查返回的值,也不知道你的應(yīng)用程序工作得怎樣,但它是創(chuàng)建更復(fù)雜,更全面Web測(cè)試的基礎(chǔ)。

可以使用校驗(yàn)規(guī)則,提取規(guī)則和Web測(cè)試請(qǐng)求中的測(cè)試上下文創(chuàng)建更智能的測(cè)試,校驗(yàn)規(guī)則檢查從服務(wù)器返回的HTML,驗(yàn)證應(yīng)用程序是否如你預(yù)期那樣工作的,提取規(guī)則檢查HTML,提出值,保存在所謂的測(cè)試上下文字典結(jié)構(gòu)中,這些值可用于響應(yīng)后面的測(cè)試請(qǐng)求,創(chuàng)建動(dòng)態(tài)的行為和動(dòng)態(tài)的驗(yàn)證。

本文所使用的示例代碼中,我提供了一個(gè)管理個(gè)人信息的Web應(yīng)用程序,每個(gè)人的記錄都有姓名,電話(huà)號(hào)碼,Email地址,加上主鍵ID,其類(lèi)圖如圖3所示,數(shù)據(jù)庫(kù)表結(jié)構(gòu)如圖4所示,在我們的Web應(yīng)用程序中將會(huì)使用這個(gè)ID值確定顯示和編輯哪個(gè)人的記錄。

Person類(lèi)圖

圖 3 Person類(lèi)圖

Person數(shù)據(jù)庫(kù)表結(jié)構(gòu)

圖 4 Person數(shù)據(jù)庫(kù)表結(jié)構(gòu)

假設(shè)你想模擬一群人通過(guò)你的Web應(yīng)用程序在數(shù)據(jù)庫(kù)中創(chuàng)建個(gè)人信息,下面是創(chuàng)建一個(gè)新用戶(hù)的具體步驟:

1、在瀏覽器中訪問(wèn)應(yīng)用程序。

2、點(diǎn)擊“創(chuàng)建一個(gè)新用戶(hù)”。

2.1驗(yàn)證是否顯示了“創(chuàng)建新用戶(hù)”界面。

2.2驗(yàn)證所有文本輸入框是否都是空白的,以及ID值是否等于-1,如果是-1就表明你是在創(chuàng)建新用戶(hù),如圖5所示。

創(chuàng)建新用戶(hù)

圖 5 創(chuàng)建新用戶(hù)

3、輸入新用戶(hù)的信息,如圖6所示。

輸入新用戶(hù)信息

圖 6 輸入新用戶(hù)信息

4、點(diǎn)擊“保存”。驗(yàn)證ID值是否不再是-1,如果不是-1表明新用戶(hù)已經(jīng)創(chuàng)建成功,如圖7所示。

用戶(hù)創(chuàng)建成功后ID值不再是-1

圖 7 用戶(hù)創(chuàng)建成功后ID值不再是-1

5、返回人員名單界面,驗(yàn)證新創(chuàng)建的用戶(hù)是否位于列表中,如圖8所示。

新創(chuàng)建的用戶(hù)位于列表中 

圖 8 新創(chuàng)建的用戶(hù)位于列表中

6、打開(kāi)新建用戶(hù)的記錄,驗(yàn)證內(nèi)容與你輸入的是否一致。

#p#

如果使用Web測(cè)試記錄器,可以很容易記錄下最基本的操作,但每次新增用戶(hù)時(shí),ID值由于是主鍵,因此每次都會(huì)發(fā)生變化,這就使得回放操作更復(fù)雜了。

我們首先從第2步開(kāi)始,增加一個(gè)驗(yàn)證規(guī)則檢查ID值是否等于-1,要做到這一點(diǎn),你需要知道兩件事:1)哪個(gè)Web請(qǐng)求啟動(dòng)“創(chuàng)建新用戶(hù)”頁(yè)面,2)顯示ID值的ASP.NET Label控件的名字。

解決這兩個(gè)問(wèn)題最好的辦法是運(yùn)行Web測(cè)試,然后分析其結(jié)果,結(jié)果記錄清晰地記錄了你發(fā)送給Web應(yīng)用程序的請(qǐng)求以及從Web應(yīng)用程序返回的結(jié)果,通過(guò)查看HTML內(nèi)容,可以確定每個(gè)請(qǐng)求都發(fā)生了什么,使用了哪些Web控件,它們的名字是什么都一清二楚,如圖9所示。

點(diǎn)擊響應(yīng)標(biāo)簽,查看HTML

圖 9 點(diǎn)擊響應(yīng)標(biāo)簽,查看HTML,找出顯示ID信息Label控件的名字

當(dāng)你知道這個(gè)控件的名字 - 在這個(gè)例子叫做m_labelId – 也弄清楚了你需要哪個(gè)Web請(qǐng)求后,在這個(gè)請(qǐng)求上點(diǎn)擊右鍵,選擇“添加驗(yàn)證規(guī)則”,打開(kāi)添加驗(yàn)證規(guī)則對(duì)話(huà)框,如圖10所示。

給請(qǐng)求添加驗(yàn)證規(guī)則

圖 10 給請(qǐng)求添加驗(yàn)證規(guī)則

#p#

在Visual Studio 2010中,你可以使用標(biāo)簽內(nèi)文本(Tag Inner Text)驗(yàn)證規(guī)則讀取m_labelId控件的值,如果你使用的是Visual Studio 2008,你需自己編寫(xiě)驗(yàn)證規(guī)則獲取它的值。

接下來(lái)我們創(chuàng)建一個(gè)規(guī)則,確保保存成功后,人員ID值不等于-1,這一次可以使用查找文本(Find Text)規(guī)則,將發(fā)現(xiàn)文本則通過(guò)(Pass If Text Found)屬性設(shè)為否(False),如圖11所示,如果你發(fā)現(xiàn)標(biāo)簽控件的文本和值是-1,規(guī)則驗(yàn)證就失敗,表明未保存成功。

給保存按鈕增加文本發(fā)現(xiàn)驗(yàn)證規(guī)則

圖 11 給保存按鈕增加文本發(fā)現(xiàn)驗(yàn)證規(guī)則

你可能也想給這個(gè)請(qǐng)求增加一個(gè)提取規(guī)則,提取出m_labelId的值,便于后面的測(cè)試使用,對(duì)于這個(gè)要求,可以使用標(biāo)簽內(nèi)文本提取規(guī)則(Tag Inner Text Extraction Rule)提取m_labelId的值,然后將它放入名叫PersonId的上下文參數(shù)中,如圖12所示。

給人員PersonId值添加提取規(guī)則

圖 12 給人員PersonId值添加提取規(guī)則

#p#

Web測(cè)試參數(shù)

當(dāng)你提取到你想要的值,保存在測(cè)試上下文后,可以利用Web測(cè)試參數(shù)將測(cè)試上下文中的值插入到Web測(cè)試請(qǐng)求中,在我們的Web應(yīng)用程序示例中,EditPerson.aspx頁(yè)面使用了一個(gè)名叫ID的查詢(xún)字符串參數(shù)載入人員信息。

當(dāng)你記錄Web測(cè)試時(shí),它會(huì)保存你使用到的值,因此當(dāng)你重新載入這個(gè)人的信息時(shí),你會(huì)發(fā)現(xiàn)在查詢(xún)字符串參數(shù)的值是一個(gè)硬編碼的值,如圖13所示。

查詢(xún)字符串參數(shù)的值被硬編碼了

圖 13 查詢(xún)字符串參數(shù)的值被硬編碼了

如果你點(diǎn)擊Id參數(shù),你會(huì)看到它的屬性對(duì)話(huà)框,在“值”屬性上,你可以點(diǎn)擊下拉列表看到所有的數(shù)據(jù)上下文值,你需要做的是選擇其中的PersonId上下文值,如圖14所示,之后查詢(xún)字符串參數(shù)的值就是動(dòng)態(tài)填充的了。

將PersonId 上下文值綁定給Id查詢(xún)字符串參數(shù)

圖 14 將PersonId 上下文值綁定給Id查詢(xún)字符串參數(shù)

參數(shù)化有一個(gè)最佳實(shí)踐應(yīng)該在所有Web測(cè)試中使用 – 參數(shù)化Web服務(wù)器地址,特別是你打算在最后的負(fù)載測(cè)試中使用這些Web測(cè)試時(shí),幸運(yùn)的是,在Web測(cè)試編輯器中有一個(gè)按鈕提供了這個(gè)功能,如圖15所示,參數(shù)化Web服務(wù)器地址后,所有Web測(cè)試請(qǐng)求都會(huì)轉(zhuǎn)移到參數(shù)化后的Web服務(wù)器地址。

參數(shù)化Web服務(wù)器按鈕

圖 15 參數(shù)化Web服務(wù)器按鈕

在Web測(cè)試的底部你應(yīng)該看到有一個(gè)上下文參數(shù)(Context Parameters)節(jié)點(diǎn),展開(kāi)它就能看到測(cè)試期間引用的所有Web服務(wù)器,如圖16所示,這個(gè)功能非常有用,因?yàn)槟氵\(yùn)行Web測(cè)試的環(huán)境與運(yùn)行負(fù)載測(cè)試的環(huán)境可能不同,另外,你可能將Web測(cè)試和負(fù)載測(cè)試與每日構(gòu)建關(guān)聯(lián)起來(lái)了,服務(wù)器的變化取決于你的構(gòu)建類(lèi)型,即使你現(xiàn)在不需要它,你也會(huì)喜歡它的靈活性。

在測(cè)試上下文中的參數(shù)化Web服務(wù)器

圖 16 在測(cè)試上下文中的參數(shù)化Web服務(wù)器

#p#

數(shù)據(jù)源和數(shù)據(jù)綁定

用數(shù)據(jù)上下文值實(shí)現(xiàn)參數(shù)化僅僅是構(gòu)建復(fù)雜的Web測(cè)試和負(fù)載測(cè)試的開(kāi)始,你也可以給Web測(cè)試附加一個(gè)包含測(cè)試數(shù)據(jù)的數(shù)據(jù)源,對(duì)于數(shù)據(jù)源也可以運(yùn)用參數(shù)化思想,每執(zhí)行一次Web測(cè)試換一行數(shù)據(jù)。

獲得一個(gè)數(shù)據(jù)源最簡(jiǎn)單的方法是創(chuàng)建一個(gè)用逗號(hào)分隔的值組成的CSV文件,并將它導(dǎo)入到你的Visual Studio測(cè)試項(xiàng)目,如圖17所示。

逗號(hào)分隔的數(shù)據(jù)源文件

圖 17 逗號(hào)分隔的數(shù)據(jù)源文件

導(dǎo)入這個(gè)CSV文件后,在Web測(cè)試上點(diǎn)擊右鍵,選擇“添加數(shù)據(jù)源”,如圖18所示,啟動(dòng)添加數(shù)據(jù)源向?qū)В鐖D19所示。

給Web測(cè)試添加一個(gè)數(shù)據(jù)源

圖 18 給Web測(cè)試添加一個(gè)數(shù)據(jù)源

新建測(cè)試數(shù)據(jù)源向?qū)?duì)話(huà)框

圖 19 新建測(cè)試數(shù)據(jù)源向?qū)?duì)話(huà)框

#p#

當(dāng)你配置好數(shù)據(jù)源后,就可以使用參數(shù)綁定將數(shù)據(jù)行值附加給你的Web測(cè)試請(qǐng)求,例如,如果你想使用數(shù)據(jù)源的值填充“創(chuàng)建新用戶(hù)”Web頁(yè)面中的字段,你可以將每個(gè)textbox控件的表單POST參數(shù)綁定到數(shù)據(jù)源中的字段,如圖20,21所示。

將m_textFirstName POST參數(shù)綁定到數(shù)據(jù)源的FirstName列

圖 20 將m_textFirstName POST參數(shù)綁定到數(shù)據(jù)源的FirstName列

數(shù)據(jù)綁定表單POST參數(shù)

圖 21 數(shù)據(jù)綁定表單POST參數(shù)

當(dāng)你運(yùn)行數(shù)據(jù)驅(qū)動(dòng)的Web測(cè)試時(shí),你會(huì)看到測(cè)試每執(zhí)行一次就使用數(shù)據(jù)源中的一行數(shù)據(jù),如圖22所示,這樣不僅可以創(chuàng)建一個(gè)動(dòng)態(tài)的測(cè)試,也可以在大數(shù)據(jù)集上運(yùn)行測(cè)試。

使用數(shù)據(jù)源執(zhí)行多次迭代Web測(cè)試

圖 22 使用數(shù)據(jù)源執(zhí)行多次迭代Web測(cè)試

小結(jié)

Web性能測(cè)試是構(gòu)成負(fù)載測(cè)試的基礎(chǔ),是測(cè)試你的Web應(yīng)用程序確保質(zhì)量和性能的有效方法,由數(shù)據(jù)驅(qū)動(dòng)的Web性能測(cè)試使負(fù)載測(cè)試更接近真實(shí)環(huán)境,數(shù)據(jù)源的每一行數(shù)據(jù)由負(fù)載測(cè)試代理用來(lái)模擬用戶(hù)執(zhí)行類(lèi)似的用例,但每次用到的數(shù)據(jù)都不同,如果每次發(fā)給服務(wù)器的數(shù)據(jù)都是相同,這樣的測(cè)試不算真正意義上的測(cè)試。

Visual Studio 2010旗艦版中增強(qiáng)的Web測(cè)試和負(fù)載測(cè)試功能為減少Q(mào)A周期提供了一個(gè)極好的方法,可以快速地確定你的應(yīng)用程序是否如預(yù)期那樣工作,如果你從Team Foundation Server 2010自動(dòng)構(gòu)建執(zhí)行測(cè)試,那么每次構(gòu)建時(shí)都可以執(zhí)行這些高質(zhì)量的測(cè)試。

本文引用的示例程序全部源代碼可從http://visualstudiomagazine.com/~/media/ECG/visualstudiomagazine/Code%20Download/2010/06/BenDay_WebTesting_vs2010.ashx下載。

原文名:Web Performance Testing with Visual Studio 2010

【編輯推薦】

  1. Visual Studio 2010中Xaml開(kāi)發(fā)格式設(shè)置技巧
  2. Visual Studio 2010中手動(dòng)添加圖片文件
  3. 使用Visual Studio 2010統(tǒng)一管理數(shù)據(jù)庫(kù)對(duì)象
  4. Visual Studio 2010 TFS探索之旅
  5. Visual Studio 2010更改顏色背景的方法

 

責(zé)任編輯:彭凡 來(lái)源: 51CTO
相關(guān)推薦

2011-02-13 17:10:28

Visual Stud

2009-12-21 09:55:53

Visual Stud

2010-07-27 09:40:01

敏捷Visual Stud

2010-07-29 09:41:23

Visual Stud

2009-12-02 09:43:38

Visual Stud

2010-04-01 14:51:52

Visual Stud

2010-02-23 16:24:47

Visual Stud

2009-12-15 09:36:32

Visual Stud

2009-11-10 13:43:37

Visual Stud

2010-02-23 10:39:43

Visual Stud

2011-03-01 08:47:40

Visual Stud

2009-12-02 10:15:22

Visual Stud

2010-03-22 09:08:24

Visual Stud

2010-01-28 09:07:50

Visual Stud

2009-12-02 10:38:02

Visual Stud

2009-11-11 09:48:06

Visual Stud

2010-02-22 16:43:33

Visual Stud

2009-08-31 09:14:28

Visual Stud

2010-03-02 09:10:41

Visual Stud

2009-07-07 09:52:17

Visual Stud
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)