Tutorial Pengujian Layanan Web dengan Contoh

⚡ Ringkasan Cerdas

Pengujian layanan web memvalidasi fungsionalitas, keandalan, kinerja, dan keamanan API yang memungkinkan aplikasi bertukar data, menggunakan protokol SOAP atau REST, deskripsi WSDL, dan alat-alat seperti... SoapUI atau kebiasaan Java kode.

  • 🌐 Layanan Web: Layanan web memungkinkan dua aplikasi untuk bertukar data melalui jaringan.
  • 🧪 Apa yang Diperiksa: Pengujian memverifikasi fungsionalitas, keandalan, kinerja, dan keamanan.
  • 📨 SABUN dan ISTIRAHAT: SOAP menggunakan amplop XML; REST menggunakan HTTP sederhana dan URLs.
  • 📄 WSDL: WSDL adalah file XML yang menjelaskan operasi yang ditawarkan oleh layanan SOAP.
  • Alat dan Code: Tes menggunakan alat seperti SoapUI atau kebiasaan Java dengan Apache Axis2.
  • 🤖 Bantuan AI: AI menghasilkan kasus uji API dan memvalidasi respons secara otomatis.

Tutorial Pengujian Layanan Web

Apa itu Layanan Web?

Layanan Web adalah mekanisme atau media komunikasi yang melaluinya dua aplikasi/mesin saling bertukar data tanpa memandang arsitektur dasar dan teknologinya.

Apa itu Pengujian Layanan Web?

Pengujian Layanan Web adalah jenis pengujian perangkat lunak yang memvalidasi layanan Web. Tujuan Pengujian Layanan Web adalah untuk memeriksa fungsionalitas, keandalan, kinerja, dan keamanan API (Application Program Interface). Pengujian Layanan Web mirip dengan pengujian unit dalam beberapa kasus. Anda dapat menguji layanan Web secara manual atau membuat kode otomatisasi Anda sendiri atau menggunakan alat otomatisasi siap pakai seperti Postman.

Mengapa WebService Dibutuhkan?

Secara umum, aplikasi perangkat lunak dikembangkan untuk digunakan oleh manusia, di mana seseorang mengirimkan permintaan ke layanan perangkat lunak yang pada gilirannya mengembalikan respons dalam format yang dapat dibaca manusia.

Di era teknologi modern, jika Anda ingin membangun sebuah aplikasi perangkat lunak, Anda tidak perlu membangun semuanya dari awal. Ada banyak layanan siap pakai yang dapat Anda sambungkan ke aplikasi Anda dan Anda dapat mulai menyediakan layanan tersebut di aplikasi Anda.

Misalnya Anda ingin menampilkan informasi ramalan cuaca Anda tidak perlu mengumpulkan, memproses, dan merender data tersebut di aplikasi Anda. Anda dapat membeli layanan dari orang-orang yang sudah berpengalaman dalam memproses dan menerbitkan data semacam itu.

Layanan web memungkinkan kita melakukan implementasi semacam ini.

Sebagai contoh, pertimbangkan WebService berikut ini

http://www.webservicex.net/stockquote.asmx?op=GetQuote

Ini memberikan Nilai Saham bagi suatu Perusahaan.

Mari kita cari harga saham untuk Google (Simbol: GOOG)

Pengujian Layanan Web

XML respons memberikan harga saham.

Pengujian Layanan Web

Layanan Web ini dapat dipanggil oleh Aplikasi Perangkat Lunak menggunakan protokol SOAP atau HTTP.

Protokol Layanan Web

Layanan Web dapat diimplementasikan dengan berbagai cara, tetapi dua cara berikut ini merupakan pendekatan implementasi yang populer.

  1. SOAP (Protokol Akses Objek Sederhana)
  2. Arsitektur Representasional State Transfer (REST)

SOAP

SOAP adalah protokol standar yang ditentukan oleh Standar W3C untuk mengirim dan menerima permintaan dan tanggapan layanan web.

