Pengujian performa dengan pytest

Pengantar Pengujian di Python

Alexander Levin

Data Scientist

Apa itu pengujian performa

Performa: seberapa efisien perangkat lunak menggunakan sumber daya sistem untuk menyelesaikan tugas.

Pengujian Performa: jenis pengujian untuk mengukur performa perangkat lunak.

Pengantar Pengujian di Python

Kapan pengujian performa penting

Sumber daya:

  • Waktu eksekusi
  • CPU
  • RAM
  • Sumber daya lain

Kasus:

  • Optimasi kecepatan situs web
  • Aplikasi menerima jutaan permintaan
  • Perencanaan rute untuk robot vacuum
Pengantar Pengujian di Python

Fixture benchmark

Instalasi:

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

Perintah CLI:

pytest Example_1.py
Pengantar Pengujian di Python

Hasil benchmarking

Hasil setelah menjalankan perintah CLI: Hasil benchmarking setelah menjalankan perintah pytest

Untuk time.sleep(3) alih-alih time.sleep(1): Hasil benchmarking setelah menjalankan perintah pytest untuk program dengan time-dot sleep 3, bukan 1

Pengantar Pengujian di Python

Dekorator benchmark

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

Perintah CLI:

pytest Example_2.py
Pengantar Pengujian di Python

Ringkasan

  • Pengujian performa: mengukur performa perangkat lunak.
  • Sumber daya biasanya terbatas.
  • Berguna saat sumber daya terbatas.
  • Gunakan fixture pytest-benchmark dengan:
    • memanggil benchmark langsung
    • memakai @benchmark sebagai dekorator
  • Hasil menggambarkan sampel run terukur dalam detik.
Pengantar Pengujian di Python

Ayo berlatih!

Pengantar Pengujian di Python

Preparing Video For Download...