pytest中的pytest-benchmark插件,可以来执行基准测试也可以用来进行比较,它能测试代码的性能、内存使用率、CPU使用率等,并生成性能报告,本文就来详细介绍下pytest-benchmark如何做性能测试。 

官网地址:

https://pytest-benchmark.readthedocs.io/en/latest/

1. 安装 pytest-benchmark

安装命令:

pip install pytest-benchmark

2. 编写性能测试用例

编写一个测试函数,并使用pytest.mark.benchmark标记将其标记为性能测试用例。

代码实例:

import pytest

@pytest.mark.benchmark

def test_something(benchmark):

 result = benchmark(some_function, some_arguments)

    assert result == expected_result

在这个性能测试用例中使用pytest-benchmark插件提供的benchmark装饰器将测试函数标记为性能测试用例,并将测试结果存储在一个result对象中,使用assert语句检查结果是否符合预期。

3. 运行性能测试

在命令行中运行pytest命令,使用`--benchmark-autosave`选项将测试结果保存到指定文件中。

命令:

pytest 

--benchmark-autosave=benchmark.json

此命令将运行所有pytest测试用例,并将性能测试结果存储在名为`benchmark.json`的文件中。

4. 分析性能测试结果

可以使用pytest-benchmark插件提供的命令行工具或Python API来分析性能测试结果。

代码实例:

import pytest_benchmark

# 从文件中读取性能测试结果

results= pytest_benchmark.BenchmarkSuite().from_file('benchmark.json')

# 查看特定测试的结果

print(suite.get_benchmark('test_function'))

# 比较两个测试结果

comparison= 

results.compare('test_function', 'test_function_optimized')

print(comparison)

这个代码片段将读取`benchmark.json`文件中的性能测试结果,使用`get_benchmark`方法获取特定测试的结果,并使用`compare`方法比较两个测试结果。

结果输出了两个测试的比较结果。其中,`mean`表示平均值,`stddev`表示标准差,`min`和`max`表示测试结果的最小值和最大值,`iterations`表示测试迭代的次数,`total`表示测试的总时间。

最后:下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

图片

Logo

一站式 AI 云服务平台

更多推荐