Tutorial Pengujian API: Apa itu Otomatisasi Pengujian API?

โšก Ringkasan Cerdas

Pengujian API memvalidasi Antarmuka Pemrograman Aplikasi untuk memastikan fungsionalitas, keandalan, kinerja, dan keamanan menggunakan panggilan berbasis kode, bukan interaksi GUI.

  • Fokus Inti: Memvalidasi lapisan logika bisnis melalui panggilan API langsung.
  • Pengaturan Lingkungan: Membutuhkan basis data yang telah dikonfigurasi dan lingkungan pengujian yang telah diparameterisasi.
  • Desain Tes: Mencakup nilai pengembalian, kode status, dan modifikasi sumber daya.
  • Metode Pengujian: Penemuan, kegunaan, keamanan, dan pengujian otomatis.
  • Integrasi AI: Pembelajaran mesin mengotomatiskan pembuatan pengujian dan deteksi kerentanan.

Pengujian API

Apa itu Pengujian API?

Pengujian API adalah jenis pengujian perangkat lunak yang memvalidasi Antarmuka Pemrograman Aplikasi (API). Tujuan Pengujian API adalah untuk memeriksa fungsionalitas, keandalan, kinerja, dan keamanan antarmuka pemrograman. Dalam Pengujian API, alih-alih menggunakan input pengguna standar (keyboard) dan output, Anda menggunakan perangkat lunak untuk mengirim panggilan ke API, mendapatkan output, dan mencatat respons sistem. Pengujian API sangat berbeda dari Pengujian GUI dan tidak akan berkonsentrasi pada tampilan dan nuansa aplikasi. Pengujian ini terutama berkonsentrasi pada lapisan logika bisnis dari arsitektur perangkat lunak.

Pengujian API

Untuk latar belakang, API (Antarmuka Pemrograman Aplikasi) adalah antarmuka komputasi yang memungkinkan komunikasi dan pertukaran data antara dua sistem perangkat lunak terpisah. Sistem perangkat lunak yang menjalankan API mencakup beberapa fungsi/subrutin yang dapat dijalankan oleh sistem perangkat lunak lain. API mendefinisikan permintaan yang dapat dibuat, cara membuat permintaan, format data yang dapat digunakan, dll., antara dua sistem perangkat lunak.

Penyiapan Lingkungan Otomatisasi Uji API

Pengujian otomatisasi API memerlukan aplikasi yang dapat diinteraksi melalui API. Untuk menguji API, Anda perlu:

  • Gunakan alat pengujian untuk menjalankan API.
  • Tulis kode Anda sendiri untuk menguji API

Beberapa poin yang perlu diperhatikan:

  • Pengujian API berbeda dari jenis pengujian lainnya karena GUI tidak tersedia, dan Anda harus menyiapkan lingkungan yang memanggil API dengan parameter yang dibutuhkan lalu memeriksa hasil pengujian.
  • Menyiapkan lingkungan pengujian untuk pengujian otomatisasi API tampaknya agak rumit.
  • Basis data dan server harus dikonfigurasi sesuai dengan kebutuhan aplikasi.
  • Setelah instalasi selesai, fungsi API harus dipanggil untuk memeriksa apakah API tersebut berfungsi.

Jenis Output API

Salah satu output dari API bisa berupa:

  1. Semua jenis data
  2. Status (katakanlah Lulus atau Gagal)
  3. Panggil fungsi API lainnya.

Semua Jenis Data

Contoh: Ada fungsi API yang harus menambahkan dua bilangan bulat.

Long add(int a, int b)

Angka-angka harus diberikan sebagai parameter masukan. Outputnya harus berupa penjumlahan dari dua bilangan bulat. Keluaran ini perlu diverifikasi dengan hasil yang diharapkan.

add (1234, 5656)

Pengecualian harus ditangani jika angkanya melebihi batas bilangan bulat.

Status (Lulus atau Gagal)

Perhatikan fungsi-fungsi API di bawah ini:

  1. Kunci()
  2. Membuka kunci()
  3. Menghapus()

Mereka mengembalikan nilai apa pun seperti True (jika berhasil) atau False (jika terjadi kesalahan) sebagai output. Sebuah penjelasan yang lebih akurat. Kasus cobaan akan memanggil fungsi-fungsi dalam skrip mana pun dan kemudian memeriksa perubahan baik di basis data maupun antarmuka pengguna aplikasi.

Pemanggilan API/Acara Lain

Memanggil API/Acara lain