SABUN menggunakan Format XML untuk mengirim dan menerima permintaan dan karenanya data tersebut adalah data yang tidak bergantung pada platform. Pesan SOAP dipertukarkan antara aplikasi penyedia dan aplikasi penerima dalam amplop SOAP.

Karena SOAP menggunakan protokol transport http sederhana, pesan-pesannya tidak diblokir oleh firewall.

ISTIRAHAT

REST adalah singkatan dari Representational State Transfer; ini adalah arsitektur yang umumnya berjalan di atas HTTP. Gaya REST menekankan interaksi antara klien dan layanan, yang ditingkatkan dengan memiliki jumlah operasi yang terbatas. REST merupakan alternatif untuk SOAP (Simple Object Access Protocol) dan alih-alih menggunakan XML untuk permintaan, REST menggunakan format sederhana. URL Dalam beberapa kasus, tidak seperti SOAP, aplikasi RESTFUL menggunakan header bawaan HTTP untuk membawa meta-informasi.

Ada berbagai kode yang digunakan REST untuk menentukan apakah pengguna memiliki akses ke API atau tidak seperti kode 200 atau 201 menunjukkan interaksi yang berhasil dengan badan respons sementara 400 menunjukkan permintaan buruk atau URI permintaan tidak cocok dengan API dalam sistem. Semua parameter permintaan API dan parameter metode dapat dikirim melalui keduanya POST or DAPATKAN variabel.

Rest API mendukung format XML dan JSON untuk Pengujian API Layanan Web. Biasanya lebih disukai untuk Nomor WhatsApp dan aplikasi web karena membuat aplikasi bekerja lebih cepat dan lancar

wsdl

WSDL (Layanan Web Description Language) adalah bahasa berbasis XML yang akan digunakan untuk menggambarkan layanan yang ditawarkan oleh layanan web.

WSDL menjelaskan semua operasi yang ditawarkan oleh layanan web tertentu dalam format XML. Hal ini juga mendefinisikan bagaimana layanan dapat dipanggil, yaitu nilai input apa yang harus kita berikan dan format respon apa yang akan dihasilkan untuk setiap jenis layanan.

Bagaimana cara menguji Layanan Web?

Untuk menguji layanan web, Anda bisa

  1. Uji Secara Manual
  2. Buat Otomatisasi Anda Sendiri Code
  3. Gunakan alat otomatisasi siap pakai seperti SoapUI.

Pengujian Otomatisasi Layanan Web melibatkan langkah-langkah berikut –

  1. Pahami file WSDL
  2. Tentukan operasi yang disediakan layanan web tertentu
  3. Tentukan format permintaan XML yang perlu kita kirim
  4. Tentukan format XML respons
  5. Menggunakan alat atau menulis kode untuk mengirim permintaan dan memvalidasi respons

Misalkan kita ingin menguji layanan web yang menyediakan Fasilitas Konversi Mata Uang. Ini akan menjadi nilai konversi saat ini antara mata uang negara yang berbeda. Layanan ini dapat kita gunakan dalam aplikasi kita untuk mengkonversi nilai dari satu mata uang ke mata uang lainnya.

Sekarang mari kita lihat langkah-langkah di atas

Langkah 1 hingga 4: Memahami WSDL dan menentukan operasi & format XML

Currency Convertor File WSDL dapat dilihat @ (http://www.webservicex.net/CurrencyConvertor.asmx?wsdl) yang akan memberikan informasi tentang Mata Uang Convertor metode layanan web yang akan didukungnya, parameter yang perlu kita lewati dan jenis parameter… dll.

WSDL dan menentukan operasi & format XML

WSDL dan menentukan operasi & format XML

Langkah 5: Menggunakan alat atau menulis kode untuk mengirim permintaan dan memvalidasi respons

Tersedia banyak alat pengujian WebService untuk menguji layanan web SOAP. SoapUI adalah salah satu yang populer alat API yang akan membantu kami menguji layanan web SOAP. Faktanya, Anda dapat menggunakan bahasa pemrograman apa pun yang mampu mengirimkan permintaan XML ke aplikasi penyedia layanan web melalui http dan mampu mengurai serta memvalidasi respons XML terhadap hasil yang diharapkan. Dalam tutorial Pengujian Layanan Web ini, kami akan menguji WebService

  1. Menggunakan Java
  2. Menggunakan SoapUI

BAGIAN 1) Pengujian Layanan Web Menggunakan API Apache Axis2 (Java).

