pytest ile performans testi

Python'da Teste Giriş

Alexander Levin

Data Scientist

Performans testi nedir

Performans - yazılımın bir görevi tamamlamak için sistem kaynaklarını ne kadar verimli kullandığı.

Performans Testi - yazılım performansını ölçen bir test türüdür.

Python'da Teste Giriş

Performans testi ne zaman önemlidir

Kaynaklar:

  • Çalışma süresi
  • CPU
  • RAM
  • Diğer kaynaklar

Durumlar:

  • Web sitesi hız optimizasyonu
  • Milyonlarca istek alan uygulama
  • Robot süpürge için yol planlama
Python'da Teste Giriş

Benchmark fixturu

Kurulum:

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

CLI Komutu:

pytest Example_1.py
Python'da Teste Giriş

Benchmark sonuçları

CLI komutunu çalıştırdıktan sonra aldığımız sonuçlar: pytest komutu çalıştırıldıktan sonra benchmark sonuçları

time.sleep(1) yerine time.sleep(3) için: 1 yerine 3 saniyelik time-dot sleep içeren program için pytest komutu sonrası benchmark sonuçları

Python'da Teste Giriş

Benchmark dekoratörü

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

CLI Komutu:

pytest Example_2.py
Python'da Teste Giriş

Özet

  • Performans testi: yazılımın performansını ölçen bir test türüdür.
  • Kaynaklar genellikle sınırlıdır.
  • Kaynaklar kısıtlıyken faydalıdır.
  • pytest-benchmark fixturünü şu şekilde kullanırız:
    • benchmark'ı doğrudan çağırmak
    • @benchmark dekoratörünü kullanmak
  • Sonuçlar saniye cinsinden ölçülen çalıştırma örneklerini açıklar.
Python'da Teste Giriş

Haydi pratik yapalım!

Python'da Teste Giriş

Preparing Video For Download...