Testarea performanței cu pytest

Introducere în testarea în Python

Alexander Levin

Data Scientist

Ce este testarea performanței

Performanță - cât de eficient utilizează software-ul resursele sistemului pentru a îndeplini o sarcină.

Testarea performanței - un tip de testare care măsoară performanța software-ului.

Introducere în testarea în Python

Când este importantă testarea performanței

Resurse:

  • Timp de execuție
  • CPU
  • RAM
  • Alte resurse

Cazuri:

  • Optimizarea vitezei unui site web
  • Aplicație care primește milioane de cereri
  • Planificarea traseului unui aspirator robot
Introducere în testarea în Python

Fixture-ul benchmark

Instalare:

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

Comandă CLI:

pytest Example_1.py
Introducere în testarea în Python

Rezultatele benchmarking-ului

Rezultatele după executarea comenzii CLI: Rezultatele benchmarking-ului după executarea comenzii pytest

Pentru time.sleep(3) în loc de time.sleep(1): Rezultatele benchmarking-ului după executarea comenzii pytest pentru programul cu time.sleep de 3 în loc de 1

Introducere în testarea în Python

Decoratorul benchmark

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

Comandă CLI:

pytest Example_2.py
Introducere în testarea în Python

Rezumat

  • Testarea performanței - măsoară eficiența software-ului.
  • Resursele sunt de obicei limitate.
  • Utilă când resursele sunt restricționate.
  • Putem folosi fixture-ul pytest-benchmark prin:
    • apelarea directă a benchmark
    • utilizarea @benchmark ca decorator
  • Rezultatele descriu eșantionul de rulări măsurate în secunde.
Introducere în testarea în Python

Să exersăm!

Introducere în testarea în Python

Preparing Video For Download...