10 Teknik Pengujian API Untuk Pemula

10 Teknik Pengujian API Untuk Pemula

Pengujian API (application programming interface) adalah jenis pengujian perangkat lunak yang dapat melakukan verifikasi langsung di level API. Ini adalah bagian dari pengujian integrasi, yang menentukan apakah API memenuhi harapan penguji untuk fungsionalitas, keandalan, kinerja, dan keamanan. Tidak seperti pengujian UI, Teknik Pengujian API dilakukan pada lapisan pesan tanpa GUI.

Source : katalon.com

API Web memiliki dua jenis utama layanan Web: SOAP dan REST. SOAP (Simple Object Access Protocol) adalah protokol standar yang ditentukan oleh standar W3C untuk mengirim dan menerima permintaan dan tanggapan layanan Web.

REST (mewakili transfer negara) adalah arsitektur berbasis standar web menggunakan HTTP. Tidak seperti layanan web berbasis SOAP, tidak ada standar formal untuk RESTful Web API.

Berikut adalah 10 keterampilan dasar yang perlu diketahui tentang pengujian API dari kami swftools.com :

1. Pahami Persyaratan API

Sebelum menguji API, Anda perlu menjawab pertanyaan berikut untuk memahami sepenuhnya persyaratan API :

  • Apa tujuan dari API ?

Mengetahui tujuan API akan menjadi dasar yang kokoh bagi Anda untuk menyiapkan data pengujian input dan output. Langkah ini juga dapat membantu Anda menentukan metode verifikasi. Misalnya, untuk beberapa API, Anda akan memverifikasi respons terhadap database; untuk yang lain, lebih baik memverifikasi respons terhadap API lain.

  • Apa alur kerja aplikasi? Di manakah API dalam proses ini ?

Umumnya, API suatu aplikasi digunakan untuk memanipulasi sumber dayanya. Mereka digunakan untuk membaca, membuat, dan memperbarui. Memahami tujuan API akan menjadi dasar yang kokoh bagi Anda untuk mempersiapkan data pengujian untuk input dan output.

Langkah ini juga dapat membantu Anda menentukan metode verifikasi. Misalnya, untuk beberapa API, Anda akan memverifikasi respons terhadap database; untuk yang lain, lebih baik memverifikasi respons terhadap API lain.

Misalnya, keluaran dari “Buat Pengguna” API akan menjadi masukan dari “Dapatkan Pengguna” API untuk verifikasi. Output dari “Get User” API dapat digunakan sebagai input dari “Update User” API, dan seterusnya.

2. Tentukan Status Output API

Keluaran API paling umum yang perlu Anda verifikasi dalam pengujian API adalah kode status respons.

Sudah biasa bagi penguji API dan Alat Pengujian Aplikasi Seluler baru untuk memverifikasi apakah kode respons sama dengan 200 untuk menentukan apakah pengujian API lulus atau gagal. Ini bukan verifikasi palsu. Namun, ini tidak mencerminkan semua skenario pengujian API.

Dalam standar global, semua kode status respons API dibagi menjadi lima kategori (atau kategori). Digit pertama dari kode status menentukan jenis tanggapan. Dua digit terakhir tidak memiliki efek kategori atau klasifikasi.

Digit pertama memiliki lima nilai:

  • 1xx (informatif): menerima permintaan dan melanjutkan pemrosesan
  • 2xx (berhasil): permintaan telah berhasil diterima, dipahami, dan diterima
  • 3xx (redirect): diperlukan tindakan lebih lanjut untuk menyelesaikan permintaan
  • 4xx (Kesalahan Klien): Permintaan berisi sintaks yang salah atau tidak dapat dipenuhi
  • 5xx (Kesalahan Server): Server tidak dapat memenuhi permintaan yang tampaknya valid

Namun, kode status respons API yang sebenarnya ditentukan oleh tim pengembangan yang membuat API. Oleh karena itu, sebagai penguji, Anda perlu memverifikasi apakah:

  • Kode mengikuti kelas standar global
  • Kode ditentukan dalam persyaratan.

3. Fokus Pada Fungsional Kecil API

Dalam proyek uji, selalu ada beberapa API sederhana dengan hanya satu atau dua masukan, seperti masuk ke API, mendapatkan token API, API pemeriksaan kesehatan, dll. Namun, API ini diperlukan dan dianggap sebagai “gerbang” ke API lain. Berfokus pada API ini terlebih dahulu akan memastikan bahwa server API, lingkungan, dan otentikasi berfungsi dengan baik.

Anda juga harus menghindari pengujian beberapa API dalam satu kasus pengujian. Jika terjadi kesalahan, itu menyakitkan karena Anda harus men-debug aliran data yang dihasilkan oleh API secara berurutan. Buat tes sesederhana mungkin. Dalam beberapa kasus, Anda perlu memanggil serangkaian API untuk mengimplementasikan proses pengujian ujung ke ujung. Namun, tugas ini harus diselesaikan setelah semua API diuji satu per satu.

