• VSTS For Testers读书笔记(22)


    八、监视与分析

    —监视器和分析器

    —关系图

    —表

    —错误与阈值

    —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下载

    OscarXie.net

    关注质量与体验——电子商务与自动化测试
    http://www.cnblogs.com/oscarxie/

  • 相关阅读:
    Atitit. 真正的全中国文字attilax易语言的特点以及范例
    Atitit.nosql api 标准化 以及nosql数据库的实现模型分类差异
    Google"员工"曝内幕:Google员工的17个秘密
    WINDOWS 乱码解决
    计算机软件开发文档编写指南
    概要设计阶段概要设计说明书
    关于管理的经典故事(员工激励)
    概要设计阶段组装测试计划
    一个还不太老的程序员的体会
    程序员四大忌 你该如何避免呢?
  • 原文地址:https://www.cnblogs.com/oscarxie/p/789976.html
Copyright © 2020-2023  润新知