分布式测试工具DTest

DTest是基于.NET实现的分布式压力测试工具,在实际应用经常需要制定一系列的测试用例对服务和功能进行压力测试,为了满足压力测试的力度往往需要添加大量的测试节点和部署测试用例.通过DTest工具可以轻松地把自定义的测试用例分发到不同节点下进行分布式测试,并把测试结果汇总到工具中.

DTest功能

DTest工具的主要功能包括:添加自定义测试用例,测试用例节点分发编译和测试用例运行.以下是工具的主要功能图.

通过工具可以查看测试用例,测试节点,日志和测试情况.

节点部署

DTest提供非常简单的节点部署功能,可以通过console或winservice的方式进行部署.在部署过程完全不需要做任何配置只要需要把节点启动起来就会自动寻找并连接到DTest的测试工具中.

节点部署完成后可以把测试用例同步到所有节点,并在测试的时候选择相应的节点即可进行压测.

构建测试用例和运行

DTest默认不提供测试用例,用户需要针对自己的业务场编写测试用例;编写测试用例非常简单引用Dtest.Core组件,实现IUnitTester或继承UnitTester重写相关方法即可.以下是一个简单的http get压力测试用例:

class HttpGet : UnitTester
    {
        public override string Name
        {
            get { return "HttpGet"; }
        }

        [PropertySetting]
        public string Cookie
        {
            get;
            set;
        }

        public override void Init(IContext context)
        {
            System.Net.ServicePointManager.DefaultConnectionLimit = 1024;

            base.Init(context);
        }

        [PropertySetting]
        public string URL { get; set; }

        [PropertySetting]
        public bool KeepAlive { get; set; }

        protected override void OnExecute(IContext context)
        {
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(URL);
            if (!string.IsNullOrEmpty(this.Cookie))
            {
                request.Headers.Add("Cookie", this.Cookie);
            }
            request.KeepAlive = KeepAlive;
            request.Method = "GET";
            byte[] data = new Byte[1024 * 8];
            using (System.IO.Stream stream = request.GetResponse().GetResponseStream())
            {
                while (stream.Read(data, 0, data.Length) > 0)
                {

                }
            }
        }
    }

在工具的samples目录也提供mysql和mssql一些测试用例用于参考.用例编写完成后可以通过编译成DLL或文件方式存储到相应的目录中,通过工具添加进来即可以运行(工具会自动对DLL或CS文件进行一个编译加载).不过在跑测试用例之前需要对测试用例进行一些设置,工具会自动把标有PropertySetting加载成为编辑内容提供编辑.

最后可以根据需要来运行具体的测试用例

下载

DTest(运行环境.net framework 4.0)

时间: 2024-10-12 13:34:13

分布式测试工具DTest的相关文章

分布式测试工具Beetle.DT的部署并进行HTTP,SQL,TCP压测

由于Beetle.DT是一个分布式压力测试工具,所以在使用上并不像普通工具那样安装运行这么简单:由于工具涉及到测试管理中心,节点和管理端等工具: 所以必须要进行相应的部署才能运行.接下来详解一下如果安装Beetle.DT并进行简单的HTTP,SQL和TCP相关压力测试. 运行环境要求 现有版本的Beetle.DT只能运行在windows+.net 4.5的基础上(暂只支持Console模试运行)在功能完善后会进行win service服务和.net core版的扩展开发.工具运行主要部署两大应用

Tsung:开源多协议分布式负载&压力测试工具

Main features High Performance: the load can be distributed on a cluster of client machines Multi-protocols using a plugin system: HTTP, WebDAV, SOAP, PostgreSQL, MySQL, LDAP , XMPP/Jabber, BOSH, MQTT and AMQP are currently supported. SSL is also sup

高性能 HTTP 负载测试工具 Vegeta及并行分布式运维工具pdsh

