API-testauksen opetusohjelma: Mikä on API-testausautomaatio?
⚡ Älykäs yhteenveto
API-testaus validoi sovellusohjelmointirajapintoja varmistaakseen toiminnallisuuden, luotettavuuden, suorituskyvyn ja turvallisuuden käyttämällä koodipohjaisia kutsuja graafisen käyttöliittymän vuorovaikutuksen sijaan.

Mitä API-testaus on?
API-testaus on ohjelmistotestaustyyppi, joka vahvistaa sovellusohjelmointirajapinnat (API). API-testauksen tarkoituksena on tarkistaa ohjelmointirajapintojen toimivuus, luotettavuus, suorituskyky ja turvallisuus. API-testauksessa tavallisten käyttäjän syötteiden (näppäimistön) ja lähtöjen sijaan käytät ohjelmistoa kutsujen lähettämiseen API:lle, tulosteen saamiseen ja järjestelmän vastauksen muistiin. API-testit eroavat suuresti GUI-testeistä eivätkä keskity sovelluksen ulkoasuun ja tuntumaan. Se keskittyy pääasiassa ohjelmistoarkkitehtuurin liiketoimintalogiikkakerrokseen.
Taustaa varten API (sovellusohjelmointirajapinta) on laskentarajapinta, joka mahdollistaa tiedonsiirron ja tiedonsiirron kahden erillisen ohjelmistojärjestelmän välillä. Ohjelmistojärjestelmä, joka suorittaa API:n, sisältää useita toimintoja/alirutiineja, joita toinen ohjelmistojärjestelmä voi suorittaa. API määrittää pyynnöt, jotka voidaan tehdä, kuinka pyyntöjä tehdään, käytettävät tietomuodot jne. kahden ohjelmistojärjestelmän välillä.
API-testausautomaatioympäristön määrittäminen
API-automaatiotestaus vaatii sovelluksen, jonka kanssa voidaan olla vuorovaikutuksessa API:n kautta. API:n testaamiseksi sinun on tehtävä seuraavat toimet:
- Käytä testaustyökalua API:n ohjaamiseen
- Kirjoita oma koodisi API:n testaamiseksi
Muutamia huomioitavia seikkoja:
- API-testaus eroaa muista testaustyypeistä, koska graafista käyttöliittymää ei ole saatavilla, ja sinun on luotava ympäristö, joka kutsuu API:a vaadituilla parametreilla ja sitten tutkii testitulokset.
- API-automaatiotestauksen testausympäristön luominen vaikuttaa hieman monimutkaiselta.
- Tietokanta ja palvelin tulee konfiguroida sovelluksen vaatimusten mukaisesti.
- Kun asennus on valmis, API-funktiota tulisi kutsua tarkistamaan, toimiiko kyseinen API.
API-tulostustyypit
API:n tuloste voisi olla:
- Kaiken tyyppiset tiedot
- Tila (sanotaan hyväksytty tai epäonnistunut)
- Kutsu toinen API-toiminto.
Mikä tahansa datatyyppi
Esimerkki: On API-funktio, jonka pitäisi lisätä kaksi kokonaislukua.
Long add(int a, int b)
Numerot on annettava syöttöparametreina. Tulosteen tulee olla kahden kokonaisluvun summa. Tämä tulos on tarkistettava odotetulla tuloksella.
add (1234, 5656)
Poikkeukset on käsiteltävä, jos luku ylittää kokonaislukurajan.
Tila (hyväksytty tai hylätty)
Harkitse seuraavia API-funktioita:
- Lukko()
- Avata()
- Poistaa()
Ne palauttavat minkä tahansa arvon, kuten True (onnistuessaan) tai False (virheessään). Tarkempi testitapaus kutsuisi minkä tahansa skriptin funktioita ja tarkistaisi myöhemmin muutokset joko tietokannassa tai sovelluksen graafisessa käyttöliittymässä.
Toisen API:n/tapahtuman kutsuminen
Tässä tapauksessa kutsumme yhtä API-funktioista, joka puolestaan kutsuu toista funktiota. Esimerkiksi – Ensimmäistä API-funktiota voidaan käyttää tietyn tietueen poistamiseen taulukosta ja tämä funktio puolestaan kutsuu toista funktiota tietokannan päivittämiseksi.
API-testauksen testitapaukset
API-testauksen testitapaukset perustuvat:
- Palautusarvo syöttöehtojen perusteella: se on suhteellisen helppo testata, koska syöte voidaan määritellä ja tulokset voidaan todentaa
- Ei palauta mitään: Jos paluuarvoa ei ole, API:n toiminta järjestelmässä on tarkistettava
- Käynnistä jokin muu API/tapahtuma/keskeytys: Jos API:n lähtö laukaisee jonkin tapahtuman tai keskeytyksen, niin näiden tapahtumien ja keskeytyskuuntelijoiden tulisi olla traclukituksesta
- Päivitä tietorakenne: Tietorakenteen päivittämisellä on jonkinlainen tulos tai vaikutus järjestelmään, ja se tulee todentaa
- Muokkaa tiettyjä resursseja: Jos API-kutsu muuttaa joitain resursseja, se tulee vahvistaa käyttämällä vastaavia resursseja
API-testausmenetelmä
API-testausmenetelmä on ennalta määritelty strategia tai menetelmä, jota laadunvarmistustiimi käyttää API-testauksen suorittamiseen sen jälkeen, kun koontiversio on valmis. Tämä testaus ei sisällä lähdekoodia. API-testausmenetelmä auttaa ymmärtämään paremmin toiminnallisuuksia, testaustekniikoita, syöttöparametreja ja testitapausten suoritusta.
Seuraavat seikat auttavat API-testausmenetelmän valinnassa:
- API-ohjelman toiminnallisuuden ymmärtäminen ja ohjelman laajuuden selkeä määritteleminen
- Käytä testaustekniikoita, kuten ekvivalenssiluokkia, raja-arvoanalyysiä ja virheen arvausta, 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.
Kuinka testata API
API-automaatiotestauksen tulisi kattaa tavanomaisen SDLC-prosessin lisäksi ainakin seuraavat testausmenetelmät:
- Löytötestaus: Testiryhmän tulee suorittaa manuaalisesti API:ssa dokumentoidut kutsut, kuten varmistaa, että tietty sovellusliittymän paljastama resurssi voidaan luetteloida, luoda ja poistaa tarpeen mukaan.
- Käytettävyystestaus: Tämä testaus varmistaa, onko API toimiva ja käyttäjäystävällinen. Ja integroituuko API hyvin myös toiseen alustaan
- Turvatestaus: Tämä testaus sisältää minkä tyyppistä todennusta tarvitaan ja onko arkaluonteiset tiedot salattu HTTP:n vai molempien kautta
- Automaattinen testaus: API-testauksen tulisi huipentua sarjan komentosarjoja tai työkalun luomiseen, jota voidaan käyttää API:n suorittamiseen säännöllisesti
- Dokumentaatio: Testiryhmän on varmistettava, että dokumentaatio on riittävä ja että se sisältää riittävästi tietoa vuorovaikutuksessa API:n kanssa. Dokumentoinnin tulee olla osa lopullista suoritetta
Ero API-testauksen ja yksikkötestauksen välillä
| Yksikkötestaus | API-testaus |
|---|---|
| Kehittäjät suorittavat sen | Testaajat tekevät sen |
| Erillinen toimivuus testataan | Päästä päähän -toiminnallisuus on testattu |
| Kehittäjä voi käyttää lähdekoodia | Testaajat eivät voi käyttää lähdekoodia |
| Mukana on myös käyttöliittymätestaus | Vain API-toiminnot testataan |
| Vain perustoiminnot testataan | Kaikki toiminnalliset ongelmat testataan |
| Rajoitettu laajuus | Laajempi kattavuus |
| Yleensä ajetaan ennen sisäänkirjautumista | Testaa koontiversion luomisen jälkeen |
API-testauksen parhaat käytännöt
- API-testitapaukset tulisi ryhmitellä testikategorian mukaan.
- Jokaisen testin päälle on lisättävä kutsuttavien sovellusliittymien ilmoitukset.
- Parametrien valinta tulisi mainita eksplisiittisesti itse testitapauksessa.
- Priorisoi API-funktiokutsuja, jotta testaajien on helppo testata niitä.
- Jokaisen testitapauksen tulisi olla mahdollisimman itsenäinen ja riippumaton riippuvuuksista.
- Vältä "testien ketjuttamista" kehitystyössäsi.
- Erityistä varovaisuutta on noudatettava käsiteltäessä kertakäyttöisiä funktioita, kuten Delete ja CloseWindow.
- Puheluiden järjestys tulee suorittaa ja suunnitella hyvin.
- Varmistaaksesi täydellisen testin kattavuuden, luo API-testitapaukset kaikille mahdollisille API-syöteyhdistelmille.
API-testauksen havaitsemat virhetyypit
- Ei pysty käsittelemään virhetilanteita sulavasti
- Käyttämättömät liput
- Puuttuvat tai päällekkäiset toiminnot
- Luotettavuusongelmat, mukaan lukien vaikeudet yhteyden muodostamisessa ja vastauksen saamisessa API:lta
- Turvallisuusasiat
- Monisäikeiset ongelmat
- Suorituskykyongelmat, joissa API-vastausaika on erittäin korkea
- Virheelliset virheet/varoitus soittajalle
- Kelvollisten argumenttiarvojen virheellinen käsittely
- Vastausdata ei ole jäsennelty oikein (JSON tai XML)
Kuinka tehdä API-testausautomaatio
Seuraavat ohjeet tarjoavat yksityiskohtaisia ohjeita API-testauksen automatisointiin:
- Kuinka testata API:lla Lepää varmana
- Kuinka testata API:lla Postman
- Kuinka testata API:lla UFT
Lisäksi on muitakin työkaluja API-testaukseen.
Miten tekoäly mullistaa API-testausta
Tekoäly on uudistumistaping API-testaus automatisoimalla manuaalisia tehtäviä. Koneoppimisalgoritmit voivat analysoida API-spesifikaatioita, luoda testitapauksia ja tunnistaa reunatapauksia, jotka ihmistestaajat saattavat jättää huomiotta.
Tekoäly parantaa myös tietoturvatestausta havaitsemalla haavoittuvuuksia. Tekoälyn tulisi kuitenkin täydentää eikä korvata ihmisen asiantuntemusta, sillä laadunvarmistusinsinöörit tuovat mukanaan toimialakohtaista tietämystä, jota tekoäly ei pysty kopioimaan.
API-testauksen haasteet
- Verkkosovellusliittymien testauksen suurimmat haasteet ovat parametrien yhdistäminen, parametrien valinta ja kutsujen sekvensointi.
- Sovelluksen testaamiseen ei ole käytettävissä graafista käyttöliittymää, mikä vaikeuttaa syöttöarvojen antamista.
- Tulosteen validointi ja varmentaminen eri järjestelmässä on testaajille hieman vaikeaa.
- Parametrien valinnan ja luokittelun on oltava testaajien tiedossa.
- Poikkeusten käsittelyfunktiota on testattava.
- Koodausosaaminen on testaajille välttämätöntä.
Yhteenveto
API koostuu joukosta luokkia/toimintoja/proseduureja, jotka edustavat liiketoimintalogiikkakerrosta. Jos API:ta ei testata kunnolla, se voi aiheuttaa ongelmia paitsi API-sovelluksessa myös kutsuvassa sovelluksessa. Se on korvaamaton testi ohjelmistosuunnittelussa.



