Nauhat Nauhat Nauhat Nauhat
API-integraatiot | API-hallinta

API-testauksen yleisten haasteiden voittaminen

API-testauksen haasteita

Kirjailija: Manoj Chaudhary Teknologiajohtaja ja tekniikan johtaja


Tarkistaakseen sovellusohjelmointirajapintojensa toimivuuden, luotettavuuden ja turvallisuuden IT-tiimit suorittavat erilaisia ​​testejä, mukaan lukien toiminta-, hallinto-, kaaos-, levinneisyys-, suorituskyky-, stressi- ja pitkäikäisyysarvioinnit. Alla hahmotellaan yleisiä haasteita, joita tiimit kohtaavat tehdessään näitä testejä, ja tarjoamme suosituksiamme niiden ratkaisemiseksi.

Haaste: Alkuasetusten läpivieminen

Testausinfrastruktuurin luominen, kehittäminen ja käyttöön ottaminen voi olla aikaa vievää työtä, ja tiimiäsi voi olla vaikeaa motivoida koko prosessin ajan.

Suositus

Testausprosessin pitkän aikavälin kannattavuuden selittäminen voi olla avainasemassa testaustiimin motivoinnissa. On myös tärkeää huomata, kuinka kriittinen tämä vaihe on API-testauksessa yleisesti. Kun teet alkuasetuksia, mieti tarkkaan, miten testaat API:ta ja mitä nämä testit edellyttävät infrastruktuurin suunnittelussa.

Haaste: Suurten testidatamäärien luominen ja hallinta

Moniparametreiset API:t vaativat huomattavan määrän dataa (ja joissakin tapauksissa dataa, jolla on suuri kardinaliteetti) tehokkaaseen testaukseen. Näiden tietojen luominen, ylläpito ja uudelleenkäytettävyyden varmistaminen voi olla haaste testaajille.

Suositus

Avain testidatan luomiseen ja määrittämiseen on pyyntö- ja vastausrakenteiden sekä niihin liittyvien API-kutsujen ymmärtäminen. Käytä tiedonhallintatyökaluja, joiden avulla voit ymmärtää nämä yhteydet ja maskata, luoda ja osajoukkoa testaustarpeisiisi sopivaa uutta dataa.

Haaste: Hallintotestauksen tavoitteiden selkeä ymmärtäminen

Usean vuokraajan pilvisovelluksille rakennetuille API:ille kriittinen hallintotestaus suoritetaan infrastruktuurin suojaamiseksi liikakäytöltä, meluisilta naapureilta ja hyökkäyksiltä. Sovellusliittymillä on tyypillisesti hallintasäännöt käyttöä varten (esim. tallennuskäytännöt, nopeusrajoitukset ja hyötykuorman koko), mutta API-arkkitehtuurin logiikkaan ja näihin sääntöihin liittyvän tiedon ja ymmärryksen puute johtaa usein epävarmuuteen testaustavoitteista.

Suositus

Luo hyvin määritellyt ja hyvin kirjoitetut hallintosäännöt; rakentaa apuohjelmia tiimillesi muokataksesi niitä tarpeen mukaan testaamisen helpottamiseksi ja tehostamiseksi.

Haaste: Tehokas kaaostestaus

Vuonna 2010 Netflixin kehitys- ja käyttötiimit loivat tämän testausmuodon, kun he alkoivat siirtää perinteistä infrastruktuuria Amazon Web Services (AWS) -pilviinfrastruktuuriin. Kaaostestaus tai kaaoksen suunnittelu, on erittäin kurinalainen lähestymistapa, joka testaa järjestelmän eheyttä simuloimalla ja tunnistamalla viat ennakoivasti ennen kuin ne johtavat odottamattomiin seisokkeihin tai huonoon käyttökokemukseen. Prosessi sisältää:

  • Testataan, että järjestelmä toimii määritellyssä vakaassa tilassa. Ensinnäkin testaajien on tunnistettava mitattavissa oleva järjestelmätulos, joka osoittaa normaalin työskentelyn. Infrastruktuurin ja työkalujen luominen vakaan tilan määrittämiseen ja mittaamiseen voi olla monimutkaista riippuen kyseessä olevien sovellusten arkkitehtuurista ja laajuudesta.
  • Testaus sen määrittämiseksi, että järjestelmän vakaa tila säilyy. Vakaan tilan luomisen jälkeen testaajat päättävät, jatkuuko se kontrolli-, kokeellisissa ja todellisissa olosuhteissa.
  • Testaa mahdollisimman vähän vaikutuksia käyttäjiin. Testaajat rikkovat tai häiritsevät palvelua määrittääkseen käyttäjiin kohdistuvat negatiiviset vaikutukset.
  • Esittelyssä kaaos. Todettuaan, että järjestelmä toimii määritellyssä vakaassa tilassa, että vakaa tila kestää ja että "räjähdyssäde" on rajoitettu, testaajat suorittavat kaaostestaussovelluksensa nähdäkseen, kuinka järjestelmä käyttäytyy tietyissä stressiolosuhteissa tai olosuhteissa. (esim. palvelin kaatuu, viallinen laitteisto tai katkennut verkkoyhteys).

Suositus

Rakenna sovellukseesi ja infrastruktuuriisi koukkuja, joiden avulla testausryhmäsi voi luoda kaaosta ja saada helposti osuvia mittareita räjähdyksen säteelle.

Haaste: oikean tiimin saaminen penetraatiotestaukseen

Läpäisytestauksessa testaaja, jolla on rajalliset tiedot tietystä API:sta, hyökkää sen kimppuun arvioidakseen uhkavektorin ulkoisesta näkökulmasta. Hyökkäykset voivat kohdistua koko sovellusliittymään tai tiettyihin toimintoihin ja prosesseihin.

Suositus

Sisäinen tiimi voi suorittaa alustavan läpäisytestauksen, mutta kolmannen osapuolen läpäisytestaajan tulee suorittaa syväläpäisytestauksen seuranta.

Onko sinulla kysyttävää? Olemme täällä auttamassa.

Ota yhteyttä