API-testauksen opetusohjelma: Mikä on API-testiautomaatio? Kuinka testata

Ennen kuin menet API-testausoppaaseen, ymmärretään ensin

Mikä on API?

API (Application Programming Interface) on tietokoneliitäntä, joka mahdollistaa viestinnän ja tiedonvaihdon kahden erillisen ohjelmistojärjestelmän välillä. Ohjelmistojärjestelmä, joka suorittaa API: n, sisältää useita toimintoja / aliohjelmia, joita toinen ohjelmistojärjestelmä voi suorittaa. API määrittelee pyynnöt, jotka voidaan tehdä, kuinka tehdä pyyntöjä, käytettäviä datamuotoja jne. Kahden ohjelmistojärjestelmän välillä.

Mikä on API-testaus?

API TESTING on ohjelmistojen testaustyyppi, joka validoi sovellusohjelmointirajapinnat (API). API-testauksen tarkoituksena on tarkistaa ohjelmointirajapintojen toimivuus, luotettavuus, suorituskyky ja turvallisuus. API-testauksessa sen sijaan, että käytät vakiokäyttäjätietoja (näppäimistö) ja -lähtöjä, käytät ohjelmistoa puheluiden lähettämiseen API: lle, lähdön saamiseksi ja muistiinpanoksi järjestelmän vastauksesta. API-testit eroavat hyvin GUI-testeistä, eivätkä ne keskity sovelluksen ulkoasuun. Se keskittyy pääasiassa ohjelmistoarkkitehtuurin liiketoimintalogiikkaan.

API-automaation testaus vaatii sovelluksen, jota voidaan käyttää API: n kautta. API: n testaamiseksi sinun on tehtävä

  • Käytä testaustyökalua API: n ohjaamiseen
  • Kirjoita oma koodi testataksesi sovellusliittymää

Tästä API-testausoppaasta saat lisätietoja

  • API-testausympäristön määrittäminen
  • API: n tuototyypit
  • Testitapaukset API-testaukseen
  • API-testauksen lähestymistapa
  • Ero API-testauksen ja Unit-testauksen välillä
  • Kuinka testata sovellusliittymää
  • API-testauksen parhaat käytännöt
  • API-testauksen havaitsemat virheetyypit
  • Kuinka tehdä API-testausautomaatio
  • API-testauksen haasteet

API-testausympäristön määrittäminen

  • API-testaus on erilainen kuin muut ohjelmistojen testaustyypit, koska käyttöliittymää ei ole saatavana, mutta silti sinun on määritettävä alkuympäristö, joka kutsuu API: n vaadittavilla parametreillä ja sitten lopuksi testituloksen.
  • Testausympäristön luominen API-automaatiotestaukselle vaikuttaa siis hieman monimutkaiselta.
  • Tietokanta ja palvelin on määritettävä sovelluksen vaatimusten mukaisesti.
  • Kun asennus on valmis, API-toiminto on kutsuttava tarkistamaan, toimiiko kyseinen sovellusliittymä.

API: n tuototyypit

API-ulostulo voisi olla

  1. Kaikentyyppiset tiedot
  2. Tila (sano Hyväksy tai hylkää)
  3. Kutsu toinen API-toiminto.

Katsotaanpa esimerkkiä kustakin yllä olevista tyypeistä tässä api-testausoppaassa

Kaikentyyppiset tiedot

Esimerkki: On olemassa API-toiminto, jonka tulisi lisätä kaksi kokonaislukua.

Pitkä lisäys (int a, int b)

Numerot on annettava syöttöparametreina. Tuloksen tulisi olla kahden kokonaisluvun summa. Tämä tuotos on tarkistettava odotetulla tuloksella.

Soittaminen on tehtävä kuten

lisää (1234, 5656)

Poikkeuksia on käsiteltävä, jos numero ylittää kokonaisluvun rajan.

Tila (sano Hyväksy tai hylkää)

Harkitse alla olevaa API-toimintoa -

  1. Lukko()
  2. Avata()
  3. Poistaa()

