Tutorial Pengujian Layanan Web: Bagaimana Menguji? Belajar dengan Teladan

Daftar Isi:

Anonim

Apa itu WebService?

Layanan Web adalah mekanisme atau media komunikasi di mana dua aplikasi / mesin akan bertukar data terlepas dari arsitektur garis bawah 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 (Antarmuka Program Aplikasi). Pengujian Layanan Web mirip dengan pengujian unit dalam beberapa kasus. Anda dapat menguji Webservice secara manual atau membuat kode otomasi Anda sendiri atau menggunakan alat otomatisasi siap pakai seperti Postman.

Mengapa WebService Dibutuhkan?

Secara umum, aplikasi perangkat lunak dikembangkan untuk dikonsumsi 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 aplikasi perangkat lunak, Anda tidak perlu membangun semuanya dari awal. Ada banyak layanan siap pakai yang tersedia yang dapat Anda pasang 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 di aplikasi Anda. Anda dapat membeli layanan dari orang-orang yang sudah mapan dalam mengolah dan menerbitkan data semacam itu.

Layanan web memungkinkan kami melakukan implementasi semacam ini.

Sebagai contoh, pertimbangkan WebService berikut

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

Memberikan Nilai Saham bagi Perusahaan.

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

Tanggapan XML memberikan harga saham.

Layanan Web ini dapat disebut dengan Aplikasi Perangkat Lunak menggunakan protokol SOAP atau HTTP.

Protokol Layanan Web

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

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

SABUN MANDI

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

SOAP menggunakan format XML untuk mengirim dan menerima permintaan dan karenanya datanya adalah data platform independen. Pesan SOAP dipertukarkan antara aplikasi penyedia dan aplikasi penerima dalam amplop SOAP.

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

BERISTIRAHAT

REST berarti Transfer Negara Representasional; itu adalah arsitektur yang umumnya berjalan melalui HTTP. Gaya REST menekankan interaksi antara klien dan layanan, yang ditingkatkan dengan memiliki jumlah 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 build in HTTP untuk membawa informasi meta.

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 isi respons sementara 400 menunjukkan permintaan yang buruk atau URI permintaan tidak cocok dengan API di sistem. Semua parameter permintaan API dan parameter metode dapat dikirim melalui variabel POST atau GET .

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

WSDL

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

WSDL menjelaskan semua operasi yang ditawarkan oleh layanan web tertentu dalam format XML. Ini juga menentukan bagaimana layanan dapat dipanggil, yaitu nilai input apa yang harus kita sediakan dan apa format respons yang akan dihasilkannya untuk setiap jenis layanan.

Bagaimana cara menguji Layanan Web?

Untuk menguji layanan web, Anda bisa

  1. Uji Secara Manual
  2. Buat Kode Otomasi Anda sendiri
  3. Gunakan alat otomatisasi siap pakai seperti SoapUI.

Pengujian Otomasi 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 web service yang menyediakan Fasilitas Konversi Mata Uang. Ini akan menjadi nilai tukar saat ini antara mata uang negara yang berbeda. Layanan ini dapat kita gunakan dalam aplikasi kita untuk mengubah 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