什么是 Vegeta Vegeta 是一个用 Go 语言编写的多功能的 HTTP 负载测试工具,它提供了命令行工具和一个开发库. 官方地址:https://github.com/tsenart/vegeta 安装 Vegeta Vegeta 安装非常简单,由于 Go 语言良好的跨平台性,可以直接下载官方的预编译版本后开箱即用. 预编译版本 这里以 Linux 版本为例: $ wget https://github.com/tsenart/vegeta/releases/download/v7.0

12个强大的Web服务测试工具

在过去的几年中,web服务或API的普及和使用有所增加. web服务或API是程序或软件组件的集合,可以帮助应用程序进行交互或通过形成其他应用程序或服务器之间的连接执行一些进程/事务处理.基本上有两种类型的web服务——基于互联网协议,REST和SOAP推动数据和信息的通讯. 由于这些web服务暴露于网络并且分布于不同的网络,所以它们很容易受到风险和安全威胁,从而影响基于它们的进程.因此,web服务或API测试非常有必要,可以确保它们执行正确并正确地响应查询. 市场上有不少商业和开源的测试工具可

压力负载测试工具

网站压力负载测试工具:Web版已逝,只好送大伙单机版 前言: 最近老板资金周转出了点问题,工资好久没发了,于是暂闲置在家,静待老板弄到钱东山再起的消息: QQ群里,偶尔不时的会有人问,原来的分布式网站负载工具怎么下载不了啦?或者不能用啦?之类的问题. 我只能说,鉴于互联网精神,我之前把它关了. 其实主要是我那个VPS商,前端时间,估计也是资金问题,泥玛尼的打不开1个月都没人理,最后还告诉我硬盘数据全没了. 好在我够善良,不然真想拿刀砍他. 趁着感冒,敲敲代码,刺激下大脑,提高下免疫力. 虽然原来

十大抢手的网站压力测试工具

两天,jnj在本站发布了<如何在低速率网络中测试 Web 应用>,那是测试网络不好的情况.而下面是十个免费的可以用来进行Web的负载/压力测试的工具,这样,你就可以知道你的服务器以及你的WEB应用能够顶得住多少的并发量,以及你的网站的性能.我相信,北京奥组委的订票网站的开发团队并不知道有这样的测试工具. Grinder –  Grinder是一个开源的JVM负载测试框架,它通过很多负载注射器来为分布式测试提供了便利. 支持用于执行测试脚本的Jython脚本引擎HTTP测试可通过HTTP代理进行

Jmeter 分布式测试

Jmeter 是Java 应用,对于CPU和内存的消耗比较大,因此,当需要模拟数以千计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心,甚至会引起JAVA内存溢出错误.为了让jmeter工具提供更大的负载能力,jmeter短小精悍一有了使用多台机器同时产生负载的机制. 那么,是如何实现多台负载机同时运行的呢?当然不会多个人坐在多台负载机面前,一喊开始,大家同时启动jmeter.这种方式很笨,也很难达到真正的同步.其实,我们通过单个jmeter 客户端就可以控制多个远程的jmeter服务

[网站安全] 十大抢手的网站压力测试工具

参考:http://www.oschina.net/news/30374/10-free-tools-to-loadstress-test-your-web?from=rss 两天,jnj在本站发布了<如何在低速率网络中测试 Web 应用>,那是测试网络不好的情况.而下面是十个免费的可以用来进行Web的负载/压力测试的工具,这样,你就可以知道你的服务器以及你的WEB应用能够顶得住多少的并发量,以及你的网站的性能.我相信,北京奥组委的订票网站的开发团队并不知道有这样的测试工具. Grinder 

十个免费的Web压力测试工具

两天,jnj在本站发布了<如何在低速率网络中测试 Web 应用>,那是测试网络不好的情况.而下面是十个免费的可以用来进行Web的负载/压力测试的工具,这样,你就可以知道你的服务器以及你的WEB应用能够顶得住多少的并发量,以及你的网站的性能.我相信,北京奥组委的订票网站的开发团队并不知道有这样的测试工具. Grinder –  Grinder是一个开源的JVM负载测试框架,它通过很多负载注射器来为分布式测试提供了便利. 支持用于执行测试脚本的Jython脚本引擎HTTP测试可通过HTTP代理进行