Ne palauttavat tulosteen minkä tahansa arvon, kuten True (onnistumisen tapauksessa) tai false (Virheen sattuessa).

Tarkempi testitapaus olisi, se voi kutsua minkä tahansa komentosarjan toimintoja ja tarkistaa myöhemmin muutokset joko tietokannassa tai sovelluksen käyttöliittymässä.

Toisen sovellusliittymän / tapahtuman soittaminen

Tässä tapauksessa kutsumme yhtä API-funktiosta, joka puolestaan ​​kutsuu toista toimintoa.

Esimerkiksi - Ensimmäistä API-toimintoa voidaan käyttää tietyn tietueen poistamiseen taulukosta, ja tämä toiminto puolestaan ​​kutsuu toista toimintoa päivittämään tietokanta.

Testitapaukset API-testaukseen:

API-testauksen testitapaukset perustuvat

  • Palautusarvo syöttöolosuhteiden perusteella: se on suhteellisen helppo testata, koska syöttö voidaan määritellä ja tulokset voidaan todentaa
  • Ei palauta mitään: Kun palautusarvoa ei ole, API: n toiminta tarkistettavassa järjestelmässä
  • Käynnistä jokin muu sovellusliittymä / tapahtuma / keskeytys: Jos sovellusliittymän lähtö laukaisee jonkin tapahtuman tai keskeytyksen, näitä tapahtumia ja keskeytyskuuntelijoita tulisi seurata
  • Päivitä tietorakenne: Tietorakenteen päivittämisellä on jonkinlainen tulos tai vaikutus järjestelmään, ja se on todennettava
  • Muokkaa tiettyjä resursseja: Jos API-kutsu muuttaa joitain resursseja, se on vahvistettava avaamalla vastaavat resurssit

API-testausmenetelmä

API-testausmenetelmä on ennalta määritelty strategia tai menetelmä, jonka laadunvarmistusryhmä suorittaa suorittaakseen API-testauksen koontiversion valmistuttua. Tämä testaus ei sisällä lähdekoodia. API-testausmenetelmä auttaa ymmärtämään paremmin toiminnot, testaustekniikat, syöttöparametrit ja testitapausten suorittamisen.

Seuraavat kohdat auttavat käyttäjää tekemään API-testausmenetelmän:

  1. API-ohjelman toimivuuden ymmärtäminen ja ohjelman laajuuden selkeä määrittely
  2. Käytä testaustekniikoita, kuten ekvivalenssiluokkia, raja-arvojen analysointia, virheiden arvaamista ja kirjoita testitapauksia API: lle
  3. API: n syöttöparametrit on suunniteltava ja määriteltävä asianmukaisesti
  4. Suorita testitapaukset ja vertaa odotettuja ja todellisia tuloksia.

Ero API-testauksen ja Unit-testauksen välillä

Yksikkötestaus API-testaus
  • Kehittäjät suorittavat sen
  • Testaajat suorittavat sen
  • Erillinen toimivuus testataan
  • Kokonaisvalmiudet testataan
  • Kehittäjä voi käyttää lähdekoodia
  • Testaajat eivät voi käyttää lähdekoodia
  • Mukana on myös käyttöliittymän testaus
  • Vain API-toiminnot testataan
  • Vain perustoiminnot testataan
  • Kaikki toiminnalliset kysymykset testataan
  • Rajoitettu
  • Laajempi
  • Yleensä juoksi ennen sisäänkirjautumista
  • Suoritettu rakennuksen luomisen jälkeen

Kuinka testata sovellusliittymää

