• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 軟件測試中Web 測試的創作與調試技術

    發表于:2010-11-22來源:作者:點擊數: 標簽:
    軟件測試 中Web 測試的創作與調試技術 Josh Christie 軟件設計工程師 Microsoft Visual Studio 2005 - Web 和 負載測試 適用于: Visual Studio 2005 Team Suite Visual Studio 2005 Team Edition for Software Testers 摘要: 學習有關 Visual Studio 2005
    軟件測試中Web 測試的創作與調試技術
    Josh Christie
    軟件設計工程師
    Microsoft Visual Studio 2005 - Web 和負載測試

    適用于:
    Visual Studio 2005 Team Suite
    Visual Studio 2005 Team Edition for Software Testers

    摘要:學習有關 Visual Studio 2005 Web 測試的更多知識,包括 Web 測試引擎和記錄器如何工作,以及如何創建有效的 Web 測試。

    本頁內容

    讀者 讀者
    簡介 簡介
    記錄一個 Web 測試 記錄一個 Web 測試
    運行并驗證 Web 測試 運行并驗證 Web 測試
    解決常見的 Web 測試問題 解決常見的 Web 測試問題
    深入研究進行編碼的 Web 測試 深入研究進行編碼的 Web 測試
    小結 小結

    讀者

    本文面向的測試人員開發人員,是那些想豐富有關 Microsoft Visual Studio 2005 Team Edition for Software Testers 中 Web 測試功能經驗的人員。

    返回頁首

    簡介

    Microsoft Visual Studio 2005 Team Edition for Software Testers 引入了一個全新的用于 Web 和負載測試的強大工具集。Web 應用程序的負載測試可跨多個計算機進行并模擬成千上萬個用戶,但其核心則是一個 Web 測試集合。本文針對的讀者是這樣一些測試和開發人員,他們想學習更多有關創建有效的 Web 測試并對它們進行調試,以確保按預期方式運行的技術。

    返回頁首

    記錄一個 Web 測試

    了解 Web Test Recorder

    Web Test Recorder 掛鉤到 Internet Explorer 對象模型,偵聽不同的導航事件。該類記錄的主要優點是,可以記錄安全套接字層 (SSL) 和已驗證身份的 Web 站點,而沒有任何特殊的配置要求。

    該記錄方法的另一方面是,Web 測試中不記錄諸如圖像、級聯樣式表(cascading style sheet,CSS)文件和 JavaScript 文件這樣的依賴請求。相反,這些依賴請求在 Web 測試執行過程中從 HTML 頁中被分析出來并進行自動請求。該功能有助于 Web 測試能更好地還原裝飾性的 Web 站點更改,使測試更關注于 Web 應用程序的實際使用。如果需要,也可以禁用該功能,方法是將請求的 ParseDependentRequests 屬性設置為 false。

    該記錄方法的一個不足是,它可能無法記錄由 JavaScript(例如,在 AJAX 站點上)、ActiveX 控件和某些類型的彈出窗口發出的請求,因為 Internet Explorer 無法始終引發所需的事件。在多數情況下,可手動地將丟失的請求添加回 Web 測試來解決這些問題,稍后將闡述這一點。

    插入注釋

    在記錄過程中插入注釋有助于創建有效的 Web 測試,特別是當 Web 測試包含很多請求時。您應該使用注釋來說明在 Web 測試的不同點應該采用什么邏輯操作,例如,“登錄”、“將項 X 添加到購物車”等。當您稍后在 Web 測試編輯器中修改 Web 測試時,這些注釋是非常有用的。

    您也可以使用注釋來說明需要添加什么樣的驗證規則以確保 Web 測試成功。較之于在 Web 測試編輯器中查看 HTTP 請求列表而言,在記錄并查看頁面時決定需要對每個請求進行哪些驗證更容易進行。

    謹記要記錄 Think Time

    Web 測試請求的 ThinkTime 屬性是指用戶在發出下一個請求之前花在當前頁的“思考”時間。Think time 延遲用于在負載測試過程估算實際用戶的行為。由于 Think time 對 Web 測試可以生成的負載量會產生巨大的影響,因此在負載測試中可全面禁用它,以便將更大的負載應用到目標服務器。禁用 Think time 使您能夠盡快發出對服務器的請求,而不會產生請求間的延遲。

    Web 測試記錄器在針對 Web 應用程序的請求進行記錄時自動記錄 Think time。在記錄過程中,嘗試估算用戶通常在每個頁面上將花費的時間。當記錄完成后,查看針對每個請求記錄的思考時間尤為重要。無意中造成的較長思考時間會極大地影響 Web 測試生成請求的速率。默認情況下,Think time 在 Web Test Viewer 中是關閉的。因此,較長的思考時間不可能立即體現出來。當 Think time 在 Web Test Viewer 中打開時,您將看到 HTTP 狀態欄中顯示“Thinking…[n]”,直到下一請求開始。默認情況下,Think time 在負載測試中打開。當暫停記錄并輸入注釋時,Think time 計數器停止。

    返回頁首

    運行并驗證 Web 測試

    了解 Web 測試引擎

    有關 Web 測試引擎需要了解的一個關鍵概念是,Web 測試在 HTTP 層工作。Web 測試包含一個 HTTP 請求列表;這些請求主要都是由查詢字符串參數、窗體參數和針對 Web 服務器的 URL 組成的。Web 測試引擎執行這些 HTTP 請求,從服務器(一個或多個)檢索響應,以及收集計時數據。

    由于 Web 測試引擎在 HTTP 層起作用,因此它并不直接模擬客戶端腳本,例如,JavaScript 或 ActiveX 控件。Web 測試關注在服務器上生成負載。因此,只影響 Web 頁外觀的客戶端腳本對 Web 測試而言并不重要。那些在附加 HTTP 請求(例如,AJAX)中設置參數值或結果的客戶端腳本影響服務器上的負載,而且可能需要手動修改 Web 測試來模擬該腳本。本文稍后將描述這些修改類型。

    一個常見的誤解是,由于記錄發生在 Internet Explorer 中,因此認為 Web 測試必須使用 Internet Explorer 執行。事實并非如此。所有請求直接使用 Web 測試引擎執行;不發生與 Internet Explorer 或其他任何瀏覽器的交互。Web 測試引擎使用標準 HTTP 請求/響應消息直接與目標 Web 服務器通訊。

    同樣,在 Web Test Viewer 的 Web Browser 選項卡上嵌入的 Internet Explorer 控件只顯示由 Web 測試引擎接收的響應頁。Web 測試引擎將響應寫入磁盤的臨時位置,然后將臨時文件加載到 Web Test Viewer 中的 Internet Explorer 控件。如果用于其他瀏覽器的頁面沒有在 Web Browser 選項卡上中正確顯示,則使用 Response 選項卡對其進行驗證。

    另一個容易令人混淆的方面是,運行 Web 負載測試時可以選擇不同的瀏覽器模板。這些瀏覽器模板只影響隨每個請求發送的默認 HTTP 標頭集。Web 服務器用于確定瀏覽器類型的關鍵標頭是 UserAgent 標頭。Web 測試引擎直接使用標準 HTTP 協議發出請求,而無論選擇哪個瀏覽器模板。

    使用 Web Test Viewer 驗證 Web 測試

    在將 Web 測試添加到一個負載測試并進行長期運行之前,重要的是確保該測試按預期方式正常工作。這就是引入 Web Test Viewer 的原因。Web Test Viewer 使您能夠在運行 Web 測試時對其進行監視,并查看前一測試運行的所有方面。

    1

    要驗證一個新建的 Web 測試是否過載,只需查看該測試運行的結果并查明它是否通過。例如,對于一個不具有驗證規則的 Web 測試而言,通過只意味著沒有引發異常,沒有規則失敗,而且沒有出現 HTTP 錯誤。對于驗證而言,除了確保無錯誤執行外,還包括確保 Web 測試在目標 Web 應用程序上表現出正確的行為。重要的是查看每個請求的響應以確保它是正確的。

    下表列出驗證 Web 測試時需要查看的項,以及有關每種問題類型的附加信息。

    要檢查的問題

    附加信息/解決方案

    HTTP 請求錯誤

    HTTP 錯誤由 400-599 范圍內的一個響應狀態代碼表示。通常,一個 HTTP 錯誤包含一個指示該問題原因的響應體。

    例如,“401 Unauthorized”錯誤可能指示用戶名和密碼需要在 Web 測試的根節點進行配置?!?04 Not Found”錯誤可能指示 Web 應用程序從開始記錄以來已經發生了更改?!?00 Internal Server Error”通常指示 Web 應用程序中有錯誤。

    未找到依賴請求

    頂級請求可能由于它其中的一個依賴請求未被發現而導致失敗。這可能指示 Web 應用程序的 HTML 有問題??梢酝ㄟ^禁用針對該請求的 ParseDependentRequests 屬性避免這些錯誤。這樣就防止依賴請求(例如,圖像、CSS 和 javascript)被自動地分析為 HTML 并進行請求。

    提取和驗證規則失敗

    提取和驗證規則失敗在 Details 選項卡中顯示。造成失敗的原因通常是 Web 服務器返回了包含意外內容的頁,例如,重定向到一個登錄頁或錯誤的頁。

    提取規則失敗通常引起關于后續請求的錯誤,例如,“X was not found in the Web test context.”。

    測試級異常

    在 Web Test Viewer 中,測試級異常顯示為最后一次成功請求后的節點。測試級異常包括 WebTestPlugins、PreWebTest 和 PostWebTest 事件處理程序中的異常,以及非特定于編碼 Web 測試中具體請求的異常。

    請求級異常

    請求級異常導致單個請求失敗,但允許 Web 測試繼續。這些異常包括從 WebTestRequestPlugins、PreRequest 和 PostRequest 事件處理程序,以及提取和驗證規則引發的異常。異常消息以及堆棧跟蹤(如果可用)在 Web Test Viewer 中 Details 選項卡的底部顯示。

    服務器返回的錯誤頁內容

    要驗證 Web 服務器返回正確的內容,通常在 Web Test Viewer 的 Web Browser 和 Response 選項卡中以可視化方式檢查每個頁面。

    在驗證 Web 測試工作正常之后,驗證規則可用于自動處理該過程。

    返回頁首

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>