Umumnya layanan web menerima permintaan dan mengirimkan respons dalam format XML.

Proyek API Apache Axis2 adalah a Java implementasi API, yang akan digunakan untuk membuat layanan Web baik untuk sisi server (penyedia layanan) dan sisi klien (konsumen layanan).

Axis2 mampu mengirim pesan SOAP dan Menerima & Memproses pesan SOAP. Kita bisa menulis kecil Java program menggunakan API untuk membuat layanan web. Axis2 akan menghasilkan WSDL dari Java program yang akan digunakan untuk mengkomunikasikan layanan yang ditawarkan oleh layanan web. Kita dapat menggunakan Axis2 yang sama untuk menghasilkan Java kelas (rintisan) dari file WSDL yang dapat kita gunakan sebagai program klien untuk menghasilkan permintaan layanan web, mengirim permintaan ke titik akhir layanan, dan memproses respons.

  1. Pada dasarnya kita akan membuat yang sederhana Java program di mana kita akan membuat instance kelas stub.
  2. Dengan menggunakan stub kita akan memanggil metode permintaan dengan meneruskan semua informasi yang diperlukan.
  3. Program rintisan akan mengubah permintaan tersebut ke dalam format permintaan XML dan mengirimkannya ke titik akhir layanan yang akan membaca permintaan tersebut dan memproses permintaan tersebut serta mengirimkan respons dalam format XML.
  4. Respons XML akan diubah menjadi Java kelas demi rintisan dan kembali ke program sebenarnya.

Mari kita lihat langkah-langkah di atas secara detail

Langkah a) Unduh API axis2 @ https://axis.apache.org/axis2/Java/core/download.cgi & Setel variabel lingkungan 'AXIS2_HOME'

Pengujian Layanan Web Menggunakan API Apache Axis2 (Java)

Langkah b) Buat folder untuk menyimpan semua artefak yang dihasilkan

Contoh: C:\Axis\Projects\CurrencyConverter

Langkah c) Buka command prompt dan arahkan ke struktur folder tempat Anda ingin membuat artefak dan Jalankan perintah berikut yang akan membuat rintisan

%AXIS2_HOME%\bin\WSDL2Java -uri http://www.webservicex.net/CurrencyConvertor.asmx?wsdl -p org.apache.axis2.currencyconvertor -d adb –s

Pengujian Layanan Web Menggunakan API Apache Axis2 (Java)

Langkah d) Setelah perintah berhasil dijalankan, Anda akan melihat folder dengan file yang diperlukan.

Pengujian Layanan Web Menggunakan API Apache Axis2 (Java)

Langkah e)Pada langkah berikutnya dari tutorial Pengujian Layanan Web ini, kita harus membuat program klien, yang akan kita gunakan untuk mengirim permintaan aktual menggunakan stub yang dihasilkan. Buka eclipse dan buat yang baru Java project dan pilih folder yang sudah kita buat diatas.

Pengujian Layanan Web Menggunakan API Apache Axis2 (Java)

Langkah f) Tambahkan semua toples terkait axis2 ke jalur pembangunan proyek, yang akan ada di folder lib dari folder perangkat lunak axis2

(misalnya: C:\Axis\axis2-1.6.2\lib)

Pengujian Layanan Web Menggunakan API Apache Axis2 (Java)

Langkah g) Buat yang baru Java kelas (misal: Klien.Java) dan membuat instance objek rintisan. Dengan menggunakan objek stub kita dapat memanggil semua metode yang didukung dari WebService tertentu.

Pengujian Layanan Web Menggunakan API Apache Axis2 (Java)