Dalam hal ini, kita memanggil salah satu fungsi API yang pada gilirannya akan memanggil fungsi lain. Misalnya โ€“ Fungsi API pertama dapat digunakan untuk menghapus data tertentu dalam tabel dan fungsi ini, pada gilirannya, memanggil fungsi lain untuk MEMPERBARUI basis data.

Kasus Uji untuk Pengujian API

Kasus uji pengujian API didasarkan pada:

  • Nilai kembalian berdasarkan kondisi masukan: pengujiannya relatif mudah, karena masukan dapat ditentukan dan hasilnya dapat diautentikasi
  • Tidak mengembalikan apa pun: Ketika tidak ada nilai kembalian, perilaku API pada sistem harus diperiksa
  • Memicu beberapa API/peristiwa/interupsi lainnya: Jika keluaran dari suatu API memicu suatu kejadian atau interupsi, maka kejadian dan pendengar interupsi tersebut haruslah... tracked
  • Perbarui struktur data: Memperbarui struktur data akan mempunyai beberapa hasil atau efek pada sistem, dan itu harus diautentikasi
  • Ubah sumber daya tertentu: Jika panggilan API mengubah beberapa sumber daya maka panggilan tersebut harus divalidasi dengan mengakses sumber daya masing-masing

Pendekatan Pengujian API

Pendekatan Pengujian API adalah strategi atau metode yang telah ditentukan sebelumnya yang akan dilakukan oleh tim QA untuk melakukan pengujian API setelah build selesai. Pengujian ini tidak termasuk kode sumber. Pendekatan pengujian API membantu untuk lebih memahami fungsionalitas, teknik pengujian, parameter input, dan eksekusi kasus uji.

Pendekatan Pengujian API

Poin-poin berikut membantu memandu pendekatan pengujian API:

  1. Memahami fungsionalitas program API dan mendefinisikan dengan jelas ruang lingkup program
  2. Terapkan teknik pengujian seperti kelas kesetaraan, analisis nilai batas, dan tebakan kesalahan serta tulis kasus pengujian untuk API
  3. Parameter input untuk API perlu direncanakan dan didefinisikan dengan tepat.
  4. Jalankan kasus uji dan bandingkan hasil yang diharapkan dan hasil aktual.

Cara Menguji API

Pengujian otomatisasi API setidaknya harus mencakup metode pengujian berikut di samping proses SDLC yang biasa:

  • Pengujian penemuan: Grup pengujian harus secara manual menjalankan serangkaian panggilan yang didokumentasikan dalam API seperti memverifikasi bahwa sumber daya tertentu yang diekspos oleh API dapat dicantumkan, dibuat, dan dihapus sebagaimana mestinya
  • Pengujian kegunaan: Pengujian ini memverifikasi apakah API berfungsi dan ramah pengguna. Dan apakah API juga terintegrasi dengan baik dengan platform lain
  • Pengujian keamanan: Pengujian ini mencakup jenis autentikasi apa yang diperlukan dan apakah data sensitif dienkripsi melalui HTTP atau keduanya
  • Pengujian otomatis: Pengujian API harus berujung pada pembuatan serangkaian skrip atau alat yang dapat digunakan untuk mengeksekusi API secara teratur
  • Dokumentasi: Tim penguji harus memastikan bahwa dokumentasinya memadai dan memberikan informasi yang cukup untuk berinteraksi dengan API. Dokumentasi harus menjadi bagian dari hasil akhir

Perbedaan Antara Pengujian API dan Pengujian Unit

Pengujian Unit Pengujian API
Pengembang melakukannya Penguji melakukannya
Fungsionalitas terpisah diuji Fungsionalitas ujung ke ujung diuji
Pengembang dapat mengakses kode sumber Penguji tidak dapat mengakses kode sumber
Pengujian UI juga terlibat Hanya fungsi API yang diuji
Hanya fungsi dasar yang diuji Semua masalah fungsional diuji
Terbatas dalam ruang lingkup Cakupannya lebih luas
Biasanya dijalankan sebelum check-in Uji coba dijalankan setelah build dibuat

Praktik Terbaik Pengujian API

  • Kasus uji API harus dikelompokkan berdasarkan kategori pengujian.
  • Di atas setiap pengujian, Anda harus menyertakan deklarasi API yang dipanggil.
  • Pemilihan parameter harus disebutkan secara eksplisit dalam kasus uji itu sendiri.
  • Prioritaskan panggilan fungsi API agar mudah diuji oleh penguji.
  • Setiap kasus uji harus sebisa mungkin mandiri dan tidak bergantung pada kasus lain.
  • Hindari "pengujian berantai" dalam pengembangan Anda.
  • Perhatian khusus harus diberikan saat menangani fungsi panggilan satu kali seperti Hapus, TutupJendela, dll.
  • Pengurutan panggilan harus dilakukan dan direncanakan dengan baik.
  • Untuk memastikan cakupan pengujian yang lengkap, buat kasus pengujian API untuk semua kemungkinan kombinasi input API.

