Testování výkonu s pytest

Úvod do testování v Pythonu

Alexander Levin

Data Scientist

Co je testování výkonu

Výkon – jak efektivně software využívá systémové zdroje k provedení úlohy.

Testování výkonu – typ testování měřící výkon softwaru.

Úvod do testování v Pythonu

Kdy je testování výkonu důležité

Zdroje:

  • Čas provádění
  • CPU
  • RAM
  • Ostatní zdroje

Příklady:

  • Optimalizace rychlosti webu
  • Aplikace přijímající miliony požadavků
  • Plánování trasy robotického vysavače
Úvod do testování v Pythonu

Benchmark fixture

Instalace:

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

CLI Command:

pytest Example_1.py
Úvod do testování v Pythonu

Výsledky benchmarkingu

Výsledky po spuštění příkazu CLI: Výsledky benchmarkingu po spuštění příkazu pytest

Pro time.sleep(3) místo time.sleep(1): Výsledky benchmarkingu po spuštění příkazu pytest pro program s time.sleep(3) místo (1)

Úvod do testování v Pythonu

Benchmark jako dekorátor

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

CLI Command:

pytest Example_2.py
Úvod do testování v Pythonu

Shrnutí

  • Testování výkonu – typ testování měřící výkon softwaru.
  • Zdroje jsou obvykle omezené.
  • Užitečné při omezeních zdrojů.
  • Fixture pytest-benchmark lze použít:
    • přímým voláním benchmark
    • použitím @benchmark jako dekorátoru
  • Výsledky popisují vzorek naměřených běhů v sekundách.
Úvod do testování v Pythonu

Pojďme si procvičit!

Úvod do testování v Pythonu

Preparing Video For Download...