软件测试中用VSTS进行网站压力测试

发表于:2010-12-28来源:作者:点击数: 标签:软件测试软件才是基础JScript编程方法网络游戏
软件测试 中用 VSTS 进行 网站压力测试 情境压力测试即主体向被观察者布置一定任务和作业,借以观察个体完成任务的行为。工作样本测验、无领导小组讨论都可算作情境压力测验。 在 软件工程 中,压力测试是对系统不断施加压力的测试,是通过确定一个系统的瓶

软件测试中用VSTS进行网站压力测试

情境压力测试即主体向被观察者布置一定任务和作业,借以观察个体完成任务的行为。工作样本测验、无领导小组讨论都可算作情境压力测验。
   在软件工程中,压力测试是对系统不断施加压力的测试,是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。例如测试一个 Web 站点在大量的负荷下,何时系统的响应会退化或失败。现在的网络游戏中也常用到这个词汇。
  网络定义:
  2009年9月7日下午,移动公司开商务车装载200多部电信手机,在温州某大学边上不停拨打,导致电信网络瘫痪。电信发现后连车带人押送到公安局,在公安局,移动自称没有违法,只是帮电信做压力测试。  
 “压力测试”与俯卧撑、打酱油等词汇一样,成为网络流行词汇。
  压力测试、终端机性能功率、各项性能趋势指标等。

VSTS提供了一个丰富、强大的工具平台,融合了软件开发领域的各个角色,涵盖软件开发生命周期的各个阶段,包括设计,开发,测试,管理,而这一整套构件的融会贯通,让它可以有效地改善软件开发过程中各个阶段的弊端,提高团队之间不同的角色的协调能力,提高工作效率。

本文就简单介绍一下如何利用VSTS给一个网站做压力测试。

1 建立一个测试项目,起名MyTest

用VSTS进行网站压力测试  - tester - 测试艺术

2 建立一个Web Test

用VSTS进行网站压力测试  - tester - 测试艺术

点击Web Test...

IE马上就会弹出一个窗口,这样录制脚本工作就可以开始了。

3 在IE里输入要测试的网站地址: 比如 http://localhost/WebSite/Default.aspx

4 对该网站做一些操作, 此时VSTS会纪录下你的这些操作,用以作为压力测试的场景。

5 录制脚本毕,点击 "STOP"

6 点击生成代码,可以看到刚才录制的类似如下的代码:

用VSTS进行网站压力测试  - tester - 测试艺术//------------------------------------------------------------------------------

用VSTS进行网站压力测试  - tester - 测试艺术// <auto-generated>

用VSTS进行网站压力测试  - tester - 测试艺术//     This code was generated by a tool.

用VSTS进行网站压力测试  - tester - 测试艺术//     Runtime Version:2.0.50727.42

用VSTS进行网站压力测试  - tester - 测试艺术//

用VSTS进行网站压力测试  - tester - 测试艺术//     Changes to this file may cause incorrect behavior and will be lost if

用VSTS进行网站压力测试  - tester - 测试艺术//     the code is regenerated.

用VSTS进行网站压力测试  - tester - 测试艺术// </auto-generated>

用VSTS进行网站压力测试  - tester - 测试艺术//------------------------------------------------------------------------------

用VSTS进行网站压力测试  - tester - 测试艺术

用VSTS进行网站压力测试  - tester - 测试艺术namespace MyTest

