API -testaus - API testing

API -testaus on eräänlainen ohjelmistotestaus, joka sisältää sovellusohjelmointirajapintojen (API) testaamisen suoraan ja osana integraatiotestausta sen määrittämiseksi, täyttävätkö ne toiminnallisuuden, luotettavuuden, suorituskyvyn ja turvallisuuden odotukset. Koska sovellusliittymistä puuttuu graafinen käyttöliittymä , sovellusliittymän testaus suoritetaan viestikerroksessa . API testaus on nyt pidetty kriittisinä automatisoida testausta, koska API nyt toimii ensisijaisena rajapintana sovelluslogiikka ja koska GUI testit on vaikea ylläpitää lyhyt irrotusjaksoilla ja usein muutoksia yleisesti käytetty Ketterä ohjelmistokehityksen ja DevOps .

API -testauksen yleiskatsaus

API-testaus sisältää sovellusliittymien testaamisen suoraan (erikseen) ja osana integraatiotestauksen aikana suoritettavia kokonaisuuksia. Beyond rauhallista API , nämä toimet sisältävät useita erityyppisiä päätepisteissä kuten web-palvelut , ESBS , tietokannat , keskusyksiköt , web käyttöliittymistä , ja ERPs . API-testaus suoritetaan kehittäjätiimin tuottamille sovellusliittymille sekä sovellusliittymille, joita tiimi kuluttaa sovelluksessaan (mukaan lukien kolmannen osapuolen sovellusliittymät).

Sovellusliittymätestausta käytetään määrittämään, palauttavatko sovellusliittymät oikean vastauksen (odotetussa muodossa) useille toteutettavissa oleville pyynnöille, reagoivatko asianmukaisesti reuna -tapauksiin , kuten epäonnistumisiin ja odottamattomiin/äärimmäisiin panoksiin, toimittavat vastaukset hyväksyttävässä ajassa ja vastata turvallisesti mahdollisiin turvallisuushyökkäyksiin . Palvelun virtualisointia käytetään yhdessä sovellusliittymätestauksen kanssa testattavien palvelujen eristämiseksi sekä testiympäristön käyttöoikeuksien laajentamiseksi simuloimalla sovellusliittymiä/palveluja, joita ei voida käyttää testaamiseen.

API -testaus sisältää yleensä REST -sovellusliittymien tai SOAP -verkkopalvelujen testaamisen siten, että JSON- tai XML -viestien hyötykuormat lähetetään HTTP- , HTTPS- , JMS- ja MQ -yhteyden kautta . Se voi myös sisältää viestiformaatteja, kuten SWIFT- , FIX- , EDI- ja vastaavia kiinteäpituisia formaatteja, CSV- , ISO 8583- ja protokollapuskureita, jotka lähetetään kuljetusten/protokollien , kuten TCP/IP , ISO 8583 , MQTT , FIX , RMI , SMTP , kautta TIBCO Rendezvous ja FIX .

API -testaus, GUI -testaus ja testiautomaatio

API -testaus on tunnustettu sopivammaksi testausautomaatioon ja jatkuvaan testaukseen (erityisesti Agile -ohjelmistokehityksen ja DevOpsin kanssa käytettävään automaatioon ) kuin GUI -testaukseen. Mainittuja syitä ovat:

  • Järjestelmän monimutkaisuus: GUI-testit eivät voi riittävästi varmistaa monireittisiin arkkitehtuureihin liittyviä toiminnallisia polkuja ja taustarajapintoja/palveluita. Sovellusliittymiä pidetään vakaimpana testattavan järjestelmän käyttöliittymänä.
  • Lyhyet julkaisusyklit, joissa on nopeat takaisinkytkennät: Ketterät ja DevOps -tiimit, jotka työskentelevät lyhyillä iteraatioilla ja nopeilla palautelenkeillä, havaitsevat, että GUI -testit vaativat huomattavia muutoksia, jotta pysytään usein muutosten mukana. API -kerroksen testit ovat vähemmän hauraita ja helpompi ylläpitää.

Näistä syistä on suositeltavaa, että tiimit lisäävät sovellusliittymätestauksen tasoa ja vähentävät samalla riippuvuuttaan graafisesta käyttöliittymästä. Sovellusliittymätestausta suositellaan valtaosalle testiautomaatiotoimintoja ja mahdollisimman paljon reunatestausta. GUI -testaus varataan sitten tyypillisten käyttötapausten validoimiseksi järjestelmätasolla, mobiilitestaukseen ja käytettävyystestaukseen.

API -testaustyypit

API -testaus sisältää tyypillisesti seuraavat käytännöt:

  • Yksikkötestaus - Yksittäisten toimintojen toimivuuden testaaminen.
  • Toiminnallinen testaus- Laajemman skenaarion toimivuuden testaaminen. Usein yksikkötestejä käytetään kokonaisvaltaisten testien rakennuspalikoina. Sisältää testitapauksen määrittelyn, suorittamisen, validoinnin ja regressiotestauksen .
  • Kuormitustestaus - Toimivuuden ja suorituskyvyn vahvistaminen kuormitettuna, usein käyttämällä uudelleen toiminnallisia testitapauksia.
  • Suorituksenaikaisten virheiden havaitseminen - Sovelluksen seuranta automaattisten tai manuaalisten testien suorittamisen aikana, jotta esiin tulevat ongelmat, kuten kilpa -olosuhteet, poikkeukset ja resurssivuodot.
  • Turvatestaus - Sisältää tunkeutumistestauksen ja sumutestauksen sekä todennuksen, salauksen ja kulunvalvonnan vahvistamisen.
  • Verkkokäyttöliittymän testaus- Suoritetaan osana kokonaisvaltaisia ​​integrointitestejä, jotka kattavat myös sovellusliittymät, ja joiden avulla tiimit voivat vahvistaa käyttöliittymäkohteet suuremman tapahtuman yhteydessä.
  • Yhteentoimivuustestaus - (vain SOAP) Verkkopalvelujen yhteentoimivuusprofiilien vaatimustenmukaisuuden tarkistaminen .
  • WS-* vaatimustenmukaisuustestaus-(vain SOAP) WS-* -standardien, kuten WS-Addressing, WS-Discovery, WS-Federation, WS-Policy, WS-Security ja WS-Trust, noudattaminen.
  • Tunkeutumistestaus - tietokonejärjestelmän, verkon tai verkkosovelluksen testaaminen löytääkseen haavoittuvuuksia, joita hyökkääjä voi hyödyntää.
  • Fuzz -testaus - valtava määrä puhtaasti satunnaista tietoa, jota joskus kutsutaan "kohinaksi" tai "sumuksi", syötetään väkisin järjestelmään pakotetun kaatumisen, ylivuoton tai muun negatiivisen käyttäytymisen yrittämiseksi. Tämä tehdään sovellusliittymän testaamiseksi sen absoluuttisissa rajoissa, ja se toimii jonkin verran "pahimmassa tapauksessa".

Ohjelmisto

Nimi Myyjä
SoapUI SmartBear -ohjelmisto
SOAtest Parasoft
Rehvastella SmartBear -ohjelmisto
Katalon Studio Katalon

Katso myös

Viitteet