成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

WEB性能測試:你應該帶上Visual Studio 2010

原創
開發 后端
性能測試和調試是Visual Studio 2010旗艦版的重要賣點,Web測試和負載測試從VSTS 2005(Visual Studio Team System 2005)就開始支持,但Visual Studio 2010在原來的基礎上提供了大量的改進。

【51CTO獨家特稿】在Web性能測試方面,增加了循環(Loops)和條件(Conditions),讓開發人員可以為他們的應用程序寫出更復雜,更智能的測試;在負載測試方面,增加了64位代理和控制器,讓測試人員可以更高效地利用可用的硬件資源產生負載。此外,改變了負載測試代理和控制器的許可,提供了更多的靈活性,間接地更節省成本。

[[12110]]

Web測試允許你在你的ASP.NET Web應用程序上模擬一個用戶執行一組操作 – 通常是一個定義好的用例,然后確認程序的響應結果是否與預期結果一致,當你定義好Web測試后,可以將它們組織在一起就構成了負載測試,通過負載測試可以查看你的應用程序在壓力下的表現。本文將重點介紹如何使用Visual Studio 2010執行Web測試,負載測試將在另外一篇文章中介紹。

創建Web測試

Web測試通常是使用IE Web測試工具條創建的,它從頭到尾詳細記錄了測試人員在Web應用程序上的點擊動作,本文使用的示例代碼中,我們的Visual Studio測試項目叫做Com.Benday.WebTesting.WebTests,當然你可以在這個項目上點擊右鍵,選擇“新建Web測試”創建一個新的Web測試。

在項目上添加好新的Web測試后,Visual Studio將會打開IE瀏覽器,你將會在瀏覽器中看到Web測試記錄器面板,然后你可以轉到任意一個網站,就象平常瀏覽一樣進行操作,你的每一個操作都將被Web測試記錄器記錄下來,如圖1所示。

測試記錄

圖 1 Web測試記錄器記錄下的操作

當你想要記錄的操作執行完畢后,點擊“停止”按鈕,返回Visual Studio 2010,你將會在一個*.webtest文件中看到你的操作,如圖2所示。

測試

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

#p#

更復雜的Web測試

前面錄制的Web測試并沒有太大的實用價值,它僅僅回放了你的原始操作,并沒有檢查返回的值,也不知道你的應用程序工作得怎樣,但它是創建更復雜,更全面Web測試的基礎。

可以使用校驗規則,提取規則和Web測試請求中的測試上下文創建更智能的測試,校驗規則檢查從服務器返回的HTML,驗證應用程序是否如你預期那樣工作的,提取規則檢查HTML,提出值,保存在所謂的測試上下文字典結構中,這些值可用于響應后面的測試請求,創建動態的行為和動態的驗證。

本文所使用的示例代碼中,我提供了一個管理個人信息的Web應用程序,每個人的記錄都有姓名,電話號碼,Email地址,加上主鍵ID,其類圖如圖3所示,數據庫表結構如圖4所示,在我們的Web應用程序中將會使用這個ID值確定顯示和編輯哪個人的記錄。

Person類圖

圖 3 Person類圖

Person數據庫表結構

圖 4 Person數據庫表結構

假設你想模擬一群人通過你的Web應用程序在數據庫中創建個人信息,下面是創建一個新用戶的具體步驟:

1、在瀏覽器中訪問應用程序。

2、點擊“創建一個新用戶”。

2.1驗證是否顯示了“創建新用戶”界面。

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

創建新用戶

圖 5 創建新用戶

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

輸入新用戶信息

圖 6 輸入新用戶信息

4、點擊“保存”。驗證ID值是否不再是-1,如果不是-1表明新用戶已經創建成功,如圖7所示。

用戶創建成功后ID值不再是-1

圖 7 用戶創建成功后ID值不再是-1

5、返回人員名單界面,驗證新創建的用戶是否位于列表中,如圖8所示。

新創建的用戶位于列表中 

圖 8 新創建的用戶位于列表中

6、打開新建用戶的記錄,驗證內容與你輸入的是否一致。

