Kiểm thử hiệu năng với pytest

Nhập môn Kiểm thử trong Python

Alexander Levin

Data Scientist

Kiểm thử hiệu năng là gì

Hiệu năng - mức độ phần mềm sử dụng tài nguyên hệ thống để hoàn thành tác vụ.

Kiểm thử hiệu năng - loại kiểm thử đo lường hiệu năng phần mềm.

Nhập môn Kiểm thử trong Python

Khi nào kiểm thử hiệu năng quan trọng

Tài nguyên:

  • Thời gian thực thi
  • CPU
  • RAM
  • Tài nguyên khác

Tình huống:

  • Tối ưu tốc độ website
  • Ứng dụng nhận hàng triệu yêu cầu
  • Lập kế hoạch đường đi cho robot hút bụi
Nhập môn Kiểm thử trong Python

Fixture benchmark

Cài đặt:

pip install pytest-benchmark
# Example_1.py
import time
def test_func(benchmark):
    benchmark(time.sleep, 1)

Lệnh CLI:

pytest Example_1.py
Nhập môn Kiểm thử trong Python

Kết quả benchmark

Kết quả sau khi chạy lệnh CLI: Kết quả benchmark sau khi chạy lệnh pytest

Với time.sleep(3) thay cho time.sleep(1): Kết quả benchmark sau khi chạy pytest cho chương trình dùng time-dot sleep 3 thay vì 1

Nhập môn Kiểm thử trong Python

Decorator benchmark

# Example_2.py
import time
def test_func(benchmark):
    @benchmark
    def sleep_for_1_sec():
        time.sleep(1)

Lệnh CLI:

pytest Example_2.py
Nhập môn Kiểm thử trong Python

Tóm tắt

  • Kiểm thử hiệu năng: đo lường hiệu năng phần mềm.
  • Tài nguyên thường hữu hạn.
  • Hữu ích khi tài nguyên bị giới hạn.
  • Có thể dùng fixture pytest-benchmark bằng cách:
    • gọi trực tiếp benchmark
    • dùng @benchmark như decorator
  • Kết quả mô tả mẫu các lần chạy đo, tính bằng giây.
Nhập môn Kiểm thử trong Python

Vamos praticar!

Nhập môn Kiểm thử trong Python

Preparing Video For Download...