用VSTS进行网站压力测试  - tester - 测试艺术用VSTS进行网站压力测试  - tester - 测试艺术用VSTS进行网站压力测试  - tester - 测试艺术{

用VSTS进行网站压力测试  - tester - 测试艺术    using System;

用VSTS进行网站压力测试  - tester - 测试艺术    using System.Collections.Generic;

用VSTS进行网站压力测试  - tester - 测试艺术    using System.Text;

用VSTS进行网站压力测试  - tester - 测试艺术    using Microsoft.VisualStudio.TestTools.WebTesting;

用VSTS进行网站压力测试  - tester - 测试艺术    using Microsoft.VisualStudio.TestTools.WebTesting.Rules;

用VSTS进行网站压力测试  - tester - 测试艺术

用VSTS进行网站压力测试  - tester - 测试艺术

用VSTS进行网站压力测试  - tester - 测试艺术    public class WebTest1Coded : WebTest

用VSTS进行网站压力测试  - tester - 测试艺术用VSTS进行网站压力测试  - tester - 测试艺术    用VSTS进行网站压力测试  - tester - 测试艺术{

用VSTS进行网站压力测试  - tester - 测试艺术

用VSTS进行网站压力测试  - tester - 测试艺术        public WebTest1Coded()

用VSTS进行网站压力测试  - tester - 测试艺术用VSTS进行网站压力测试  - tester - 测试艺术        用VSTS进行网站压力测试  - tester - 测试艺术{

用VSTS进行网站压力测试  - tester - 测试艺术            this.PreAuthenticate = true;

用VSTS进行网站压力测试  - tester - 测试艺术        }

用VSTS进行网站压力测试  - tester - 测试艺术

用VSTS进行网站压力测试  - tester - 测试艺术        public override IEnumerator<WebTestRequest> GetRequestEnumerator()

用VSTS进行网站压力测试  - tester - 测试艺术用VSTS进行网站压力测试  - tester - 测试艺术        用VSTS进行网站压力测试  - tester - 测试艺术{

用VSTS进行网站压力测试  - tester - 测试艺术            WebTestRequest request1 = new WebTestRequest("http://localhost/WebSite/Default.aspx");

用VSTS进行网站压力测试  - tester - 测试艺术            request1.ThinkTime = 1688;

用VSTS进行网站压力测试  - tester - 测试艺术            ExtractHiddenFields rule1 = new ExtractHiddenFields();

用VSTS进行网站压力测试  - tester - 测试艺术            rule1.ContextParameterName = "1";

用VSTS进行网站压力测试  - tester - 测试艺术            request1.ExtractValues += new EventHandler<ExtractionEventArgs>(rule1.Extract);

用VSTS进行网站压力测试  - tester - 测试艺术            yield return request1;

用VSTS进行网站压力测试  - tester - 测试艺术

用VSTS进行网站压力测试  - tester - 测试艺术            WebTestRequest request2 = new WebTestRequest("http://localhost/WebSite/Default.aspx");

用VSTS进行网站压力测试  - tester - 测试艺术            request2.ThinkTime = 2;

用VSTS进行网站压力测试  - tester - 测试艺术            request2.Method = "POST";

用VSTS进行网站压力测试  - tester - 测试艺术            FormPostHttpBody request2Body = new FormPostHttpBody();

用VSTS进行网站压力测试  - tester - 测试艺术            request2Body.FormPostParameters.Add("__VIEWSTATE", this.Context["$HIDDEN1.__VIEWSTATE"].ToString());

用VSTS进行网站压力测试  - tester - 测试艺术            request2Body.FormPostParameters.Add("Button1", "Go to Test Page");

用VSTS进行网站压力测试  - tester - 测试艺术            request2Body.FormPostParameters.Add("__VIEWSTATEENCRYPTED", this.Context["$HIDDEN1.__VIEWSTATEENCRYPTED"].ToString());

用VSTS进行网站压力测试  - tester - 测试艺术            request2Body.FormPostParameters.Add("__EVENTVALIDATION", this.Context["$HIDDEN1.__EVENTVALIDATION"].ToString());

用VSTS进行网站压力测试  - tester - 测试艺术            request2.Body = request2Body;

用VSTS进行网站压力测试  - tester - 测试艺术            ExtractHiddenFields rule2 = new ExtractHiddenFields();

用VSTS进行网站压力测试  - tester - 测试艺术            rule2.ContextParameterName = "1";

用VSTS进行网站压力测试  - tester - 测试艺术            request2.ExtractValues += new EventHandler<ExtractionEventArgs>(rule2.Extract);

用VSTS进行网站压力测试  - tester - 测试艺术            yield return request2;

用VSTS进行网站压力测试  - tester - 测试艺术

用VSTS进行网站压力测试  - tester - 测试艺术            WebTestRequest request3 = new WebTestRequest("http://localhost/WebSite/test.aspx");

用VSTS进行网站压力测试  - tester - 测试艺术            request3.Method = "POST";

用VSTS进行网站压力测试  - tester - 测试艺术            FormPostHttpBody request3Body = new FormPostHttpBody();

用VSTS进行网站压力测试  - tester - 测试艺术            request3Body.FormPostParameters.Add("__VIEWSTATE", this.Context["$HIDDEN1.__VIEWSTATE"].ToString());

用VSTS进行网站压力测试  - tester - 测试艺术            request3Body.FormPostParameters.Add("Button1", "Go to default page.");

用VSTS进行网站压力测试  - tester - 测试艺术            request3Body.FormPostParameters.Add("__EVENTVALIDATION", this.Context["$HIDDEN1.__EVENTVALIDATION"].ToString());

用VSTS进行网站压力测试  - tester - 测试艺术            request3.Body = request3Body;

用VSTS进行网站压力测试  - tester - 测试艺术            yield return request3;

用VSTS进行网站压力测试  - tester - 测试艺术        }

用VSTS进行网站压力测试  - tester - 测试艺术    }

用VSTS进行网站压力测试  - tester - 测试艺术}

用VSTS进行网站压力测试  - tester - 测试艺术

7 添加一个Load Test ...

用VSTS进行网站压力测试  - tester - 测试艺术

8 填写好Load Test的各项参数

 用VSTS进行网站压力测试  - tester - 测试艺术

1) 第一步是填写场景名

2) 第二步是填写装载的样式

    如果选择一次装载固定的用户数,选择第一项Constant Load

    如果选择"Setp Load",表示步增,设置好开始时的用户数,以及经过多久每次增加的用户数

3) Test Mix

4) Browser Mix

5) Network Mix

6) 在Counter Sets 选择Add Compuer...,表示要对某个PC进行监控

7) Run Settings

9 点击Finish

10 点击Run Test,测试就开始了。

用VSTS进行网站压力测试  - tester - 测试艺术

压力测试运行后,我们就可以选中某个参数,查看某个时刻机器个方面的性能。参看下图: 

用VSTS进行网站压力测试  - tester - 测试艺术

我们也可以运行perfmon,通过Performance查看机器的各项指标。

原文转自:http://www.ltesting.net