#p#

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

我們首先從第2步開始,增加一個驗證規則檢查ID值是否等于-1,要做到這一點,你需要知道兩件事:1)哪個Web請求啟動“創建新用戶”頁面,2)顯示ID值的ASP.NET Label控件的名字。

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

點擊響應標簽,查看HTML

圖 9 點擊響應標簽,查看HTML,找出顯示ID信息Label控件的名字

當你知道這個控件的名字 - 在這個例子叫做m_labelId – 也弄清楚了你需要哪個Web請求后,在這個請求上點擊右鍵,選擇“添加驗證規則”,打開添加驗證規則對話框,如圖10所示。

給請求添加驗證規則

圖 10 給請求添加驗證規則

#p#

在Visual Studio 2010中,你可以使用標簽內文本(Tag Inner Text)驗證規則讀取m_labelId控件的值,如果你使用的是Visual Studio 2008,你需自己編寫驗證規則獲取它的值。

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

給保存按鈕增加文本發現驗證規則

圖 11 給保存按鈕增加文本發現驗證規則

你可能也想給這個請求增加一個提取規則,提取出m_labelId的值,便于后面的測試使用,對于這個要求,可以使用標簽內文本提取規則(Tag Inner Text Extraction Rule)提取m_labelId的值,然后將它放入名叫PersonId的上下文參數中,如圖12所示。

給人員PersonId值添加提取規則

圖 12 給人員PersonId值添加提取規則

#p#

Web測試參數

當你提取到你想要的值,保存在測試上下文后,可以利用Web測試參數將測試上下文中的值插入到Web測試請求中,在我們的Web應用程序示例中,EditPerson.aspx頁面使用了一個名叫ID的查詢字符串參數載入人員信息。

當你記錄Web測試時,它會保存你使用到的值,因此當你重新載入這個人的信息時,你會發現在查詢字符串參數的值是一個硬編碼的值,如圖13所示。

查詢字符串參數的值被硬編碼了

圖 13 查詢字符串參數的值被硬編碼了

如果你點擊Id參數,你會看到它的屬性對話框,在“值”屬性上,你可以點擊下拉列表看到所有的數據上下文值,你需要做的是選擇其中的PersonId上下文值,如圖14所示,之后查詢字符串參數的值就是動態填充的了。

將PersonId 上下文值綁定給Id查詢字符串參數

圖 14 將PersonId 上下文值綁定給Id查詢字符串參數

參數化有一個最佳實踐應該在所有Web測試中使用 – 參數化Web服務器地址,特別是你打算在最后的負載測試中使用這些Web測試時,幸運的是,在Web測試編輯器中有一個按鈕提供了這個功能,如圖15所示,參數化Web服務器地址后,所有Web測試請求都會轉移到參數化后的Web服務器地址。

參數化Web服務器按鈕

圖 15 參數化Web服務器按鈕

在Web測試的底部你應該看到有一個上下文參數(Context Parameters)節點,展開它就能看到測試期間引用的所有Web服務器,如圖16所示,這個功能非常有用,因為你運行Web測試的環境與運行負載測試的環境可能不同,另外,你可能將Web測試和負載測試與每日構建關聯起來了,服務器的變化取決于你的構建類型,即使你現在不需要它,你也會喜歡它的靈活性。

在測試上下文中的參數化Web服務器

圖 16 在測試上下文中的參數化Web服務器

#p#

數據源和數據綁定

用數據上下文值實現參數化僅僅是構建復雜的Web測試和負載測試的開始,你也可以給Web測試附加一個包含測試數據的數據源,對于數據源也可以運用參數化思想,每執行一次Web測試換一行數據。

獲得一個數據源最簡單的方法是創建一個用逗號分隔的值組成的CSV文件,并將它導入到你的Visual Studio測試項目,如圖17所示。

逗號分隔的數據源文件

圖 17 逗號分隔的數據源文件

導入這個CSV文件后,在Web測試上點擊右鍵,選擇“添加數據源”,如圖18所示,啟動添加數據源向導,如圖19所示。

給Web測試添加一個數據源

