Výukový program pre testovanie API: Čo je to API Test Automation? Ako testovať

Predtým, ako prejdeme do tutoriálu Testovanie API, najskôr pochopíme

Čo je to API?

API (Application Programming Interface) je výpočtové rozhranie, ktoré umožňuje komunikáciu a výmenu dát medzi dvoma samostatnými softvérovými systémami. Softvérový systém, ktorý vykonáva API, obsahuje niekoľko funkcií / podprogramov, ktoré môže vykonávať iný softvérový systém. API definuje požiadavky, ktoré je možné robiť, ako postupovať požiadavky, dátové formáty, ktoré sa dajú použiť, atď. Medzi dvoma softvérovými systémami.

Čo je to Testovanie API?

API TESTING je typ testovania softvéru, ktorý validuje aplikačné programové rozhrania (API). Účelom testovania API je skontrolovať funkčnosť, spoľahlivosť, výkon a bezpečnosť programovacích rozhraní. Pri testovaní API namiesto použitia štandardných používateľských vstupov (klávesnica) a výstupov používate softvér na odosielanie hovorov na API, získavanie výstupov a zaznamenávanie reakcií systému. Testy API sa veľmi líšia od testov GUI a nebudú sa sústrediť na vzhľad a dojem z aplikácie. Zameriava sa hlavne na vrstvu obchodnej logiky softvérovej architektúry.

Automatizácia API Testovanie vyžaduje aplikáciu, s ktorou je možné interagovať prostredníctvom API. Ak chcete otestovať API, budete musieť

  • Na pohon rozhrania API použite testovací nástroj
  • Na otestovanie API napíšte svoj vlastný kód

V tomto výučbe testovania API sa dozviete viac o-

  • Nastavenie testovacieho prostredia API
  • Typy výstupu rozhrania API
  • Testovacie prípady pre testovanie API
  • Prístup k testovaniu API
  • Rozdiel medzi testovaním API a testovaním jednotiek
  • Ako testovať API
  • Osvedčené postupy testovania rozhrania API
  • Typy chýb, ktoré testovanie API zistí
  • Ako na to Automatizácia testov API
  • Výzvy pri testovaní API

Nastavenie testovacieho prostredia API

  • Testovanie API sa líši od ostatných typov testovania softvéru, pretože grafické používateľské rozhranie nie je k dispozícii, a napriek tomu sa od vás vyžaduje nastavenie počiatočného prostredia, ktoré vyvoláva API s požadovanou sadou parametrov, a potom nakoniec skontrolujete výsledok testu.
  • Preto sa nastavenie testovacieho prostredia pre testovanie automatizácie API javí ako trochu zložité.
  • Databáza a server by mali byť nakonfigurované podľa požiadaviek aplikácie.
  • Po dokončení inštalácie by sa malo zavolať funkcii API, aby sa skontrolovalo, či dané API funguje.

Typy výstupu rozhrania API

Výstupom API môže byť

  1. Akýkoľvek typ údajov
  2. Stav (povedzme úspešne alebo neúspešne)
  3. Zavolajte inú funkciu API.

Pozrime sa na príklad každého z vyššie uvedených typov v tomto výučbe testovania API

Akýkoľvek typ údajov

Príklad: Existuje funkcia API, ktorá by mala pridať dve celé čísla.

Dlhé pridanie (int a, int b)

Čísla musia byť uvedené ako vstupné parametre. Výstupom by mala byť súčet dvoch celých čísel. Tento výstup je potrebné overiť s očakávaným výsledkom.

Volať treba treba ako napr

pridať (1234, 5656)

Ak počet prekračuje celočíselný limit, musia sa vybaviť výnimky.

Stav (povedzme úspešne alebo neúspešne)

Zvážte nižšie uvedenú funkciu API -

  1. Uzamknúť ()
  2. Odomknúť ()
  3. Odstrániť ()

Ako výstup vrátia ľubovoľnú hodnotu, napríklad True (v prípade úspechu) alebo false (v prípade chyby).

Presnejším testovacím prípadom by bolo, keby mohol volať funkcie v ktoromkoľvek zo skriptov a neskôr skontrolovať zmeny v databáze alebo v grafickom používateľskom rozhraní aplikácie.

Volanie iného API / udalosti

V takom prípade zavoláme jednu z funkcií API, ktorá zase zavolá inú funkciu.

Napríklad - Prvá funkcia API sa dá použiť na vymazanie zadaného záznamu z tabuľky a táto funkcia zase zavolá inú funkciu na OSVEDČENIE databázy.

Testovacie prípady pre testovanie API:

Testovacie prípady testovania API sú založené na

  • Návratová hodnota na základe vstupnej podmienky: je pomerne ľahké ju otestovať, pretože je možné definovať vstup a autentifikovať výsledky
  • Nič nevracia: Ak neexistuje návratová hodnota, je potrebné skontrolovať správanie rozhrania API v systéme
  • Spustiť iné API / udalosť / prerušenie: Ak výstup z API spustí nejakú udalosť alebo prerušenie, mali by sa sledovať tieto udalosti a poslucháči prerušenia
  • Aktualizácia dátovej štruktúry: Aktualizácia dátovej štruktúry bude mať nejaký dopad alebo dopad na systém a je potrebné ich overiť
  • Upraviť určité zdroje: Ak volanie API upraví niektoré zdroje, malo by sa to overiť prístupom k príslušným zdrojom

Prístup k testovaniu API

