Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Performance 在功能测试中使用性能度量_Performance_Unit Testing_Performance Testing - Fatal编程技术网

Performance 在功能测试中使用性能度量

Performance 在功能测试中使用性能度量,performance,unit-testing,performance-testing,Performance,Unit Testing,Performance Testing,我正在尝试将性能度量添加到单元测试中。我的总体想法如下: 我有预定义的RESTAPI调用,这些调用在后台执行一些逻辑,其中一些逻辑用于查询数据库 我想用从生产系统获取的模拟数据(例如10K行)填充数据库 我使用各种参数随机调用RESTAPI(同样来自生产)。多次执行同一批调用并计算平均时间 第一次运行此测试将生成一个基数,用于后续运行中的比较,此基数是手动完成的,而不是单元测试的一部分 如果运行所有这些查询所需的时间超过我在上一个项目符号中计算的基数的某个阈值(例如5%),则此测试失败 最大

我正在尝试将性能度量添加到单元测试中。我的总体想法如下:

  • 我有预定义的RESTAPI调用,这些调用在后台执行一些逻辑,其中一些逻辑用于查询数据库
  • 我想用从生产系统获取的模拟数据(例如10K行)填充数据库
  • 我使用各种参数随机调用RESTAPI(同样来自生产)。多次执行同一批调用并计算平均时间
  • 第一次运行此测试将生成一个基数,用于后续运行中的比较,此基数是手动完成的,而不是单元测试的一部分
  • 如果运行所有这些查询所需的时间超过我在上一个项目符号中计算的基数的某个阈值(例如5%),则此测试失败
最大的问题是它运行的每台计算机上的数字不同,因此我必须计算每台新计算机上的基数

  • 这有意义吗
  • 执行时间不是很“可移植”的度量单位,每个环境都有不同的数字,您能想到的任何其他度量单位都可以共享吗

您能解释一下为什么需要在各种计算机上运行测试吗?是因为你想测试不同的操作系统/环境吗?@Eugene它将像其他任何单元测试一样运行,每个开发人员都可以在自己的计算机上本地运行它们。我这样问是因为性能测试通常不是单元测试的一部分。作为夜间测试的一部分,我们推出了性能套件。然后,您可以描述所需的系统,并将结果与基线进行比较。