Verkkopalvelujen testausopas: Kuinka testata? Opi esimerkin avulla

Sisällysluettelo:

Anonim

Mikä on WebService?

Verkkopalvelut on mekanismi tai viestintäväline, jonka kautta kaksi sovellusta / laitetta vaihtavat tietoja riippumatta niiden alleviivausarkkitehtuurista ja tekniikasta.

Mikä on verkkopalvelujen testaus?

Web Services Testing on tietyntyyppinen ohjelmistotestaus, joka vahvistaa verkkopalvelut. Verkkopalvelutestauksen tarkoituksena on tarkistaa API: n (Application Program Interface) toimivuus, luotettavuus, suorituskyky ja turvallisuus. Verkkopalvelutestaus on joissakin tapauksissa samanlainen kuin yksikötestaus. Voit testata verkkopalvelua manuaalisesti tai luoda oman automaatiokoodisi tai käyttää hyllyyn saatua automaatiotyökalua, kuten Postman.

Miksi verkkopalvelua tarvitaan?

Yleensä ohjelmistosovellukset on kehitetty kulutettavaksi ihmisille, jolloin henkilö lähettää pyynnön ohjelmistopalvelulle, joka puolestaan ​​palauttaa vastauksen ihmisen luettavassa muodossa.

Nykyaikaisella tekniikan aikakaudella, jos haluat rakentaa ohjelmistosovelluksen, sinun ei tarvitse rakentaa niitä kaikkia tyhjästä. Tarjolla on paljon valmiin palveluja, jotka voit liittää sovellukseesi ja voit aloittaa näiden palvelujen tarjoamisen sovelluksessasi.

Haluat esimerkiksi näyttää sääennustetiedot, joita sinun ei tarvitse kerätä, käsitellä ja renderoida tietoja sovelluksessasi. Voit ostaa palveluja ihmisiltä, ​​jotka ovat jo vakiintuneet tällaisen datan käsittelyyn ja julkaisemiseen.

Verkkopalvelujen avulla voimme tehdä tällaisia ​​toteutuksia.

Harkitse esimerkkinä seuraavaa WebServicea

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

Se antaa yrityksen osakearvon.

Etsitään Googlen osakekurssi (symboli: GOOG)

Vastaus XML antaa osakekurssin.

Ohjelmistosovellus voi kutsua tämän verkkopalvelun SOAP- tai HTTP-protokollaa käyttämällä.

Verkkopalveluprotokollat

Verkkopalvelut voidaan toteuttaa eri tavoin, mutta seuraavat kaksi ovat suosittuja toteutustapoja.

  1. SOAP (yksinkertainen Object Access Protocol)
  2. REST (edustuksellinen valtionsiirtoarkkitehtuuri)

SAIPPUA

SOAP on W3C-standardin määrittelemä standardiprotokolla verkkopalvelupyyntöjen ja vastausten lähettämiseen ja vastaanottamiseen.

SOAP käyttää XML-muotoa pyynnön lähettämiseen ja vastaanottamiseen, joten tiedot ovat alustasta riippumattomia tietoja. SOAP-sanomat vaihdetaan palveluntarjoajan sovellusten ja vastaanottavan sovelluksen välillä SOAP-kirjekuorissa.

Koska SOAP käyttää yksinkertaista http-siirtoprotokollaa, palomuurit eivät estä sen viestejä.

LEVÄTÄ

REST tarkoittaa edustavan valtion siirtoa; se on arkkitehtuuri, joka yleensä kulkee HTTP: n yli. REST-tyyli korostaa asiakkaiden ja palvelujen välistä vuorovaikutusta, jota parannetaan rajoitetulla määrällä toimintoja. REST on vaihtoehto SOAP: lle (Simple Object Access Protocol), ja XML: n käyttämisen sijaan pyynnössä REST käyttää joissakin tapauksissa yksinkertaista URL-osoitetta. Toisin kuin SOAP, RESTFUL-sovellukset käyttävät HTTP-rakennetta otsikoissa metatietojen siirtämiseen.

On olemassa useita koodeja, joita REST käyttää määrittämään, onko käyttäjällä pääsy API: hin vai ei, kuten koodi 200 tai 201, osoittaa onnistuneen vuorovaikutuksen vastausrungon kanssa, kun taas 400 osoittaa virheellisen pyynnön tai pyynnön URI ei vastaa järjestelmän API: ita. Kaikki API-pyyntöparametrit ja menetelmäparametrit voidaan lähettää joko POST- tai GET- muuttujien kautta.

Rest API tukee sekä XML- että JSON-muotoa WebServices API -testauksessa. Se on yleensä suositeltava mobiili- ja verkkosovelluksille, koska se tekee sovelluksesta nopeamman ja sujuvamman

WSDL

WSDL (Web Services Description Language) on XML-pohjainen kieli, jota käytetään kuvaamaan verkkopalvelun tarjoamia palveluja.

