API, atau Application Programming Interface, memungkinkan satu program berinteraksi dengan program lain menurut aturan yang disepakati. API menentukan apa yang dapat diminta, data yang wajib diberikan, hasil yang dikembalikan, dan bentuk kesalahan.
Bagi QA, ini lapisan dasar produk. Pengguna melihat layar, tombol, dan formulir, tetapi logika nyata biasanya berjalan lebih dalam: request, pemeriksaan izin, perhitungan, integrasi, dan perubahan data. Penguji yang tidak memahami API hampir selalu hanya melihat permukaan.
Cara kerjanya
Dalam skenario umum, klien mengirim request ke layanan dan layanan mengembalikan respons. Klien bisa berupa browser, aplikasi seluler, layanan lain, atau mitra eksternal. Layanan menerima request, memvalidasi data, memeriksa izin, menjalankan logika bisnis, dan mengembalikan hasil.
- →Tujuan request: endpoint atau jalur sumber daya.
- →Tindakan: metode seperti GET, POST, PATCH, atau DELETE.
- →Yang menyertai request: header, parameter, body, dan otorisasi.
- →Yang dikembalikan: status, header, data, atau deskripsi kesalahan.
API lebih dari “URL dan JSON”. API adalah kontrak interaksi antarsistem. Implementasi internal layanan dapat berubah sementara kontrak tetap sama.
Hal penting bagi QA
API memungkinkan pengujian sistem tanpa lapisan visual tambahan. Pengujian menjadi lebih cepat, tepat, dan berguna untuk penyelidikan.
- →API mengungkap data yang sebenarnya dikirim dan dikembalikan.
- →Logika bisnis lebih mudah diuji lewat API daripada UI.
- →API memudahkan penyusunan skenario negatif dan kasus tepi.
- →API membantu menentukan apakah masalah berada pada antarmuka, backend, otorisasi, data, atau integrasi.
Pemeriksaan API yang baik lebih dari memanggil endpoint. QA harus memahami kolom wajib, peran diizinkan, perilaku masukan tidak valid, efek samping request, dan hubungan respons dengan apa yang kemudian dilihat pengguna.
Di mana API muncul dalam produk
Hampir di mana pun komponen sistem bertukar data.
- →Aplikasi web dan seluler menggunakan API untuk mengambil serta mengubah data.
- →Layanan internal menggunakan API untuk bekerja bersama.
- →Integrasi eksternal menggunakan API untuk pembayaran, pengiriman, antifraud, email, SMS, dan analitik.
- →Pengujian otomatis serta script utilitas sering berinteraksi melalui API, bukan layar.
Bagi QA, API merupakan alat kerja dasar, bukan topik lanjutan yang ditunda. Semakin dini berpikir dalam API, semakin cepat Anda melampaui pengujian permukaan produk.
Bacaan lanjutan
- →Dalam basis pengetahuan ini: HTTP dan HTTPS — untuk memahami lapisan transport interaksi API.
- →Dalam basis pengetahuan ini: Metode, kode status, dan header — untuk mempelajari cara QA menafsirkan request dan respons.
- →Sumber eksternal: Glosarium API MDN — definisi API yang ringkas dan tepat.
Bagi QA, API adalah bahasa komunikasi komponen produk. Melihat lapisan ini meningkatkan kualitas pengujian: penguji memahami apa yang gagal sekaligus tempat kegagalannya.