API-automaatiotestauksen tulisi kattaa ainakin seuraavat testausmenetelmät tavallisen SDLC-prosessin lisäksi

  • Löytötestaus: Testiryhmän tulisi suorittaa manuaalisesti sovellusliittymässä dokumentoitu kutsu, kuten varmistaa, että sovellusliittymän altistama tietty resurssi voidaan luetteloida, luoda ja poistaa tarvittaessa
  • Käytettävyystestaus: Tämä testaus tarkistaa, onko sovellusliittymä toimiva ja käyttäjäystävällinen. Onko API integroitu hyvin myös toisen alustan kanssa
  • Suojaustestaus: Tämä testaus sisältää, minkä tyyppinen todennus vaaditaan ja onko arkaluontoiset tiedot salattu HTTP: n vai molempien kautta
  • Automaattinen testaus: API-testauksen pitäisi huipentua komentosarjojen tai työkalun luomiseen, jota voidaan käyttää API: n säännölliseen suorittamiseen
  • Dokumentaatio: Testiryhmän on varmistettava, että dokumentaatio on riittävä ja sisältää riittävästi tietoa vuorovaikutuksessa API: n kanssa. Dokumentaation tulisi olla osa lopullista toimitusta

API-testauksen parhaat käytännöt:

  • API-testitapaukset tulisi ryhmitellä testiluokittain
  • Jokaisen testin päälle on lisättävä kutsuttavien sovellusliittymien ilmoitukset.
  • Parametrien valinta on mainittava erikseen itse testitapauksessa
  • Prioriteettaa API-toimintokutsuja, jotta testaajien on helppo testata
  • Jokaisen testitapauksen tulee olla mahdollisimman itsenäinen ja riippumaton riippuvuuksista
  • Vältä "testiketjua" kehityksessäsi
  • Erityistä varovaisuutta on noudatettava käsiteltäessä kertaluonteisia puhelutoimintoja, kuten Poista, Sulje ikkuna jne.
  • Puhelujen järjestäminen tulisi suorittaa ja suunnitella hyvin
  • Varmistaaksesi täydellisen testauksen kattavuuden, luo API-testitapaukset kaikille mahdollisille API: n syöttöyhdistelmille.

API-testauksen havaitsemat virhetyypit

  • Ei pysty käsittelemään virhetiloja sulavasti
  • Käyttämättömät liput
  • Puuttuva tai kopioitu toiminto
  • Luotettavuuskysymykset. Vaikeus yhdistää ja saada vastausta API: lta.
  • Turvallisuusongelmat
  • Monisäikeinen kysymys
  • Suorituskykyongelmat. API-vasteaika on erittäin korkea.
  • Virheelliset virheet / varoitus soittajalle
  • Pätevien argumenttiarvojen virheellinen käsittely
  • Vastaustietoja ei ole rakennettu oikein (JSON tai XML)

Kuinka tehdä API-testausautomaatio

Seuraavat oppaat tarjoavat yksityiskohtaisen oppaan API-testin automatisoimiseksi.

API: n testaaminen REST Assured -sovelluksella

API: n testaaminen Postmanin kanssa

Kuinka testata API: ta UFT: lla

Lisäksi on olemassa muita työkaluja API-testaukseen. Tarkista ne täältä

API-testauksen haasteet

API-testauksen haasteisiin kuuluu:

  • Tärkeimmät haasteet Web-sovellusliittymien testauksessa ovat parametriyhdistelmä, parametrien valinta ja puhelun järjestys
  • Sovelluksen testaamiseen ei ole käytettävissä käyttöliittymää, mikä vaikeuttaa syöttöarvojen antamista
  • Testaajien on vähän vaikeaa tarkistaa ja tarkistaa lähtö eri järjestelmässä
  • Parametrien valinnan ja luokittelun on oltava testaajien tiedossa
  • Poikkeusten käsittelytoiminto on testattava
  • Koodaustiedot ovat tarpeen testaajille

Päätelmä:

API koostuu joukosta luokkia / toimintoja / menettelyjä, jotka edustavat liiketoimintalogiikan tasoa. Jos sovellusliittymää ei testata oikein, se voi aiheuttaa ongelmia paitsi API-sovelluksessa myös kutsuvassa sovelluksessa. Se on välttämätön testi ohjelmistotuotannossa.

Mielenkiintoisia artikkeleita...