WSDL kuvaa kaikki tietyn verkkopalvelun tarjoamat toiminnot XML-muodossa. Siinä määritetään myös, miten palveluihin voidaan soittaa, ts. Mikä syöttöarvo meidän on tarjottava ja mikä on vastauksen muoto, jonka se aikoo tuottaa kullekin palvelulle.

Kuinka testata verkkopalvelua?

Voit testata verkkopalvelua

  1. Testaa manuaalisesti
  2. Luo oma automaatiokoodi
  3. Käytä valmiita automaatiotyökaluja, kuten SoapUI.

Verkkopalvelujen automaatiotestaus sisältää seuraavat vaiheet -

  1. Ymmärrä WSDL-tiedosto
  2. Selvitä tietyn verkkopalvelun tarjoamat toiminnot
  3. Määritä lähetettävä XML-pyynnön muoto
  4. Määritä vastauksen XML-muoto
  5. Työkalun tai koodin kirjoittaminen pyynnön lähettämiseen ja vastauksen vahvistamiseen

Oletetaan, että haluamme testata verkkopalvelua, joka tarjoaa valuutanvaihtojärjestelmän. Se määrittää eri maiden valuutan nykyiset muuntokurssit. Tätä palvelua, jota voimme käyttää sovelluksissamme, muuntaa arvot yhdestä valuutasta toiseen.

Katsotaan nyt edellä olevia vaiheita

Vaiheet 1–4: WSDL: n ymmärtäminen, operaatioiden ja XML-muotojen määrittäminen

Valuuttamuunnin WSDL-tiedosto näkyy @ (http://www.webservicex.net/CurrencyConvertor.asmx?wsdl), joka antaa tietoja sen tukemista valuuttamuunninverkkopalvelumenetelmistä, tarvitsemastamme parametrista ja parametrien tyyppi

… jne

Vaihe 5: Työkalun tai koodin kirjoittaminen pyynnön lähettämiseen ja vastauksen vahvistamiseen

SOAP-verkkopalvelun testaamiseen on tarjolla paljon WebService Test -työkaluja. SoapUI on yksi suosituista API-työkaluista, joka auttaa meitä testaamaan SOAP-verkkopalveluja. Itse asiassa voit käyttää mitä tahansa ohjelmointikieltä, joka pystyy lähettämään XML-pyynnön verkkopalveluntarjoajan sovellukselle http: n kautta ja pystyy jäsentämään ja vahvistamaan vastauksen XML: n odotettua tulosta vastaan. Tässä Web Services Testing -oppaassa testataan WebService

  1. Java-käyttö
  2. SoapUI: n käyttö

OSA 1) WebService-testaus Apache Axis2 -sovellusliittymän (Java) avulla.

Yleensä verkkopalvelu ottaa pyynnön vastaan ​​ja lähettää vastauksen XML-muodossa.

Apache Axis2 -sovellusliittymä on Java-sovellusliittymä, jota käytetään luomaan verkkopalvelut sekä palvelinpuolelle (palveluntarjoaja) että asiakaspuolelle (palvelukuluttaja).

Axis2 pystyy lähettämään SOAP-viestejä ja vastaanottaa ja käsittelee SOAP-viestejä. Voimme kirjoittaa pienen Java-ohjelman API: n avulla verkkopalvelun luomiseen. Axis2 luo WSDL: n Java-ohjelmasta, jota käytetään verkkopalvelun tarjoamien palveluiden viestintään. Voimme käyttää samaa Axis2: ta Java-luokan (tynkä) luomiseen WSDL-tiedostosta, jota voimme käyttää asiakasohjelmana verkkopalvelupyynnön luomiseen, pyynnön lähettämiseen palvelun päätepisteeseen ja vastauksen käsittelemiseen.

  1. Pohjimmiltaan luomme yksinkertaisen Java-ohjelman, jossa instantisoimme stub-luokan.
  2. Tunkin avulla käynnistämme pyyntötavan välittämällä kaikki vaaditut tiedot.
  3. Stub-ohjelma muuntaa pyynnön XML-pyyntömuodoksi ja lähettää sille palvelun päätepisteen, joka lukee pyynnön, käsittelee pyynnön ja lähettää vastauksen XML-muodossa.
  4. XML-vastaus muunnetaan tynkällä Java-luokkaan ja palautetaan varsinaiseen ohjelmaan.

Katsotaanpa edellä olevia vaiheita yksityiskohtaisesti

Vaihe a) Lataa axis2 API @ https://axis.apache.org/axis2/Java/core/download.cgi ja aseta ympäristömuuttuja 'AXIS2_HOME'

Vaihe b) Luo kansio, jotta kaikki luomat artefaktit säilyvät

Esimerkki: C: \ Axis \ Projects \ CurrencyConverter

Vaihe c) Avaa komentokehote ja siirry kansiorakenteeseen, johon haluat luoda artefaktit, ja suorita seuraava komento, joka luo luokat

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

Vaihe d) Kun komento on suoritettu onnistuneesti, näet tarvittavat tiedostot sisältävän kansion.

