VSTS For Testers讀書筆記(22)

來源:互聯網
上載者:User

八、監視與分析

—監視器和分析器

—關係圖

—表

—錯誤與閾值

—SQL跟蹤

—分析錯誤

—建立外掛程式

監視器和分析器

—監視器用來即時查看負載測試結果

—分析器用於檢查已經儲存的所有負載測試結果

 

—分析前提,設定了負載測試結果存放區

 

嵌入的狀態列顯示測試狀態以及錯誤或閾值衝突的總數。

使用“計數器”窗格中的樹結構來快速查看各種效能計數器或各個電腦。

—計數器

顯示已添加到負載測試中的效能計數器

—關係圖

顯示關係圖上來自運行期間收集到的資料的繪製點

—點

“關係圖”窗格的一部分。顯示當前關係圖中使用的資料。

—摘要

顯示從運行中得來的摘要資料。

—表

顯示一組包含運行資料的表,例如“錯誤”表和“閾值”表。在分析器中可以查看 SQL 追蹤資料。

關係圖

 

圖形化計數器的圖例顯示一些有用的資料列

預設關係圖(顯示使用者負載、輸送量和回應時間)

表
 

—表選項:

錯誤

顯示在運行期間建立的錯誤清單。

頁

顯示在運行中使用的頁列表。

請求

顯示在運行期間發送的所有 HTTP 要求。其中包括從屬請求,像。

測試

顯示負載測試中使用的測試清單。

閾值

顯示運行期間超過的閾值的列表。

事務

顯示運行中的事務列表。

SQL 追蹤

只有在使用 SQL 追蹤時,才可在運行後的分析器中看到該選項。

代理

只有在包含多個代理的 rig 上運行測試時,才可看到該選項。

錯誤與閾值

—錯誤和閾值計數在嵌入的狀態列上顯示為連結。

—單擊其中一個連結便會啟用相應的表:“錯誤”表或“閾值”表。

計數器樹顯示了閾值衝突。如果當前的採樣間隔內發生了閾值衝突,則除了節點名稱外,您還會看到一個紅色的符號或一個黃色的符號。在運行持續期間,這些符號將保留,但當不再超出閾值時,這些符號就會灰顯。

閾值網格顯示了前 1,000 個閾值衝突,包括髮生衝突的時間。

可以找到一個超出閾值的計數器,並通過把符號拖動到關係圖上的方式來繪製該計數器。

警告:

錯誤:

閾值

—在負載測試中顯示閾值衝突時,可以在兩種臨界值規則中進行選擇:

Ø比較常數

將效能計數器的值與一個常數值進行比較。

Ø比較計數器

將一個效能計數器的值與另一個效能計數器的值進行比較。

可以設定一個“警告閾值”層級,當達到該警告層級時,負載測試監視器和分析器中便會出現一個指示此警告的黃色符號。

可以設定一個“關鍵閾值”層級,當達到該警告層級時,負載測試監視器和分析器中便會出現一個指示此警告的紅色符號。

比較計數器屬性設定:臨界閾值和警告閾值

建立比較常數

建立比較計數器

SQL跟蹤

—通過收集跟蹤資料,可以識別出在所測試的 SQL 資料庫中運行速度最慢的查詢和預存程序。

—單擊“表”按鈕。從“表”列表框中選擇“SQL 追蹤”。

—通常,“期間”列是第一個要檢查的列。此列中收集的資料的單位為毫秒。

—SQL 追蹤面板將列出運行速度最慢的 SQL 操作,並根據期間按照最慢的操作放在最上面的方式來排序。

 

—此面板上可以顯示的 SQL 追蹤輸出中的資料列:

Ø事件類別

Ø期間

ØCPU

Ø讀取

Ø寫入

Ø文本資料

Ø開始時間

Ø結束時間

Ø主機名稱

Ø應用程式名稱

Ø登入名稱

ØNT 使用者名稱

 

如果需要跟蹤 SQL 事件而不是跟蹤在這些列中標識出的資料,則必須使用與 Visual Studio Team Edition for Testers 分開提供的 SQL Profiler 工具設定自己的自訂 SQL 追蹤。

分析錯誤

—提供了兩種查看錯誤的方式:關係圖和表

—Demo

—Example:Could not find dependent counter needed to apply threshold rule

—Example:The load test results database could not be opened.

解決參考:

http://msdn2.microsoft.com/en-us/vstudio/aa718685.aspx

建立外掛程式

—負載測試提供了API,Microsoft.VisualStudio.TestTools.LoadTesting

—可以使用API建立負載測試外掛程式

—Demo

using System;

using Microsoft.VisualStudio.TestTools.LoadTesting;

using System.Net.Mail;

using System.Windows.Forms;

namespace DataDrivenUnitTest

{

public class MyLoadTestPlugin : ILoadTestPlugin

{

LoadTest myLoadTest;

public void Initialize(LoadTest loadTest)

{

myLoadTest = loadTest;

myLoadTest.LoadTestFinished += new

EventHandler(myLoadTest_LoadTestFinished);

}

void myLoadTest_LoadTestFinished(object sender, EventArgs e)

{

try

{

// place custom code here

MailAddress MyAddress = new

MailAddress("someone@example.com");

MailMessage MyMail = new MailMessage(MyAddress, MyAddress);

MyMail.Subject = "Load Test Finished -- Admin Email";

MyMail.Body = ((LoadTest)sender).Name + " has finished.";

SmtpClient MySmtpClient = new

SmtpClient("localhost");

MySmtpClient.Send(MyMail);

}

catch (SmtpException ex)

{

MessageBox.Show(ex.InnerException.Message +

".\r\nMake sure you have a valid SMTP.");

}

}

}

}

—有八種事件與負載測試相關聯,且可在負載測試外掛程式中進行處理,以使用負載測試運行自訂代碼。以下是事件的列表,這些事件提供對負載測試啟動並執行不同時間段的訪問:

ØLoadTestStarting

ØLoadTestFinished

ØLoadTestWarmupComplete

ØTestStarting

ØTestFinished

ØThresholdExceeded

ØHeartBeat

ØLoadTestAborted

Demo下載

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.