File Currency Convertor WSDL dapat dilihat di @ (http://www.webservicex.net/CurrencyConvertor.asmx?wsdl) yang akan memberikan informasi tentang metode layanan web Currency Convertor yang akan didukungnya, parameter yang kita perlukan untuk lulus dan jenis parameter

… Dll

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

Ada banyak alat Uji Layanan Web yang tersedia untuk menguji layanan web SOAP. SoapUI adalah salah satu alat API populer yang akan membantu kami menguji layanan web SOAP. Sebenarnya Anda bisa menggunakan bahasa pemrograman apa pun yang mampu mengirim permintaan XML ke aplikasi penyedia layanan web melalui http dan mampu mengurai dan memvalidasi respons XML terhadap hasil yang diharapkan. Dalam tutorial Pengujian Layanan Web ini, kami akan menguji Layanan Web

  1. Menggunakan Java
  2. Menggunakan SoapUI

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

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

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

Axis2 mampu mengirim pesan SOAP dan Menerima & Memproses pesan SOAP. Kita dapat menulis program Java kecil menggunakan API untuk membuat layanan web. Axis2 akan menghasilkan WSDL dari program Java yang akan digunakan untuk mengkomunikasikan layanan yang ditawarkan oleh layanan web. Kita dapat menggunakan Axis2 yang sama untuk menghasilkan kelas Java (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 program Java sederhana di mana kita akan membuat instance kelas rintisan.
  2. Dengan menggunakan rintisan kita akan memanggil metode permintaan dengan meneruskan semua informasi yang diperlukan.
  3. Program rintisan akan mengubah permintaan tersebut menjadi format permintaan XML dan mengirimkannya ke titik akhir layanan yang akan membaca permintaan tersebut dan memproses permintaan tersebut dan mengirimkan respons dalam format XML.
  4. Respon XML akan diubah menjadi kelas Java dengan rintisan dan dikembalikan ke program sebenarnya.

Mari kita lihat langkah-langkah di atas secara detail

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

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 menghasilkan artefak dan Jalankan perintah berikut yang akan menghasilkan stub

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

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

Langkah e) Pada langkah selanjutnya dari tutorial Pengujian Layanan Web ini, kita harus membuat program klien, di mana kita akan mengirimkan permintaan sebenarnya menggunakan rintisan yang dihasilkan. Buka gerhana dan buat proyek Java baru dan pilih folder yang telah kita buat di atas.

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

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

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

Program Client.Javapaket org.apache.axis2.currencyconvertor;impor org.apache.axis2.currencyconvertor.CurrencyConvertorStub.ConversionRate;impor org.apache.axis2.currencyconvertor.CurrencyConvertorStub.ConversionRateResponse;impor org.apache.axis2.currencyconvertor.CurrencyConvertorStub.Currency;Klien kelas publik {public static void main (Java.lang.String args []) {coba {// Buat objek rintisan dengan meneruskan url titik akhir layananCurrencyConvertorStub rintisan = CurrencyConvertorStub baru ("http://www.webservicex.net/CurrencyConvertor.asmx");// ConversionRate adalah kelas yang harus kita gunakan menyebutkan dari dan ke mata uang// Objek ConversionRate akan menjadi parameter untuk operasi conversionRateConversionRate conversionRate = new ConversionRate ();conversionRate.setFromCurrency (Currency.USD);conversionRate.setToCurrency (Currency.INR);// Buat objek ConversionRateResponse, yang akan digunakan untuk menangkap respons// panggil layanan conversionRate menggunakan objek rintisanConversionRateResponse conversionRateResponse = stub.conversionRate (conversionRate);// Kita bisa menggunakan objek conversionRateResponse untuk mengambil respons dari Layanan ConversionRateSystem.out.println ("Tingkat Konversi dari INR ke USD: + conversionRateResponse.getConversionRateResult ());} menangkap (Pengecualian e) {e.printStackTrace ();}}}

BAGIAN 2) Cara Menguji Menggunakan SoapUI Web Service

Di SoapUI

  1. Buka File> Proyek Sabun Baru
  2. Masukkan Nama proyek dan lokasi URI WSDL
  3. Klik OK
  1. Perluas permintaan pertama dan klik dua kali pada 'Request1'. Ini akan menampilkan permintaan SOAP dalam format XML.
  2. Masukkan From Currency dan To Currency
  3. Klik tombol kirim
  4. Respon XML akan ditampilkan di panel sisi kanan.

Seperti yang dapat Anda simpulkan, penggunaan alat Uji Layanan Web seperti SoapUI mempercepat Upaya Pengujian Otomatisasi Layanan Web Anda. Oleh karena itu, SoapUi akan menjadi fokus pembelajaran kita pada tutorial-tutorial selanjutnya.

Ringkasan

  • Perangkat Lunak Aplikasi 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 WebServices.
  • WSDL adalah bahasa berbasis XML yang akan digunakan untuk mendeskripsikan layanan yang ditawarkan oleh suatu layanan web. SOAP didefinisikan menggunakan WSDL.
  • Untuk menguji WebService, Anda bisa
    • Buat kode Anda sendiri. Misalnya gunakan Axis2 API untuk Java
    • Gunakan alat Otomatisasi Pengujian WebService seperti SoapUI
  • Alat Otomasi seperti SoapUI akan memulai upaya Pengujian Otomasi Layanan Web Anda, akan membutuhkan lebih sedikit upaya pengkodean dibandingkan dengan membuat kode Anda sendiri menggunakan API Axis2

FAQ

Apa Perbedaan antara WebService dan WebAPI?

Layanan web

API Web

  • Didefinisikan oleh W3C, semua komunikasi & pertukaran data didasarkan pada XML
  • Komunikasi Web API & pertukaran data dapat berupa XML, JSON, atau data biasa
  • Ini telah menetapkan standar - WSDL
  • Tidak ada standar yang ditentukan
  • Anda tidak dapat mengompres data tetapi Anda dapat mengompres permintaan HTML
  • Anda dapat mengompres data
  • Contoh: SOAP
  • Contoh: REST

Pelajari lebih lanjut tentang Pengujian API Web

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