Pengujian unit dengan pytest

Pengantar Pengujian di Python

Alexander Levin

Data Scientist

Apa itu uji unit

Unit - bagian kerja terkecil yang bisa diuji.

  • Contoh unit: fungsi, metode, kelas, modul, dll.

$$

Pengujian unit - metode pengujian perangkat lunak.

  • Memungkinkan memeriksa kebenaran sebuah unit.

$$

Kasus uji - sekumpulan input unit dan output yang diharapkan.

  • Merangkum bagian masalah tertentu.
Pengantar Pengujian di Python

Mengapa memakai uji unit

Uji unit - fondasi untuk menguji "gambaran besar" perangkat lunak.

Kapan digunakan:

  • Saat bug ditemukan
  • Selama pengembangan
  • Setelah perubahan diterapkan
Pengantar Pengujian di Python

Cara membuat uji unit

Langkah-langkah:

  1. Tentukan unit yang diuji
  2. Tentukan kasus uji (bagian kreatif):
    • "Apa kemungkinan keluaran unit?"
    • "Bagaimana unit dapat digunakan?"
    • "Bagaimana perilaku unit di semua kasus itu?"
  3. Tulis kode untuk tiap kasus uji
  4. Jalankan uji dan analisis hasilnya
Pengantar Pengujian di Python

Membuat uji unit: contoh

Unit yang diuji:

# Function for a sum of elements
def sum_of_arr(array:list) -> int:
    return sum(array)

Kasus uji:

  1. Input adalah daftar angka (sesuai harapan) - harus mengembalikan sum
  2. Input adalah daftar kosong - harus mengembalikan 0
  3. Input adalah daftar berisi satu number - harus mengembalikan number tersebut
Pengantar Pengujian di Python

Membuat uji unit: kode

# Test Case 1: regular array
def test_regular():
    assert sum_of_arr([1, 2, 3]) == 6
    assert sum_of_arr([100, 150]) == 250
# Test Case 2: empty list
def test_empty():
    assert sum_of_arr([]) == 0
# Test Case 3: one number
def test_one_number():
    assert sum_of_arr([10]) == 10
    assert sum_of_arr([0]) == 0
Pengantar Pengujian di Python

Ringkasan

Uji unit - uji yang memverifikasi unit bekerja sesuai harapan.

Kasus uji - input dan output yang merangkum bagian masalah tertentu.

Kapan digunakan:

  • Saat bug ditemukan
  • Selama pengembangan
  • Setelah perubahan diterapkan

Menentukan kasus uji - membutuhkan kreativitas.

Pengantar Pengujian di Python

Ayo berlatih!

Pengantar Pengujian di Python

Preparing Video For Download...