API testimise õpetus: mis on API testimise automatiseerimine?

Mis on API testimine?

API testimine on tarkvara testimise tüüp, mis kinnitab rakendusprogrammeerimisliideseid (API-sid). API testimise eesmärk on kontrollida programmeerimisliideste funktsionaalsust, töökindlust, jõudlust ja turvalisust. API testimises kasutate standardsete kasutajasisendite (klaviatuuri) ja väljundite asemel tarkvara API-le kõnede saatmiseks, väljundi hankimiseks ja süsteemi vastuse ülesmärkimiseks. API-testid erinevad GUI-testidest vägagi ega keskendu rakenduse välimusele ega olemusele. See keskendub peamiselt tarkvaraarhitektuuri äriloogikakihile.

API testimise pilt

Taustaks API (rakenduse programmeerimise liides) on arvutusliides, mis võimaldab sidet ja andmevahetust kahe eraldiseisva tarkvarasüsteemi vahel. API-d käivitav tarkvarasüsteem sisaldab mitmeid funktsioone/alamprogramme, mida teine ​​tarkvarasüsteem saab täita. API määratleb kahe tarkvarasüsteemi vahel esitatavad päringud, taotluste tegemise, kasutatavad andmevormingud jne.

API testimise automatiseerimiskeskkonna seadistamine

API automatiseerimine Testimiseks on vaja rakendust, mida saab API kaudu suhelda. API testimiseks peate seda tegema

  1. API juhtimiseks kasutage testimistööriista
  2. API testimiseks kirjutage oma kood

Mõned punktid, mida tähele panna

  • API testimine erineb teistest tarkvara testimistüüpidest, kuna GUI pole saadaval, kuid siiski peate seadistama esialgse keskkonna, mis kutsub API koos nõutud parameetritega ja seejärel lõpuks kontrollima testi tulemust.
  • Seetõttu tundub API automatiseerimise testimise testimiskeskkonna seadistamine pisut keeruline.
  • Andmebaas ja server tuleks konfigureerida vastavalt rakenduse nõuetele.
  • Kui installimine on lõpetatud, tuleks kutsuda API funktsioon, et kontrollida, kas see API töötab.

API väljundi tüübid

API väljund võiks olla

  1. Igat tüüpi andmed
  2. Olek (öelge läbitud või ebaõnnestunud)
  3. Kutsuge välja mõni muu API-funktsioon.

Vaatame selles API testimise õpetuses kõigi ülaltoodud tüüpide näidet

Mis tahes tüüpi andmed

Näide: on API funktsioon, mis peaks lisama kaks täisarvu.

Long add(int a, int b)

Numbrid tuleb sisestada sisendparameetritena. Väljund peaks olema kahe täisarvu liitmine. Seda väljundit tuleb oodatava tulemusega kontrollida.

Helistada tuleb nt

add (1234, 5656)

Erandeid tuleb käsitleda, kui arv ületab täisarvude piirangut.

Olek (öelge läbitud või ebaõnnestunud)

Mõelge allolevale API funktsioonile -

  1. Lukk()
  2. Ava ()
  3. Kustuta()

Nad tagastavad väljundina mis tahes väärtuse, näiteks True (edu korral) või false (vea korral).

Täpsemalt Testjuhtum oleks, saab kutsuda funktsioone mis tahes skriptides ja hiljem kontrollida muudatusi kas andmebaasis või rakenduse GUI-s.

Teise API/sündmuse kutsumine

Teise API/sündmuse kutsumine

Sel juhul kutsume ühte API funktsioonist, mis omakorda kutsub esile teist funktsiooni.

Näiteks – First API funktsiooni saab kasutada tabelis määratud kirje kustutamiseks ja see funktsioon omakorda kutsub andmebaasi VÄRSKENDAMISEKS välja teise funktsiooni.

API testimise testjuhtumid:

API testimise testjuhtumid põhinevad

  • Sisendtingimusel põhinev tagastusväärtus: seda on suhteliselt lihtne testida, kuna sisendit saab defineerida ja tulemusi autentida
  • Ei tagasta midagi: Kui tagastusväärtust pole, tuleb kontrollida API käitumist süsteemis
  • Käivitage mõni muu API/sündmus/katkestus: Kui API väljund käivitab mõne sündmuse või katkestuse, tuleks neid sündmusi ja katkestuste kuulajaid jälgida
  • Värskenda andmestruktuuri: Andmestruktuuri värskendamine avaldab süsteemile teatud tulemust või mõju ja see tuleks autentida
  • Teatud ressursside muutmine: Kui API kutse muudab mõnda ressurssi, tuleb see vastavatele ressurssidele juurdepääsu kaudu kinnitada

API testimisviis

API testimisviis on eelmääratletud strateegia või meetod, mille QA meeskond rakendab API testimise läbiviimiseks pärast seda, kui ehitamine on valmis. See testimine ei sisalda lähtekoodi. API testimise lähenemine aitab paremini mõista funktsioone, testimistehnikaid, sisendparameetreid ja testjuhtumite täitmist.

Järgmised punktid aitavad kasutajal teha API testimise lähenemisviisi:

API testimisviis

  1. API programmi funktsionaalsuse mõistmine ja programmi ulatuse selge määratlemine
  2. Rakendage testimistehnikaid, nagu ekvivalentsusklassid, piirväärtuste analüüs ja vigade arvamine ning kirjutage API jaoks testjuhtumid
  3. API sisendparameetrid tuleb planeerida ja õigesti määratleda
  4. Tehke testjuhtumid ja võrrelge eeldatavaid ja tegelikke tulemusi.

Erinevus API testimise ja üksuse testimise vahel

