Tutorial Pengujian API: Apa itu Otomatisasi 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.

Gambar 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 berinteraksi melalui API. Untuk menguji API, Anda perlu melakukannya

  1. Gunakan Alat Pengujian untuk menjalankan API
  2. Tulis kode Anda sendiri untuk menguji API

Beberapa Hal yang perlu diperhatikan

  • Pengujian API berbeda dari jenis pengujian perangkat lunak lainnya karena GUI tidak tersedia, namun Anda diharuskan menyiapkan lingkungan awal yang memanggil API dengan serangkaian parameter yang diperlukan dan akhirnya memeriksa hasil pengujian.
  • Oleh karena itu, menyiapkan lingkungan pengujian untuk pengujian otomatisasi API tampaknya agak rumit.
  • Basis data dan server harus dikonfigurasi sesuai kebutuhan aplikasi.
  • Setelah instalasi selesai, Fungsi API harus dipanggil untuk memeriksa apakah API tersebut berfungsi.

Jenis Output API

Output dari API bisa berupa

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

Mari kita lihat contoh masing-masing Tipe di atas dalam tutorial pengujian API ini

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.

Memanggil perlu dilakukan seperti

add (1234, 5656)

Pengecualian harus ditangani jika jumlahnya melebihi batas bilangan bulat.

Status (katakanlah Lulus atau Gagal)

Pertimbangkan 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.

Lebih akurat Uji Kasus yaitu, dapat memanggil fungsi dalam skrip mana pun dan kemudian memeriksa perubahan dalam basis data atau GUI Aplikasi.

Memanggil API/Acara lain

Memanggil API/Acara lain

Dalam hal ini, kita memanggil salah satu fungsi API yang selanjutnya akan memanggil fungsi lainnya.

Misalnya – Fungsi API pertama dapat digunakan untuk menghapus catatan tertentu dalam tabel dan fungsi ini, pada gilirannya, memanggil fungsi lain untuk MENYEGARKAN database.

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 API memicu suatu kejadian atau interupsi, maka kejadian dan pemroses interupsi tersebut harus dilacak
  • 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 tim QA untuk melakukan pengujian API setelah build siap. Pengujian ini tidak menyertakan kode sumber. Pendekatan pengujian API membantu untuk lebih memahami fungsionalitas, teknik pengujian, parameter masukan, dan pelaksanaan kasus pengujian.

Poin-poin berikut membantu pengguna untuk melakukan pendekatan Pengujian API:

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 Masukan untuk API perlu direncanakan dan ditentukan dengan tepat
  4. Jalankan kasus uji dan bandingkan hasil yang diharapkan dan hasil aktual.

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

Cara Menguji API

Pengujian otomatisasi API harus mencakup setidaknya metode pengujian berikut selain dari 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

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 pemanggilan fungsi API agar mudah bagi penguji untuk mengujinya
  • Setiap kasus uji harus mandiri dan independen dari ketergantungan
  • Hindari “test chaining” dalam pengembangan Anda
  • Perhatian khusus harus diberikan saat menangani fungsi panggilan satu kali seperti – Hapus, CloseWindow, dll…
  • Urutan panggilan harus dilakukan dan direncanakan dengan baik
  • Untuk memastikan cakupan pengujian yang lengkap, buat kasus pengujian API untuk semua kemungkinan kombinasi input API.

Jenis Bug yang terdeteksi oleh pengujian API

  • Gagal menangani kondisi kesalahan dengan baik
  • Bendera yang tidak terpakai
  • Fungsionalitas hilang atau duplikat
  • Masalah Keandalan. Kesulitan dalam menghubungkan dan mendapatkan tanggapan dari API.
  • Masalah keamanan
  • Masalah multi-threading
  • Masalah kinerja. 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)

Bagaimana melakukan Otomatisasi Uji API

1) API Siap

API Siap adalah alat terkemuka untuk pengujian fungsional, keamanan, dan beban RESTful, SOAP, GraphQL, dan layanan web lainnya. Dalam satu platform intuitif, Anda akan mendapatkan tiga alat canggih: ReadyAPI Test, ReadyAPI Performance, dan ReadyAPI Virtualization. Dengan alat ini Anda dapat melakukan pengujian fungsional, keamanan, dan kinerja/beban. Anda juga dapat meniru API & layanan web dengan alat virtualisasi kami yang tangguh. Selain itu, Anda dapat dengan mudah mengintegrasikan Anda Pipa CI/CD selama setiap pembangunan.

API Siap

Fitur utama

  • ReadyAPI dapat diintegrasikan ke dalam lingkungan apa pun.
  • Ini memiliki fitur Smart Assertion yang dapat membuat pernyataan massal terhadap ratusan titik akhir dengan cepat.
  • Dukungan asli untuk Git, Docker, Jenkins, Azure, Dll
  • Mendukung Command-line untuk pengujian otomatis.
  • Mendukung eksekusi paralel pengujian fungsional dan antrian pekerjaan.
  • Promopenggunaan kembali kode tes
  • Menghapus ketergantungan selama pengujian dan pengembangan.

Kunjungi ReadyAPI >>

Uji Coba Gratis 14 Hari (Tidak Perlu Kartu Kredit)

Tutorial berikut menyediakan panduan terperinci untuk mengotomatiskan pengujian API.

Selain itu, ada alat lain untuk pengujian API. Periksa mereka di sini

Tantangan Pengujian API

Tantangan pengujian API meliputi:

  • Tantangan utama dalam pengujian Web API adalah Kombinasi Parameter, Pemilihan Parameter, dan Urutan Panggilan
  • Tidak ada GUI yang tersedia untuk menguji aplikasi yang dibuat sulit untuk memberikan nilai masukan
  • Memvalidasi dan Memverifikasi keluaran dalam sistem yang berbeda agak sulit bagi penguji
  • Pemilihan parameter dan kategorisasi wajib diketahui oleh penguji
  • Fungsi penanganan pengecualian perlu diuji
  • Pengetahuan pengkodean diperlukan untuk 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.