Selamat datang di topik final bootcamp ini! Sejauh ini, kita sudah menjadi ahli dalam menguji API secara manual. Kita mengirim request, lalu mata kita sendiri yang memeriksa apakah status kodenya 200 OK
dan apakah data di body sudah benar.
Cara ini sudah cukup, tapi bayangkan jika API kita punya 50 endpoint. Tentu akan sangat melelahkan dan rawan terjadi kesalahan jika kita harus memeriksa semuanya satu per satu setiap kali ada perubahan kode. Di sinilah pengujian otomatis berperan.
Bagian 1: Kenapa Pengujian Otomatis Itu Penting?
Pengujian otomatis (automated testing) adalah praktik menulis skrip atau kode yang akan menguji aplikasi kita secara otomatis. Alih-alih menggunakan mata kita, kita biarkan komputer yang melakukan pengecekan. Manfaatnya sangat besar:
- Menghemat Waktu: Kamu bisa menjalankan puluhan tes dalam hitungan milidetik.
- Mendeteksi Bug Lebih Cepat: Jika ada perubahan kode yang secara tidak sengaja merusak fitur lain, tes otomatis akan langsung gagal dan memberitahu kita.
- Meningkatkan Kepercayaan Diri: Saat semua tes berhasil (berwarna hijau), kita bisa lebih yakin untuk merilis fitur baru tanpa khawatir merusak fungsionalitas yang sudah ada.
- Konsistensi: Komputer akan melakukan pengecekan yang sama persis setiap saat, menghilangkan risiko human error atau kelupaan.
Bagian 2: Pengenalan Tab “Tests” di Postman
Postman memiliki fitur canggih untuk melakukan pengujian otomatis. Fitur ini tersembunyi di dalam tab Tests
pada setiap request.
Di dalam tab Tests
ini, kita bisa menulis kode JavaScript yang akan dieksekusi setelah Postman menerima respons dari server. Kode inilah yang akan kita gunakan untuk memeriksa berbagai aspek dari respons tersebut.
Kabar baiknya, kita tidak perlu menghafal semua kodenya. Postman sudah menyediakan panel SNIPPETS di sebelah kanan yang berisi banyak contoh skrip tes siap pakai.
Bagian 3: Praktik: Menulis Skrip Tes Pertama Kita
Mari kita tambahkan beberapa tes otomatis pada endpoint GET /students
kita.
-
Buka Request: Buka Postman dan pilih request
GET {{baseUrl}}/students
yang sudah kita buat. -
Pindah ke Tab
Tests
: Klik pada tabTests
. -
Tambahkan Tes: Kita akan menambahkan tiga tes berbeda. Kamu bisa mengetik kode di bawah ini atau mengkliknya dari panel SNIPPETS.
- Tes 1: Memeriksa Status Kode
200 OK
Tambahkan kode ini untuk memastikan permintaan berhasil.pm.test("Status code is 200", function () { pm.response.to.have.status(200); });
- Tes 2: Memeriksa Waktu Respons Tambahkan kode ini untuk memastikan server merespons dengan cepat (misalnya, di bawah 500 milidetik)
-
pm.test("Response time is less than 500ms", function () { pm.expect(pm.response.responseTime).to.be.below(500); });
- Tes 3: Memeriksa Properti JSON di Respons Tambahkan kode ini untuk memastikan bahwa data siswa yang dikembalikan memiliki struktur yang benar (misalnya, memiliki properti
nama
). -
pm.test("Student has a 'nama' property", function () { const responseBody = pm.response.json(); if (responseBody.length > 0) { pm.expect(responseBody[0]).to.have.property('nama'); } });
- Tes 1: Memeriksa Status Kode
-
Jalankan dan Lihat Hasilnya:
- Klik tombol Send.
- Lihat panel respons di bagian bawah. Akan ada tab baru bernama
Test Results
. - Jika semuanya berjalan lancar, kamu akan melihat ketiga tesmu berstatus PASS berwarna hijau.
Selamat! Kamu sekarang sudah bisa membuat pengujian otomatis untuk API-mu. Ini adalah salah satu keahlian penting yang membedakan developer pemula dengan developer yang lebih berpengalaman.