Jenis-jenis Bug yang Terdeteksi oleh Pengujian API

  • Gagal menangani kondisi kesalahan dengan baik
  • Bendera yang tidak terpakai
  • Fungsionalitas hilang atau duplikat
  • Masalah keandalan, termasuk kesulitan terhubung dan mendapatkan respons dari API.
  • Masalah keamanan
  • Masalah multi-threading
  • Masalah performa di mana waktu respons API sangat tinggi.
  • Kesalahan/peringatan yang tidak tepat untuk penelepon
  • Penanganan nilai argumen yang valid salah
  • Data respons tidak terstruktur dengan benar (JSON atau XML)

Cara Melakukan Otomatisasi Pengujian API

Berikut ini adalah panduan terperinci untuk mengotomatiskan pengujian API:

  • Cara menguji API dengan Tenanglah
  • Cara menguji API dengan Postman
  • Cara menguji API dengan UFT

Selain itu, ada yang lain alat untuk pengujian API.

Bagaimana AI Mengubah Pengujian API

Kecerdasan buatan sedang membentuk kembaliping Pengujian API dengan mengotomatiskan tugas manual. Algoritma pembelajaran mesin dapat menganalisis spesifikasi API, menghasilkan kasus uji, dan mengidentifikasi kasus-kasus khusus yang mungkin terlewatkan oleh penguji manusia.

AI juga meningkatkan pengujian keamanan dengan mendeteksi kerentanan. Namun, AI seharusnya melengkapi, bukan menggantikan keahlian manusia, karena insinyur QA membawa pengetahuan domain yang tidak dapat ditiru oleh AI.

Tantangan Pengujian API

  • Tantangan utama dalam pengujian API web adalah kombinasi parameter, pemilihan parameter, dan pengurutan panggilan.
  • Tidak ada GUI yang tersedia untuk menguji aplikasi, sehingga menyulitkan untuk memberikan nilai input.
  • Memvalidasi dan memverifikasi output di sistem yang berbeda agak sulit bagi penguji.
  • Pemilihan dan kategorisasi parameter harus diketahui oleh penguji.
  • Fungsi penanganan pengecualian perlu diuji.
  • Pengetahuan pemrograman diperlukan bagi para penguji.

Kesimpulan

API terdiri dari sekumpulan kelas/fungsi/prosedur yang mewakili lapisan logika bisnis. Jika API tidak diuji dengan benar, hal ini dapat menyebabkan masalah tidak hanya pada aplikasi API tetapi juga pada aplikasi pemanggil. Ini adalah tes yang sangat diperlukan dalam rekayasa perangkat lunak.

Pertanyaan Umum

Pengujian API memvalidasi logika bisnis melalui panggilan berbasis kode, sementara pengujian GUI memeriksa elemen antarmuka pengguna menggunakan input keyboard dan mouse. Pengujian API berfokus pada aliran data daripada presentasi visual.

Ya. Alat seperti Postman Menawarkan antarmuka berbasis GUI yang tidak memerlukan pengkodean. Namun, otomatisasi tingkat lanjut akan lebih bermanfaat jika memiliki keterampilan pemrograman. Java or Python.

Kode status HTTP menunjukkan hasil respons: 2xx untuk keberhasilan, 4xx untuk kesalahan klien, 5xx untuk kesalahan server. Pengujian harus memverifikasi bahwa kode yang benar dikembalikan untuk semua jenis permintaan.

AI menghasilkan kasus uji dari spesifikasi API, mengidentifikasi kasus-kasus ekstrem, dan memprediksi area rawan cacat menggunakan pembelajaran mesin untuk mengoptimalkan strategi pengujian.

Tidak. AI tidak memiliki keahlian di bidang tertentu dan kemampuan pemecahan masalah yang kreatif. Pendekatan terbaik menggabungkan otomatisasi AI dengan pengawasan manusia untuk efektivitas maksimal.

Postman Menawarkan paket gratis dengan fitur kolaborasi. Tenanglah adalah perangkat lunak sumber terbuka gratis. Java kerangka. SoapUI, cURL, dan JMeter juga menyediakan kemampuan gratis.

Ringkaslah postingan ini dengan: