📋 Daftar Isi
1. Pengenalan Testing
Testing adalah proses memverifikasi bahwa kode berfungsi sesuai harapan. Dalam pengembangan perangkat lunak, testing membantu menemukan bug lebih awal, memastikan kode tidak rusak setelah perubahan (regression), dan memberikan dokumentasi tentang perilaku kode.
Jenis-jenis Testing
| Jenis | Deskripsi | Contoh |
|---|---|---|
| Unit Test | Menguji fungsi/komponen secara individual | Test fungsi hitung_total() |
| Integration Test | Menguji interaksi antar komponen | Test API + Database |
| Functional Test | Menguji fitur dari perspektif pengguna | Test login flow |
| End-to-End Test | Menguji seluruh alur aplikasi | Test checkout dari keranjang |
Mengapa pytest?
| Keunggulan | Penjelasan |
|---|---|
| Sintaks Sederhana | Cukup gunakan assert, tidak perlu method khusus |
| Auto-discovery | Otomatis menemukan file test yang dimulai dengan test_ |
| Fixtures | Sistem setup/teardown yang powerful dan reusable |
| Parametrize | Jalankan test yang sama dengan data berbeda |
| Rich Plugin Ekosistem | Ribuan plugin: coverage, HTML report, parallel, dll |
| Backward Compatible | Bisa menjalankan test dari unittest dan nose |
Diagram: Testing Pyramid
2. Memulai dengan pytest
Instalasi
Diagram