Prístup testovania API je preddefinovaná stratégia alebo metóda, ktorú vykoná tím QA s cieľom vykonať testovanie API po dokončení zostavenia. Toto testovanie nezahŕňa zdrojový kód. Prístup k testovaniu API pomáha lepšie pochopiť funkčnosť, testovacie techniky, vstupné parametre a vykonávanie testovacích prípadov.

Nasledujúce body pomáhajú používateľovi pri prístupe k testovaniu API:

  1. Pochopenie funkčnosti programu API a jasné definovanie rozsahu programu
  2. Použite testovacie techniky, ako sú triedy ekvivalencie, analýza hraničných hodnôt a hádanie chýb, a napíšte testovacie prípady pre API
  3. Vstupné parametre pre API je potrebné naplánovať a vhodne definovať
  4. Vykonajte testovacie prípady a porovnajte očakávané a skutočné výsledky.

Rozdiel medzi testovaním API a testovaním jednotiek

Testovanie jednotky Testovanie API
  • Vykonávajú to vývojári
  • Testéri to vykonávajú
  • Je testovaná samostatná funkčnosť
  • Je testovaná úplná funkčnosť
  • Vývojár má prístup k zdrojovému kódu
  • Testéri nemajú prístup k zdrojovému kódu
  • Zahŕňa to aj testovanie používateľského rozhrania
  • Testované sú iba funkcie API
  • Testované sú iba základné funkcionality
  • Všetky funkčné problémy sú testované
  • Rozsahom obmedzené
  • Širší rozsah
  • Zvyčajne bežal pred registráciou
  • Bežalo po vytvorení zostavy

Ako testovať API

Testovanie automatizácie API by malo pokrývať minimálne nasledujúce testovacie metódy okrem obvyklého procesu SDLC

  • Testovanie zisťovania: Testovacia skupina by mala manuálne vykonať množinu hovorov zdokumentovaných v API, napríklad overiť, či je možné podľa potreby uviesť, vytvoriť a vymazať konkrétny prostriedok vystavený rozhraním API.
  • Testovanie použiteľnosti: Toto testovanie overuje, či je API funkčné a užívateľsky prívetivé. A API sa tiež dobre integruje do inej platformy
  • Testovanie zabezpečenia: Toto testovanie zahrnuje to, aký typ autentifikácie sa vyžaduje a či sú citlivé dáta šifrované cez HTTP alebo obidvomi spôsobmi
  • Automatizované testovanie: Testovanie API by malo vyvrcholiť vytvorením sady skriptov alebo nástroja, ktorý možno použiť na pravidelné vykonávanie API
  • Dokumentácia: Testovací tím sa musí ubezpečiť, že dokumentácia je adekvátna a poskytuje dostatok informácií na interakciu s API. Súčasťou konečného výsledku by mala byť dokumentácia

Najlepšie postupy testovania API:

  • Testovacie prípady API by mali byť zoskupené podľa testovacej kategórie
  • Navrch každého testu by ste mali zahrnúť deklarácie volaných API.
  • Výber parametrov by mal byť výslovne uvedený v samotnom testovacom prípade
  • Uprednostnite volania funkcií API, aby ich testéri mohli ľahko otestovať
  • Každý testovací prípad by mal byť čo najviac samostatný a nezávislý od závislostí
  • Vo svojom vývoji sa vyhnite testovaciemu reťazeniu
  • Pri manipulácii s funkciami jednorazového hovoru, ako sú - Delete, CloseWindow atď., Musíte byť zvlášť opatrní.
  • Poradie hovorov by malo byť vykonané a dobre naplánované
  • Ak chcete zabezpečiť úplné pokrytie testom, vytvorte testovacie prípady API pre všetky možné vstupné kombinácie API.

Typy chýb, ktoré detekuje testovanie API

  • Zlyhané riešenie chybových stavov
  • Nepoužívané vlajky
  • Chýbajúca alebo duplicitná funkčnosť
  • Problémy so spoľahlivosťou. Problémy s pripojením a získaním odpovede z API.
  • Problémy so zabezpečením
  • Problémy s viacerými vláknami
  • Problémy s výkonom. Čas odozvy API je veľmi vysoký.
  • Nesprávne chyby / varovanie volajúceho
  • Nesprávne spracovanie platných hodnôt argumentov
  • Údaje odpovede nie sú správne štruktúrované (JSON alebo XML)

Ako na to Automatizácia testov API

Nasledujúce návody poskytujú podrobného sprievodcu automatizáciou testu API.

Ako testovať API so zabezpečením REST

Ako testovať API s Postmanom

Ako testovať API s UFT

Okrem toho existujú ďalšie nástroje na testovanie API. Skontrolujte ich tu

Výzvy pri testovaní API

Výzvy testovania API zahŕňajú:

  • Hlavnými výzvami pri testovaní webového API je kombinácia parametrov, výber parametrov a postupnosť hovorov
  • Na testovanie aplikácie nie je k dispozícii žiadne grafické používateľské rozhranie, ktoré sťažuje zadávanie vstupných hodnôt
  • Overenie a overenie výstupu v inom systéme je pre testerov málo náročné
  • Testujúci musia poznať výber a kategorizáciu parametrov
  • Je potrebné otestovať funkciu spracovania výnimiek
  • Znalosti o kódovaní sú pre testerov nevyhnutné

Záver:

API pozostáva zo sady tried / funkcií / postupov, ktoré predstavujú vrstvu obchodnej logiky. Ak API nie je testované správne, môže to spôsobiť problémy nielen v aplikácii API, ale aj vo volajúcej aplikácii. Je to nepostrádateľný test v softvérovom inžinierstve.

Zaujímavé články...