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
- Kaikentyyppiset tiedot
- Tila (sano Hyväksy tai hylkää)
- 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 -
- Lukko()
- Avata()
- 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:
- API-ohjelman toimivuuden ymmärtäminen ja ohjelman laajuuden selkeä määrittely
- Käytä testaustekniikoita, kuten ekvivalenssiluokkia, raja-arvojen analysointia, virheiden arvaamista ja kirjoita testitapauksia API: lle
- API: n syöttöparametrit on suunniteltava ja määriteltävä asianmukaisesti
- Suorita testitapaukset ja vertaa odotettuja ja todellisia tuloksia.
Ero API-testauksen ja Unit-testauksen välillä
Yksikkötestaus | API-testaus |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.