Client.Java Program
package org.apache.axis2.currencyconvertor;
import org.apache.axis2.currencyconvertor.CurrencyConvertorStub.ConversionRate;
import org.apache.axis2.currencyconvertor.CurrencyConvertorStub.ConversionRateResponse;
import org.apache.axis2.currencyconvertor.CurrencyConvertorStub.Currency;

public class Client {
 public static void main(Java.lang.String args[]) {

  try {

       //Create the stub object by passing the service end point url
       CurrencyConvertorStub stub = new CurrencyConvertorStub("http://www.webservicex.net/CurrencyConvertor.asmx");
       //ConversionRate is the class which we have to use mention the from and to currency
       //ConversionRate object will be the parameter for the conversionRate operation
       ConversionRate conversionRate = new ConversionRate();
       conversionRate.setFromCurrency(Currency.USD);
       conversionRate.setToCurrency(Currency.INR);

       //Create the ConversionRateResponse object, which is going to be used to catch the response
       //call the conversionRate service using the stub object
       ConversionRateResponse conversionRateResponse = stub.conversionRate(conversionRate);

       //We can use the conversionRateResponse object to retrieve the response of the ConversionRate Service
       System.out.println("Conversion Rate from INR to USD : " + conversionRateResponse.getConversionRateResult());

       } catch (Exception e) {
       e.printStackTrace();
      }
    }
}

BAGIAN 2) Cara Menguji Menggunakan SoapUI Layanan web

In SoapUI

  1. Buka File > Proyek Sabun Baru
  2. Masukkan Nama proyek dan lokasi URI WSDL
  3. klik OK

Uji Coba Menggunakan SoapUI Layanan web

  1. Perluas permintaan pertama dan klik dua kali pada 'Request1'. Permintaan SOAP akan ditampilkan dalam format XML.
  2. Masukkan Dari Mata Uang dan Ke Mata Uang
  3. Klik tombol kirim
  4. Respons XML akan ditampilkan di panel sisi kanan.

Uji Coba Menggunakan SoapUI Layanan web

Seperti yang dapat Anda simpulkan, penggunaan alat pengujian WebService seperti SoapUI Mempercepat upaya pengujian otomatisasi layanan web Anda. Oleh karena itu, SoapUI akan menjadi fokus pembelajaran kita dalam tutorial selanjutnya.

Pertanyaan Umum Demo Slot

Layanan web didefinisikan oleh W3C dan bertukar data menggunakan XML dengan standar WSDL, misalnya SOAP. API web lebih luas cakupannya: dapat bertukar XML, JSON, atau data biasa tanpa standar tetap, misalnya REST, dan dapat mengompresi data.

Alat pengujian layanan web dan API yang umum digunakan meliputi: SoapUI ke ReadyAPI untuk SABUN dan ISTIRAHAT, Postman untuk ISTIRAHAT, Apache JMeter untuk pengujian beban, dan REST Assured untuk pengujian berbasis kode. Java tes. SoapUI banyak digunakan untuk layanan SOAP.

Pengujian unit memeriksa satu fungsi secara terpisah, biasanya oleh pengembang. Pengujian API memeriksa perilaku suatu layanan melalui antarmuka, termasuk permintaan, respons, kode status, dan data, di seluruh komponen dan seringkali tanpa kode sumber.

AI membaca spesifikasi WSDL atau OpenAPI untuk menghasilkan permintaan dan pernyataan, membuat data uji yang realistis, dan menandai respons yang anomali. Kemampuan perbaikan mandiri pembelajaran mesin memastikan pengujian tetap berhasil meskipun muatan data berubah, sehingga mengurangi pemeliharaan manual pada pengujian layanan web.

Ya. AI dapat menguraikan definisi layanan, menghasilkan muatan permintaan yang valid dan tidak valid, memprediksi kondisi batas, dan mengusulkan pernyataan. Generasi otomatis ini meningkatkan cakupan dan mengurangi upaya manual dalam menulis kasus uji SOAP atau REST.

Ringkaslah postingan ini dengan: