温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么进行WebBenchmark的动态数据测试

发布时间:2021-12-09 11:04:17 来源:亿速云 阅读:165 作者:柒染 栏目:大数据

这篇文章将为大家详细讲解有关怎么进行WebBenchmark的动态数据测试,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

    对于很多WebApi管理工具来说,针对接口的性能测试都拿固定的数据进行一个循环式的测试;这种测试只能确保当前数据下的有效性,但在性能测试中往往需要压测不同的数据分布,这样能够更准确地反映在不同数据下系统的处理能力。

     WebBenchmark工具引入了值函数的概念,值函数是一系列的数据自定义函数;通过它可以让性能测试数据 覆盖面更广,从而达到更好性能测试结果。工具默认提供一些基础函数:

  • @[date] 返回当前日期

  • @[date(yyyy-MM-dd)] 返回指定格式的日期

  • @[date(HH:mm)] 返回时间

  • @[number] 返回一个随机数

  • @[number(1,100)] 返回一个指定区间的随机数

  • @[nextstr(userid)] 从一个字符列表中随机返回一项数据

  • @[guid] 获取一个GUID值

以上是工具提供的一些基础函数,实际应用中也可以根据自己的需要扩展自己的一些函数;这些函数可以直接定义在querystring,header或提交的数据中,定义后这些相关值每次请求都会从函数中获取相应的数据。接下来介绍一下函数的使用:

Webapi定义

下面用aspcore定义一个webapi项目来对值函数定义的测试,以下是一个简单的webapi接口

    [ApiController]    [Route("[controller]")]    public class WeatherForecastController : ControllerBase    {        private static readonly string[] Summaries = new[]        {            "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"        };
       private readonly ILogger<WeatherForecastController> _logger;
       public WeatherForecastController(ILogger<WeatherForecastController> logger)        {            _logger = logger;        }        [HttpPost]        public object Post([FromBody]Property item)        {            return item;        }
       [HttpGet]        public IEnumerable<WeatherForecast> Get(int count=10)        {            var rng = new Random();            return Enumerable.Range(1, count).Select(index => new WeatherForecast            {                Date = DateTime.Now.AddDays(index),                TemperatureC = rng.Next(-20, 55),                Summary = Summaries[rng.Next(Summaries.Length)]            })            .ToArray();        }    }    public class Property    {        public string Name { get; set; }
       public string Value { get; set; }    }

GET方法测试

方法提供一个count参数,根据参数值返回对应数量的数据。接下来看一下这个测试的内容是怎定义的。

怎么进行WebBenchmark的动态数据测试

在地址参数中定义一个count变量,然后在值里通过@[number(1,10)]来产生一个1-10之间的随机数。

怎么进行WebBenchmark的动态数据测试

怎么进行WebBenchmark的动态数据测试

以上是针对这测试定义的两次测试结果,可以看到每次产生的count值都有所不同。

POST方法

值函数不但可以用在Url参数和Header上,也可以用在提交的参数上,包括json的成员属性中。

怎么进行WebBenchmark的动态数据测试

可以在提交内容的任意地方引入值函数,以上是测试是在Value值中随机一个数值;

怎么进行WebBenchmark的动态数据测试

怎么进行WebBenchmark的动态数据测试

可以看到每次提交的数据都有所不同。

nextstr函数

这是一个组合函数,它的参数需要一个变量,接下来定义一个User列表的表量,并在数据提交的时候随机一个用户名。首先需要变量列表中添加一个列表变量

怎么进行WebBenchmark的动态数据测试

接下来不可以通过nextstr函数随机这个列表变量

怎么进行WebBenchmark的动态数据测试

接下来做多次测试

怎么进行WebBenchmark的动态数据测试

怎么进行WebBenchmark的动态数据测试

这样每次提交的name和value值都是通过函数随机生成了。

关于怎么进行WebBenchmark的动态数据测试就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI