Tutorial Pengujian REST API: Contoh Kasus Uji Manual
โก Ringkasan Cerdas
Pengujian REST API memvalidasi layanan web RESTful dengan mengirimkan permintaan HTTP seperti GET, POST, PUT, dan DELETE, kemudian memverifikasi kode status, header respons, dan payload yang dikembalikan oleh server.

Apa itu Pengujian REST API?
Pengujian RESTAPI REST API adalah teknik pengujian otomatisasi web sumber terbuka yang digunakan untuk menguji API RESTful untuk aplikasi web. Tujuan pengujian REST API adalah untuk merekam respons REST API dengan mengirimkan berbagai permintaan HTTP/S untuk memeriksa apakah REST API berfungsi dengan baik atau tidak. Pengujian REST API dilakukan dengan metode GET, POST, PUT, dan DELETE.
ISTIRAHAT singkatan dari Representational State Transfer. Ini adalah gaya arsitektur dan pendekatan komunikasi yang digunakan dalam pengembangan Layanan WebREST telah menjadi pilihan logis untuk membangun API, karena memungkinkan pengguna untuk terhubung dan berinteraksi dengan layanan cloud secara efisien.
API, atau Application Programming Interface, adalah serangkaian instruksi pemrograman untuk mengakses aplikasi perangkat lunak berbasis web. Dengan kata lain, ini adalah serangkaian perintah yang digunakan oleh satu program untuk berkomunikasi langsung dengan program lain dan menggunakan fungsi satu sama lain untuk mendapatkan informasi.
Misalnya, Google Sebuah situs web dapat memiliki API untuk pencarian, terjemahan, dan kalender. Secara umum, API terlihat seperti contoh di bawah ini, dengan nama server, jalur, dan parameter.
http://<server name>/v1/export/Publisher/Standard_Publisher_Report?format=csv
Namun, mengapa harus menginvestasikan upaya pengujian pada lapisan ini sama sekali?
Mengapa Pengujian REST API Penting?
API REST berada di antara antarmuka pengguna dan basis data, yang menjadikannya lapisan tempat sebagian besar logika bisnis sebenarnya berada. Cacat pada aturan penetapan harga atau pemeriksaan izin akan muncul dalam respons API jauh sebelum siapa pun melihat angka yang salah di layar, sehingga pengujian di sini dapat mendeteksi masalah lebih awal dan lebih dekat dengan penyebabnya.
Kecepatan adalah alasan kedua. Sebuah permintaan selesai dalam hitungan milidetik dan tidak memerlukan browser, mesin rendering, dan pencari elemen yang rapuh. Seorang penguji dapat menjalankan puluhan endpoint dalam waktu yang dibutuhkan satu pengujian antarmuka untuk memuat halaman, dan permintaan yang sama berperilaku identik terlepas dari apakah front end-nya adalah situs web, aplikasi seluler, atau integrasi mitra.
Stabilitas adalah alasan ketiga. Tata letak terus berubah, tetapi konfigurasi REST yang dipublikasikan tetap stabil.tract diperkirakan akan tetap stabil. Tes yang ditulis terhadap kondisi tersebuttracAgar tetap berfungsi setelah desain ulang, mereka melindungi bagian-bagian produk yang sebenarnya dikembangkan oleh tim lain.
Jenis Metode API
Terutama ada 4 jenis Pengujian API Metode: GET, POST, DELETE, dan PUT.
- DAPATKANโ Metode GET digunakan untuk mengambil data.tracInformasi dari server yang diberikan menggunakan URI yang diberikan. Saat menggunakan permintaan GET, seharusnya hanya mengirimkan informasi dari server yang diberikan menggunakan URI yang diberikan.tracdata t dan seharusnya tidak memiliki efek lain pada data tersebut.
- POSTโ Permintaan POST digunakan untuk membuat entitas baru. Dapat juga digunakan untuk mengirim data ke server, misalnya informasi pelanggan, upload file, dll menggunakan form HTML.
- PUTโ Membuat entitas baru atau memperbarui entitas yang sudah ada.
- DELETEโ Menghapus semua representasi sumber daya target saat ini yang diberikan oleh URI.
Cara Menguji REST API
Pengujian REST API memerlukan aplikasi untuk berinteraksi dengan API sampel untuk pengujian. Untuk menguji API, Anda memerlukan dua hal:
- Alat/Kerangka Pengujian untuk menggerakkan API
- Tuliskan kode Anda sendiri untuk menguji contoh REST API
Kasus uji REST API dapat diuji dengan alat-alat seperti:
- Klien Istirahat Tingkat Lanjut
- Postman-Istirahat Klien
- Keriting di Linux
Di sini kita akan menggunakan Advanced Rest Client. Berikut adalah langkah-langkah untuk mendapatkan Advanced Rest Client.
Bagaimana cara mendapatkan klien REST tingkat lanjut?
- Pergi ke Google ChromeToko Web
- Cari โKlien Istirahat Tingkat Lanjutโ atau langsung buka di sini dan Instal ekstensinya
- Pilih ikon โKlien Istirahat Lanjutanโ di bawah bagian aplikasi chrome โ chrome://apps/
Tampilan daftar di Toko Online seperti yang ditunjukkan di bawah ini.
Setelah instalasi selesai, ikuti tes di bawah ini untuk menguji a API TENANG.
Langkah-langkah Pengujian REST API
Di sini kita menggunakan ekstensi klien REST di browser Chrome. Untuk memahaminya dengan lebih jelas, kita menggunakan API dummy untuk pengujian:
http://ip.jsontest.com/
Langkah 1) Buka klien REST Lanjutan
Luncurkan aplikasi Klien REST Lanjutan (ARC), setelah berhasil diinstal.
Langkah 2) Masukkan URL API untuk diuji
Masukkan contoh REST API URL untuk pengujian di URL kotak teks.
Langkah 3) Pilih metode HTTP
Pilih metode untuk jenis metode HTTP dalam pengujian API yang akan digunakan, misalnya POST
Langkah 4) Sediakan set Header
Berikan Headers Set, di kotak teks Headers. Klik Insert header set.
Langkah 5) Konfirmasikan set Header
Selanjutnya Klik GUNAKAN SET INI.
Langkah 6) Sediakan konten Tubuh yang diperlukan
- Sekarang beralih ke Tab Tubuh.
- Atur tipe konten Isi dan tampilan Editor yang diperlukan, misalnya Tipe konten isi : application/json
- Tampilan editor : Masukan mentah.
- Di bagian Payload, masukkan body permintaan API demo untuk pengujian dalam bentuk pasangan kunci-nilai, misalnya {โkey1โณ:โvalue1โณ,โkey2โณ:โvalue2โ}. Jika itu adalah API POST, maka kita perlu memasukkan body atau parameter. Kita akan memasukkannya di bawah payload yang diberikan.
{"property" : ["Sites"], "report_type" : ["ALL"]}
โ ๏ธ Peringatan: Content-Type berupa application/json dengan payload yang tidak valid. JSON Mengembalikan kode 400 Bad Request.
Langkah 7) Kirimkan detail untuk memulai pengujian
- Tekan tombol kirim.
- Anda dapat mengeklik tombol DETAIL untuk melihat tajuk Respons.
Berikut rincian responsnya:
Respons tersebut masih harus dinilai berdasarkan hasil yang diharapkan.
Memvalidasi Hasil
Pada dasarnya, untuk pengujian Web API, kita perlu memeriksa kode respons, pesan respons, dan isi respons.
Kode respons terbagi menjadi lima kelompok:
| Keluarga | Kategori | Arti |
|---|---|---|
| 1xx | Informational | Diterima, masih diproses. |
| 2xx | Keberhasilan | Selesai; 200 OK, 201 Dibuat |
| 3xx | Redirection | Diperlukan tindakan lebih lanjut. |
| 4xx | Kesalahan Klien | Muatan, token, atau sumber daya yang buruk. |
| 5xx | Server Kesalahan | Permintaan valid, server gagal. |
Berikut adalah kode respons yang mungkin Anda temui.
Satu permintaan membuktikan bahwa endpoint berfungsi. Serangkaian pengujian membuktikan bahwa endpoint tersebut terus berfungsi.
Kasus Uji REST API yang Wajib Anda Cakup
Rangkaian API REST yang bermanfaat mencakup beberapa kategori, alih-alih mengulangi panggilan alur yang sama dengan data yang berbeda:
- Jalan yang bahagia: Kirim permintaan yang valid ke setiap endpoint dan konfirmasikan kode status, skema, dan setiap nilai field.
- Kasus negatif: Jika Anda mengirimkan JSON yang salah format, metode yang tidak didukung, dan ID sumber daya yang hilang, maka Anda akan mendapatkan kode kesalahan 400, 405, dan 404, bukan 500.
- Nilai batas: Jika suatu kolom menerima 1 hingga 200 karakter, uji 0, 1, 200, dan 201. Aturan validasi tidak berlaku di batas-batasnya.
- Karakter khusus: Lewatkan huruf beraksen, emoji, tanda kutip, dan teks multi-byte melalui setiap kolom untuk mengungkap kesalahan pengkodean.
- dengantracpemeriksaan t: Bandingkan respons tersebut dengan spesifikasi OpenAPI atau Swagger yang telah dipublikasikan agar perubahan yang tidak terdokumentasi dapat terdeteksi sejak dini.
- Pengurutan: Panggil endpoint dalam urutan yang realistis, seperti POST lalu GET lalu DELETE, karena status akan terbawa antar panggilan.
- Kewarasan kinerja: Catat waktu respons pada setiap eksekusi dan tandai setiap titik akhir yang melampaui ambang batas yang disepakati dengan tim.
Alat Uji REST API
Berbagai alat cocok untuk berbagai tahapan pengujian.
| Alat Bantu | Tipe | Terbaik untuk |
|---|---|---|
| Klien Istirahat Tingkat Lanjut | Klien desktop | Panggilan manual cepat |
| Postman | Klien desktop | Koleksi dan ruang kerja tim |
| JMeter | Uji beban | Waktu respons di bawah beban |
| SoapUI | Pengujian fungsional | ISTIRAHAT dan SABUN bersama-sama |
| Tenanglah | Java perpustakaan | Mengotomatiskan kasus stabil |
| cURL | Command line | Menempelkan panggilan ke dalam laporan bug |
Lihat rangkuman dari Alat pengujian API.
Sebagian besar titik akhir sebenarnya menolak untuk menjawab sampai permintaan tersebut membuktikan siapa pengirimnya.
Pemeriksaan Otentikasi dan Keamanan API REST
Endpoint demo publik menjawab pertanyaan siapa pun, tetapi API REST produksi berada di balik skema otentikasi, dan kesalahan otorisasi jauh lebih merusak daripada nilai field yang salah. Pertama, identifikasi mekanismenya: kunci API statis, kredensial HTTP Basic, token bearer OAuth 2.0, atau JSON Web Token yang ditandatangani.
Setelah permintaan terautentikasi berhasil, telusuri jalur kegagalan secara cermat:
- Tidak ada kredensial: Hapus header Otorisasi. Harapkan kode kesalahan 401 Unauthorized dan tidak ada data rekaman di bagian isi.
- Kredensial salah format: Merusak satu karakter token. Harapkan kode kesalahan 401 lagi, dengan pesan yang tidak menjelaskan alasannya.
- Kredensial kedaluwarsa: Gunakan kembali token setelah masa berlakunya habis. Konfirmasikan bahwa token tersebut ditolak dan bukan diterima, yang merupakan cacat umum akibat perbedaan waktu.
- Tingkat hak akses salah: Lakukan autentikasi sebagai pengguna dengan hak akses rendah dan panggil titik akhir yang hanya dapat diakses administrator. Harapkan kode kesalahan 403 Forbidden, bukan 200.
- Rekor pengguna lain: Ubah ID sehingga pengguna A meminta data pengguna B. Keberhasilan di sini merupakan cacat kontrol akses yang serius.
Terakhir, pastikan setiap panggilan berjalan melalui HTTPS, dan respons yang gagal tidak membocorkan informasi pada stack trace. traces atau banner versi, dan pengulangan yang cepat memicu kesalahan 429 Too Many Requests.
Pengujian REST API juga menghadirkan kesulitan yang tidak dimiliki oleh pengujian antarmuka.
Tantangan untuk Pengujian API
Permasalahan menarik bagi penguji saat melakukan pengujian REST API adalah:
- Untuk memastikan bahwa kerangka pengujian memvariasikan parameter panggilan API sedemikian rupa sehingga memverifikasi fungsionalitas sekaligus mengungkap kegagalan. Ini termasuk mengeksplorasi kondisi batas dan menetapkan parameter umum.
- Membuat kombinasi nilai parameter yang menarik untuk panggilan dengan dua parameter atau lebih
- Mengidentifikasi konten di mana panggilan API harus dilakukan. Ini mungkin termasuk menetapkan kondisi lingkungan eksternal (perangkat periferal, file, dll.) serta data yang tersimpan secara internal yang memengaruhi API.
- Mengurutkan panggilan API sesuai urutan eksekusi fungsi
- Untuk membuat API menghasilkan hasil yang berguna dari panggilan yang berurutan.










