Tutorial Pengujian Layanan Web: Bagaimana Cara Mengujinya? Belajar dengan Contoh

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.

Ayo cari harga saham 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 berarti REpresentational State Transfer; ini adalah arsitektur yang umumnya berjalan melalui HTTP. Gaya REST menekankan interaksi antara klien dan layanan, yang ditingkatkan dengan memiliki sejumlah operasi yang terbatas. REST adalah alternatif untuk SOAP (Simple Object Access Protocol) dan alih-alih menggunakan XML untuk permintaan, REST menggunakan URL sederhana 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 mobil 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 Kode Otomatisasi Anda sendiri
  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

Ada banyak alat Uji WebService yang tersedia 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 Layanan Web SoapUI

Di SoapUI

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

Uji Menggunakan Layanan Web SoapUI

  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 Menggunakan Layanan Web SoapUI

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 pada tutorial berikutnya.

Kesimpulan

  • Aplikasi Perangkat Lunak berkomunikasi dan bertukar data satu sama lain menggunakan Layanan Web
  • SOAP dan REST adalah 2 protokol populer untuk membuat Layanan Web
  • SOAP mendukung pertukaran data berbasis XML
  • REST mendukung XML, Json atau pertukaran data dalam URL sederhana untuk Pengujian API Layanan Web.
  • WSDL adalah bahasa berbasis XML yang akan digunakan untuk menggambarkan layanan yang ditawarkan oleh layanan web. SOAP didefinisikan menggunakan WSDL.
  • Untuk menguji WebService Anda bisa
    • Buat kode Anda sendiri. Misalnya gunakan API Axis2 untuk Java
    • Gunakan alat Otomasi Pengujian WebService seperti SoapUI
  • Alat Otomatisasi seperti SoapUI akan memulai upaya Pengujian Otomatisasi Layanan Web Anda, akan memerlukan lebih sedikit upaya pengkodean dibandingkan dengan membuat kode Anda sendiri menggunakan API Axis2

Tanya Jawab

Layanan web API web
Didefinisikan oleh W3C, semua komunikasi & pertukaran data didasarkan pada XML Komunikasi & pertukaran data API Web dapat berupa XML, JSON, atau data biasa
Ini telah menetapkan standar – WSDL Tidak ada standar yang ditentukan
Anda tidak dapat mengompresi data tetapi Anda dapat mengompresi permintaan HTML Anda dapat mengompres data
Contoh: SABUN Contoh: BERISTIRAHAT

Pelajari lebih lanjut tentang Pengujian API Web

Tutorial Pengujian Layanan Web ini dimungkinkan dengan kontribusi dari Bapak Narender Reddy Nukala