Lewati ke konten

Testing (Pengujian Kode Otomatis) — BAB 13

Setelah menyelesaikan halaman ini, kamu diharapkan dapat:

  • Menjelaskan pentingnya pengujian kode secara otomatis.
  • Menyebutkan perbedaan Unit Testing, Integration Testing, dan E2E Testing.
  • Mengenali tools testing terpopuler (Jest, Vitest, Cypress).

Di BAB 11, kita menguji aplikasi SIAKAD secara manual dengan mengetik angka menu satu per satu di terminal. Cara ini membuang waktu jika dilakukan berulang-ulang setiap kali kita merilis fitur baru.

Di dunia industri, pengembang membuat kode program khusus yang bertugas menguji kode program lainnya secara otomatis. Proses ini disebut Automated Testing.


Ada tiga tingkatan utama dalam pengujian kode otomatis:

Menguji bagian terkecil dari kode program secara terisolasi (misalnya: menguji satu fungsi matematika hitungRataRata saja).

  • Tools: Jest atau Vitest (Vitest sangat cepat dan populer untuk ekosistem modern).

2. Integration Testing (Pengujian Integrasi)

Section titled “2. Integration Testing (Pengujian Integrasi)”

Menguji apakah beberapa komponen yang berbeda dapat bekerja sama dengan baik saat dihubungkan (misalnya: menguji apakah SiswaService dapat menyimpan data ke AcademicRepository secara benar).

Menguji seluruh aliran aplikasi dari awal hingga akhir dari sudut pandang pengguna asli (misalnya: robot otomatis membuka browser Chrome, mengetik username, mengklik tombol login, dan memastikan halaman dashboard terbuka).

  • Tools: Cypress atau Playwright.

🖥️ Output
▲ / \ E2E Testing (Paling sedikit, lambat, meniru user asli)
/ \ / \
/ \/ \ Integration Testing (Sedang)
/ \ \
/_______\______\ Unit Testing (Paling banyak, sangat cepat mengecek fungsi kecil)


Mari kita pelajari cara meluncurkan aplikasi ke internet agar bisa diakses seluruh dunia pada halaman Deployment.


  • Automated testing menguji kode program menggunakan kode program bantuan lain secara otomatis.
  • Unit Testing menguji satu fungsi terisolasi; E2E Testing menguji seluruh alur di browser tiruan.
  • Tools populer: Jest/Vitest (Unit), Cypress/Playwright (E2E).