圖 18 給Web測試添加一個數據源

新建測試數據源向導對話框

圖 19 新建測試數據源向導對話框

#p#

當你配置好數據源后,就可以使用參數綁定將數據行值附加給你的Web測試請求,例如,如果你想使用數據源的值填充“創建新用戶”Web頁面中的字段,你可以將每個textbox控件的表單POST參數綁定到數據源中的字段,如圖20,21所示。

將m_textFirstName POST參數綁定到數據源的FirstName列

圖 20 將m_textFirstName POST參數綁定到數據源的FirstName列

數據綁定表單POST參數

圖 21 數據綁定表單POST參數

當你運行數據驅動的Web測試時,你會看到測試每執行一次就使用數據源中的一行數據,如圖22所示,這樣不僅可以創建一個動態的測試,也可以在大數據集上運行測試。

使用數據源執行多次迭代Web測試

圖 22 使用數據源執行多次迭代Web測試

小結

Web性能測試是構成負載測試的基礎,是測試你的Web應用程序確保質量和性能的有效方法,由數據驅動的Web性能測試使負載測試更接近真實環境,數據源的每一行數據由負載測試代理用來模擬用戶執行類似的用例,但每次用到的數據都不同,如果每次發給服務器的數據都是相同,這樣的測試不算真正意義上的測試。

Visual Studio 2010旗艦版中增強的Web測試和負載測試功能為減少QA周期提供了一個極好的方法,可以快速地確定你的應用程序是否如預期那樣工作,如果你從Team Foundation Server 2010自動構建執行測試,那么每次構建時都可以執行這些高質量的測試。

本文引用的示例程序全部源代碼可從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開發格式設置技巧
  2. Visual Studio 2010中手動添加圖片文件
  3. 使用Visual Studio 2010統一管理數據庫對象
  4. Visual Studio 2010 TFS探索之旅
  5. Visual Studio 2010更改顏色背景的方法

 

責任編輯:彭凡 來源: 51CTO
相關推薦

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

2009-12-15 09:36:32

Visual Stud

2010-02-23 16:24:47

Visual Stud

2009-11-10 13:43:37

Visual Stud

2011-03-01 08:47:40

Visual Stud

2010-02-23 10:39:43

Visual Stud

2010-01-28 09:07:50

Visual Stud

2009-12-02 10:15:22

Visual Stud

2010-03-22 09:08:24

Visual Stud

2009-12-02 10:38:02

Visual Stud

2010-02-22 16:43:33

Visual Stud

2009-11-11 09:48:06

Visual Stud

2009-08-31 09:14:28

Visual Stud

2009-07-07 09:52:17

Visual Stud

2010-03-02 09:10:41

Visual Stud
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产一区二区三区四区 | 中文字幕乱码一区二区三区 | 精品一区二区三区在线观看国产 | 天堂av中文在线 | 亚洲精品成人av久久 | 精品国产一区二区三区久久 | 久久精品欧美一区二区三区不卡 | 综合久久网 | 中文字幕一区在线观看视频 | av在线三级| 欧美在线一区二区三区 | 久久亚洲一区二区三区四区 | 亚洲精品国产a久久久久久 午夜影院网站 | 国产精品高潮呻吟久久aⅴ码 | 亚洲精品一区二区久 | 国内自拍视频在线观看 | 欧美aaa| 成人av播放 | 精品久久久久久亚洲综合网站 | 国产 欧美 日韩 一区 | 久草福利| 国产亚洲精品久久久优势 | 国产精品久久在线观看 | 国产精品高潮呻吟久久 | 久久999| 看黄在线 | 国产精品久久久久国产a级 欧美日本韩国一区二区 | 国产福利在线播放 | 日韩精品一二三 | 99亚洲精品| 欧美jizzhd精品欧美巨大免费 | 日韩91 | 九色综合网 | 国产日韩一区 | 中文字字幕一区二区三区四区五区 | 亚洲精品在线观看视频 | 欧洲高清转码区一二区 | 天天看片天天干 | 九九热精品视频 | 国产高清久久久 | 91最新入口|