Ühiku testimine API testimine
Arendajad teevad seda Testijad teevad seda
Katsetatakse eraldi funktsionaalsust Katsetatakse otsast lõpuni funktsionaalsust
Arendaja pääseb ligi lähtekoodile Testijad ei pääse lähtekoodile juurde
Kaasatud on ka kasutajaliidese testimine Testitakse ainult API funktsioone
Testitakse ainult põhifunktsioone Kõik funktsionaalsed probleemid on testitud
Piiratud ulatusega Laiem ulatus
Tavaliselt jooksis enne sisseregistreerimist Testkäivitamine pärast ehituse loomist

API testimine

API automatiseerimise testimine peaks peale tavapärase SDLC protsessi hõlmama vähemalt järgmisi testimismeetodeid

  • Avastustestid: Testrühm peaks käsitsi täitma API-s dokumenteeritud kõnede komplekti, näiteks kontrollima, kas API-ga eksponeeritud konkreetset ressurssi saab loendisse lisada, luua ja vajadusel kustutada.
  • Kasutatavuse testimine: See testimine kontrollib, kas API on funktsionaalne ja kasutajasõbralik. Ja kas API integreerub hästi ka teise platvormiga
  • Turvatestimine: See testimine hõlmab seda, millist autentimist on vaja ja kas tundlikud andmed krüpteeritakse HTTP või mõlema kaudu
  • Automatiseeritud testimine: API testimine peaks lõppema skriptide komplekti või tööriista loomisega, mida saab kasutada API regulaarseks käivitamiseks
  • Dokumentatsioon: Testimismeeskond peab veenduma, et dokumentatsioon on piisav ja sisaldab API-ga suhtlemiseks piisavalt teavet. Dokumentatsioon peaks olema lõpptoote osa

API testimise parimad tavad:

  • API testjuhtumid tuleks rühmitada testikategooriate kaupa
  • Iga testi peale peaksite lisama kutsutavate API-de deklaratsioonid.
  • Parameetrite valik tuleks testjuhtumis endas selgesõnaliselt mainida
  • Seadistage API funktsioonikutsed prioriteediks, et testijatel oleks lihtne testida
  • Iga testjuhtum peaks olema võimalikult iseseisev ja sõltuvustest sõltumatu
  • Vältige oma arengus "testaheldamist".
  • Erilist tähelepanu tuleb pöörata ühekordse kõne funktsioonide (nt kustutamine, aken sulgemine jne) käsitsemisel.
  • Kõnede järjestamine peaks olema läbi viidud ja hästi planeeritud
  • Testi täieliku katvuse tagamiseks looge API testjuhtumid API kõigi võimalike sisendkombinatsioonide jaoks.

Vigade tüübid, mida API testimine tuvastab

  • Ei suuda veatingimusi graatsiliselt käsitleda
  • Kasutamata lipud
  • Puuduv või dubleeritud funktsioon
  • Usaldusväärsuse küsimused. Raskused ühenduse loomisel ja vastuse saamisel API.
  • Julgeolekuküsimused
  • Mitme keermega seotud probleemid
  • Jõudlusprobleemid. API reageerimisaeg on väga pikk.
  • Valed vead/hoiatus helistajale
  • Kehtivate argumentide väärtuste vale käsitlemine
  • Vastuseandmed pole õigesti üles ehitatud (JSON või XML)

Kuidas teha API testimise automatiseerimist

1) ValmisAPI

ValmisAPI on juhtiv tööriist RESTfuli, SOAPi, GraphQL-i ja muude veebiteenuste funktsionaalsuse, turvalisuse ja koormustestimiseks. Ühel intuitiivsel platvormil on kolm võimsat tööriista: ReadyAPI test, ReadyAPI Performance ja ReadyAPI virtualiseerimine. Nende tööriistadega saate läbi viia funktsionaalseid, turbe- ja jõudlus-/koormusteste. Samuti saate meie tugeva virtualiseerimistööriistaga API- ja veebiteenuseid mõnitada. Lisaks saate hõlpsasti integreerida oma CI/CD torujuhe iga ehituse ajal.

ValmisAPI

Põhijooned

  • ReadyAPI saab integreerida mis tahes keskkonda.
  • Sellel on nutika kinnituse funktsioon, mis võimaldab kiiresti luua hulgiväiteid sadade lõpp-punktide kohta.
  • Algne tugi Gitile, Dockerile, Jenkinsile, AzureJne
  • Toetab automaatse testimise käsurida.
  • Toetab funktsionaalsete testide paralleelset täitmist ja tööde järjekorda.
  • Promotes koodi taaskasutamine
  • Eemaldab testimise ja arendamise käigus sõltuvused.

Külastage ReadyAPI-t >>

14-päevane tasuta prooviperiood (krediitkaarti pole vaja)

Järgmised õpetused pakuvad üksikasjalikku juhendit API testimise automatiseerimiseks.

Lisaks on API testimiseks ka muid tööriistu. Kontrollige neid siin

API testimise väljakutsed

API testimise väljakutsed hõlmavad järgmist:

  • Veebi API testimise peamised väljakutsed on Parameetrite kombinatsioon, parameetrite valik ja kõnede järjestus
  • GUI pole saadaval rakenduse testimiseks, mis teeb sisendväärtusi on raske anda
  • Väljundi kinnitamine ja kontrollimine teises süsteemis on testijatele pisut keeruline
  • Parameetrite valik ja kategoriseerimine peavad olema testijatele teada
  • Erandi käsitlemise funktsioon on vaja testida
  • Kodeerimisalased teadmised on testijatele vajalikud

Järeldus

API koosneb klasside/funktsioonide/protseduuride komplektist, mis esindavad äriloogika kihti. Kui API-t korralikult ei testita, võib see põhjustada probleeme mitte ainult API rakenduses, vaid ka helistavas rakenduses. See on tarkvaratehnikas asendamatu test.