4. Atur Titik Akhir API

Sebuah proyek pengujian mungkin memiliki beberapa atau bahkan ratusan API untuk pengujian. Sangat disarankan agar Anda mengklasifikasikannya untuk manajemen pengujian yang lebih baik. Ini memerlukan langkah tambahan, tetapi akan sangat membantu Anda membuat rencana pengujian dengan cakupan dan integrasi yang tinggi. Ambil API JIRA sebagai contoh:

Source : katalon.com

API dari kategori yang sama berbagi beberapa informasi umum, seperti jenis sumber daya, jalur, dll. Mengatur pengujian Anda dalam struktur yang sama akan memungkinkan pengujian Anda digunakan kembali dan diperpanjang melalui proses terintegrasi.

5. Gunakan Fungsi Otomatis Untuk Pengujian API

Gunakan fungsi otomatis untuk pengujian API sedini mungkin. Berikut beberapa manfaat penting dari pengujian API otomatis:

  • Data pengujian dan riwayat eksekusi dapat disimpan dengan titik akhir API. Ini membuatnya lebih mudah untuk menjalankan kembali pengujian nanti.
  • Pengujian API stabil dan membutuhkan perubahan hati-hati. API mencerminkan aturan bisnis dari sistem. Setiap perubahan pada API memerlukan persyaratan yang jelas; oleh karena itu, penguji selalu dapat mengetahui perubahan apa pun dan membuat penyesuaian tepat waktu.
  • Dibandingkan dengan pengujian UI Web, kecepatan eksekusi pengujian jauh lebih cepat
  • Pengujian API dianggap sebagai pengujian kotak hitam, di mana pengguna mengirim masukan dan mendapatkan keluaran untuk verifikasi. Otomatisasi menggunakan pendekatan berbasis data-yaitu, menerapkan kumpulan data yang berbeda dalam skenario pengujian yang sama-dapat membantu meningkatkan cakupan pengujian API
  • Input dan output data mengikuti template atau model tertentu, sehingga Anda hanya dapat membuat skrip pengujian satu kali. Skrip pengujian ini juga dapat digunakan kembali selama proyek pengujian.
  • Pengujian API dapat dilakukan di awal siklus hidup pengembangan perangkat lunak. Metode otomatis dengan teknologi simulasi dapat membantu memverifikasi API dan integrasinya sebelum mengembangkan API yang sebenarnya. Oleh karena itu, tingkat ketergantungan dalam tim berkurang.

6. Pilih Alat Otomasi Yang Tepat

Langkah lain untuk memanfaatkan kapabilitas otomatis pengujian API adalah memilih Tools Software Membuat Aplikasi yang paling sesuai atau seperangkat alat yang sesuai dari ratusan pilihan di pasar. Saat memilih alat pengujian otomatis API, kriteria berikut harus dipertimbangkan:

  • Apakah alat tersebut mendukung pengujian jenis API / layanan Web yang digunakan AUT (aplikasi yang sedang diuji)? Jika alat yang Anda pilih saat menggunakan layanan SOAP di AUT mendukung pengujian layanan RESTful, itu tidak masuk akal.
  • Apakah alat tersebut mendukung metode otorisasi yang diperlukan untuk layanan AUT Anda? Berikut adalah beberapa metode otorisasi yang dapat digunakan API Anda:

Ini adalah tugas penting karena Anda tidak dapat mulai menguji API tanpa otorisasi.

  • Apakah alat mendukung mengimpor titik akhir layanan API / Web dari WSDL, Swagger, WADL dan spesifikasi layanan lainnya? Ini adalah fitur opsional. Namun, jika Anda ingin menguji ratusan API, ini akan sangat memakan waktu.
  • Apakah alat tersebut mendukung pendekatan berbasis data? Ini juga merupakan fitur opsional. Namun, jika alat tersebut memiliki fitur ini, cakupan pengujian Anda akan sangat meningkat.
  • Terakhir, selain pengujian API, apakah Anda perlu melakukan pengujian jenis lain, seperti WebUI atau sumber data? Pengujian API dilakukan di lapisan bisnis antara sumber data dan UI. Adalah normal bahwa semua lapisan ini harus diuji. Alat yang mendukung semua jenis pengujian akan ideal, sehingga objek pengujian dan skrip pengujian Anda dapat dibagikan di antara semua lapisan.

7. Pilih Metode Verifikasi Yang Sesuai

Saat kode status respons memberi tahu status permintaan, konten isi respons adalah konten yang dikembalikan oleh API melalui input yang diberikan. Konten respons API bervariasi dengan jenis dan ukuran data. Responsnya bisa berupa teks biasa, struktur data JSON, dokumen XML, dll. Mereka bisa berupa string sederhana dari beberapa kata (atau bahkan kosong), atau bisa juga ratusan halaman file JSON / XML.