Vaihe e) Tämän Web Services Testing -opetusohjelman seuraavassa vaiheessa meidän on luotava asiakasohjelma, jonka kautta lähetämme varsinaisen pyynnön käyttämällä luotuja tukkeja. Avaa pimennys ja luo uusi Java-projekti ja valitse yllä luoma kansio.

Vaihe f) Lisää kaikki akseliin2 liittyvät purkit projektin koontiradalle, joka on siellä ax2-ohjelmistokansion lib-kansiossa.

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

Vaihe g) Luo uusi Java-luokka (esim: Client.Java) ja instantioi stub-objekti. Tynkä-objektin avulla voimme kutsua kaikki tietyn WebServicen tuetut menetelmät.

Client.Java-ohjelmapaketti org.apache.axis2.currencyconvertor;tuo org.apache.axis2.currencyconvertor.CurrencyConvertorStub.ConversionRate;tuo org.apache.axis2.currencyconvertor.CurrencyConvertorStub.ConversionRateResponse;tuo org.apache.axis2.currencyconvertor.CurrencyConvertorStub.Currency;julkisen luokan asiakas {public static void main (Java.lang.String args []) {yrittää {// Luo tynkä-objekti välittämällä palvelun päätepisteen URL-osoiteCurrencyConvertorStub stub = uusi CurrencyConvertorStub ("http://www.webservicex.net/CurrencyConvertor.asmx");// ConversionRate on luokka, jota meidän on käytettävä mainitsemaan alkaen ja valuutaksi// ConversionRate-objekti on parametri conversionRate-toiminnolleConversionRate conversionRate = uusi ConversionRate ();conversionRate.setFromCurrency (Currency.USD);conversionRate.setToCurrency (Currency.INR);// Luo ConversionRateResponse-objekti, jota käytetään vastauksen saamiseen// soita conversionRate-palveluun tynkä-objektillaConversionRateResponse conversionRateResponse = stub.conversionRate (conversionRate);// Voimme käyttää conversionRateResponse-objektia hakeaksesi ConversionRate-palvelun vastauksenSystem.out.println ("Muuntokurssi INR: stä USD: iin: + conversionRateResponse.getConversionRateResult ());} saalis (poikkeus e) {e.printStackTrace ();}}}

OSA 2) Kuinka testata SoapUI-verkkopalvelun avulla

SoapUI: ssä

  1. Valitse Tiedosto> Uusi saippuaprojekti
  2. Anna projektin nimi ja WSDL URI -sijainti
  3. Napsauta OK
  1. Laajenna ensimmäinen pyyntö ja kaksoisnapsauta 'Request1'. Se näyttää SOAP-pyynnön XML-muodossa.
  2. Syötä valuutat ja valuutat
  3. Napsauta Lähetä-painiketta
  4. Vasteen XML näytetään oikeanpuoleisessa ruudussa.

Kuten saatatte päätellä, WebService Test -työkalujen, kuten SoapUI, käyttö nopeuttaa Web Services Automation Testing Effort -palvelua. Siksi SoapUi tulee olemaan oppimisen painopiste seuraavissa opetusohjelmissa.

Yhteenveto

  • Ohjelmistosovellukset kommunikoivat ja vaihtavat tietoja keskenään WebServicen avulla
  • SOAP ja REST ovat 2 suosittua protokollaa WebService-palvelun luomiseen
  • SOAP tukee XML-pohjaista tiedonvaihtoa
  • REST tukee XML: ää, Jsonia tai tiedonvaihtoa yksinkertaisessa URL-osoitteessa WebServices API -testausta varten.
  • WSDL on XML-pohjainen kieli, jota käytetään kuvaamaan verkkopalvelun tarjoamia palveluja. SOAP määritellään WSDL: n avulla.
  • Voit testata WebServicea
    • Luo oma koodi. Käytä esimerkiksi Java-käyttöjärjestelmässä Axis2-sovellusliittymää
    • Käytä WebService Test Automation -työkaluja, kuten SoapUI
  • Automaatiotyökalut, kuten SoapUI, käynnistävät verkkopalvelujen automaatiotestauksen, vaativat vähemmän koodausta kuin oman koodin luominen Axis2-sovellusliittymän avulla

UKK

Mikä on ero WebServicen ja WebAPI: n välillä?

Verkkopalvelu

Web-sovellusliittymä

  • W3C: n määrittelemä, kaikki viestintä ja tiedonvaihto perustuu XML: ään
  • Web-sovellusliittymän viestintä ja tiedonvaihto voivat olla XML-, JSON- tai tavallisia tietoja
  • Se on määritellyt standardit - WSDL
  • Ei määriteltyä standardia
  • Et voi pakata tietoja, mutta voit pakata HTML-pyynnön
  • Voit pakata tiedot
  • Esimerkki: Saippua
  • Esimerkki: REST

Lisätietoja web-sovellusliittymien testauksesta

Tämä verkkopalvelujen testausopetus on mahdollinen Narender Reddy Nukalan avustuksella