Oleh karena itu, metode verifikasi yang sesuai harus dipilih untuk API tertentu. Katalon Studio menyediakan pustaka yang kaya, Anda dapat menggunakan pencocokan, ekspresi reguler, JsonPath dan XmlPath untuk memverifikasi tipe data yang berbeda.

Secara umum, ada beberapa metode dasar untuk memverifikasi konten badan respons API:

  • Bandingkan seluruh isi tubuh tanggapan dengan informasi yang diharapkan

Metode ini cocok untuk respons sederhana dengan konten statis. Informasi dinamis, seperti tanggal dan waktu, ID tambahan, dll. Akan membawa masalah pada pernyataan tersebut.

  • Bandingkan setiap nilai atribut dari respons

Untuk respons dalam format JSON atau XML, mudah untuk mendapatkan nilai dari kunci atau atribut tertentu. Oleh karena itu, metode ini berguna saat memvalidasi konten dinamis atau nilai individu, bukan seluruh konten.

  • Pencocokan perbandingan dan ekspresi reguler

Bersamaan dengan memvalidasi nilai atribut individu, metode ini digunakan untuk memvalidasi respons data dengan pola tertentu untuk menangani data dinamis yang kompleks.

Setiap metode verifikasi memiliki kelebihan dan kekurangan, dan tidak ada opsi “satu ukuran cocok untuk semua”. Anda perlu memilih solusi yang paling sesuai dengan proyek pengujian Anda.

8. Ciptakan Tes Positif Dan Negatif

Pengujian API membutuhkan pengujian positif dan pengujian negatif untuk memastikan operasi normal API. Karena pengujian API dianggap sebagai pengujian kotak hitam, kedua jenis pengujian tersebut didorong oleh data masukan dan keluaran. Untuk menghasilkan skenario pengujian, ada beberapa saran:

Tes positif

  • Verifikasi bahwa API telah menerima masukan dan mengembalikan keluaran yang diharapkan seperti yang ditentukan dalam permintaan.
  • Verifikasi bahwa kode status respons dikembalikan seperti yang ditentukan, terlepas dari apakah kode mengembalikan 2xx atau kode kesalahan.
  • Tentukan masukan dengan bidang wajib terkecil dan bidang terbesar.

Tes Negatif

  • Jika keluaran yang diharapkan tidak ada, verifikasi bahwa API mengembalikan respons yang sesuai.
  • Lakukan tes verifikasi masukan.
  • Gunakan tingkat otorisasi yang berbeda untuk memverifikasi perilaku API.

9. Proses Pengujian Langsung

Sangat disarankan untuk menjadwalkan waktu eksekusi pengujian API setiap hari saat proses pengujian online. Karena eksekusi pengujian API cepat, stabil, dan cukup kecil, mudah untuk menambahkan lebih banyak pengujian ke proses pengujian saat ini dengan risiko minimal. Ini hanya dapat dicapai melalui alat pengujian API otomatis dengan fungsi berikut:

  • Gunakan perintah pengujian bawaan untuk perencanaan pengujian
  • Integrasi dengan alat manajemen pengujian dan alat pelacakan kerusakan
  • Integrasi berkelanjutan dengan berbagai alat CI terkemuka
  • Pembuatan laporan log visual

Setelah proses pengujian selesai, Anda bisa mendapatkan hasil pengujian tersebut setiap hari. Jika tes gagal terjadi, Anda dapat memeriksa output dan memverifikasi masalah untuk menemukan solusi yang tepat.

10. Jangan Meremehkan Pengujian Otomatisasi API

Proses pengujian API sangat sederhana, hanya dengan tiga langkah utama:

  • Kirim permintaan dengan data masukan yang diperlukan
  • Dapatkan respons dengan data keluaran
  • Verifikasi bahwa tanggapan dikembalikan seperti yang diperlukan

Bagian terpenting dari pengujian API bukanlah mengirim permintaan atau menerima tanggapan. Mereka menguji manajemen data dan verifikasi. Biasanya menguji beberapa API pertama, seperti login, query beberapa sumber daya, dll. Sangat sederhana.

Untuk API, tugas pengujian menjadi semakin sulit. Oleh karena itu, tugas pengujian API dapat dengan mudah diremehkan. Pada titik tertentu, Anda akan menemukan diri Anda berada di tengah-tengah cara yang baik untuk memilih data pengujian dan metode verifikasi.

Baca Juga : Mengenal Jenis Jaringan Wireless

Ini karena data yang dikembalikan memiliki struktur yang serupa, tetapi berbeda dalam proyek uji. Sulit untuk memutuskan apakah akan memvalidasi kunci data JSON / XML dengan kunci atau menggunakan pemetaan objek untuk memanfaatkan kekuatan bahasa pemrograman.

Sangat disarankan untuk mempertimbangkan pengujian otomatisasi API sebagai proyek pengembangan yang sebenarnya. Strukturnya harus dapat diperpanjang, dapat digunakan kembali, dan dapat dipelihara.