API tesztelési útmutató: Mi az API teszt automatizálás? Hogyan kell tesztelni

Mielőtt az API tesztelési oktatóanyagra lépne, értsük meg először

Mi az API?

Az API (Application Programming Interface) egy számítási interfész, amely két különálló szoftverrendszer közötti kommunikációt és adatcserét teszi lehetővé. Az API-t végrehajtó szoftverrendszer számos olyan funkciót / alprogramot tartalmaz, amelyeket egy másik szoftverrendszer képes végrehajtani. Az API meghatározza a két szoftverrendszer között elküldhető kéréseket, kérelmek, felhasználható adatformátumok stb.

Mi az API tesztelés?

Az API TESTING egy szoftver tesztelési típus, amely ellenőrzi az alkalmazásprogramozási interfészeket (API). Az API tesztelés célja a programozási felületek funkcionalitásának, megbízhatóságának, teljesítményének és biztonságának ellenőrzése. Az API-tesztelésben a normál felhasználói bemenetek (billentyűzet) és kimenetek helyett szoftver segítségével hívásokat küld az API-nak, kimenetet kap és megjegyzi a rendszer válaszát. Az API-tesztek nagyon eltérnek a GUI-tesztektől, és nem az alkalmazás megjelenésére és hangulatára koncentrálnak. Főleg a szoftverarchitektúra üzleti logikai rétegére koncentrál.

API automatizálás A teszteléshez olyan alkalmazásra van szükség, amely API-n keresztül kölcsönhatásba léphet. Az API teszteléséhez meg kell

  • Használja a Tesztelő eszközt az API meghajtásához
  • Írja be saját kódját az API teszteléséhez

Ebben az API tesztelési oktatóanyagban többet megtudhat-

  • Az API tesztkörnyezet beállítása
  • Az API kimenetének típusai
  • Tesztesetek az API teszteléséhez
  • Az API tesztelés megközelítése
  • Különbség az API tesztelés és az egység tesztelése között
  • Hogyan teszteljük az API-t
  • Az API-tesztelés legjobb gyakorlatai
  • Az API-tesztelés által észlelt hibatípusok
  • Hogyan kell elvégezni az API teszt automatizálást
  • Az API-tesztelés kihívásai

Az API tesztkörnyezet beállítása

  • Az API tesztelése különbözik a többi szoftver tesztelési típusától, mivel a GUI nem áll rendelkezésre, mégis be kell állítania a kezdeti környezetet, amely az API-t a szükséges paraméterkészlettel meghívja, majd végül megvizsgálja a teszt eredményét.
  • Ezért kissé összetettnek tűnik egy tesztkörnyezet beállítása az API automatizálási teszteléséhez.
  • Az adatbázist és a szervert az alkalmazás követelményeinek megfelelően kell konfigurálni.
  • A telepítés befejezése után meg kell hívni az API függvényt, hogy ellenőrizze, hogy az API működik-e.

Az API kimenetének típusai

Az API kimenete lehet

  1. Bármilyen típusú adat
  2. Állapot (mondjuk Sikert vagy Nem)
  3. Hívjon másik API-függvényt.

Nézzünk meg egy példát a fenti típusok mindegyikére ebben az api tesztelési útmutatóban

Bármilyen típusú adat

Példa: Van egy API függvény, amelynek két egész számot kell hozzáadnia.

Hosszú hozzáadás (int a, int b)

A számokat beviteli paraméterként kell megadni. A kimenetnek két egész szám összegzésének kell lennie. Ezt a kimenetet várt eredménnyel kell igazolni.

Hívást kell végezni, mint pl

add (1234, 5656)

A kivételeket akkor kell kezelni, ha a szám meghaladja az egész korlátot.

Állapot (mondjuk Sikert vagy Nem)

Vegye figyelembe az alábbi API függvényt -

  1. Zár()
  2. Kinyit()
  3. Töröl()

Bármilyen értéket visszaadnak, például True (siker esetén) vagy false (hiba esetén) kimenetként.

Pontosabb teszteset lehet, ha bármelyik szkript függvényét meghívhatja, és később ellenőrizheti az adatbázis vagy az alkalmazás GUI változásait.

Egy másik API / esemény hívása

Ebben az esetben meghívjuk az egyik API függvényt, amely viszont egy másik függvényt fog meghívni.

Például - Az első API függvény felhasználható egy meghatározott rekord törlésére a táblázatban, és ez a függvény egy másik függvényt hív meg az adatbázis FRISSÍTÉSÉRE.

Tesztesetek az API teszteléséhez:

Az API tesztelésének esetei a következőkön alapulnak

  • Visszatérési érték a bemeneti feltétel alapján: viszonylag könnyű tesztelni, mivel a bemenet meghatározható és az eredmények hitelesek
  • Nem ad vissza semmit: Ha nincs visszatérési érték, akkor az API viselkedése az ellenőrizendő rendszeren
  • Valamely más API / esemény / megszakítás kiváltása: Ha egy API kimenete valamilyen eseményt vagy megszakítást vált ki, akkor ezeket az eseményeket és a megszakító hallgatókat nyomon kell követni
  • Adatszerkezet frissítése: Az adatszerkezet frissítésének valamilyen eredménye vagy hatása lesz a rendszerre, és ezt hitelesíteni kell
  • Bizonyos erőforrások módosítása: Ha az API hívás módosít néhány erőforrást, akkor azt a megfelelő erőforrások elérésével kell érvényesíteni

API tesztelési megközelítés

Az API tesztelési megközelítés egy előre definiált stratégia vagy módszer, amelyet a minőségbiztosítási csapat végrehajtani fog az API tesztelés elvégzésére a build elkészülte után. Ez a teszt nem tartalmazza a forráskódot. Az API tesztelési megközelítés segít jobban megérteni a funkcionalitást, a tesztelési technikákat, a bemeneti paramétereket és a tesztesetek végrehajtását.

A következő pontok segítik a felhasználót az API-tesztelés megközelítésében:

  1. Az API program funkcionalitásának megértése és a program hatókörének egyértelmű meghatározása
  2. Alkalmazzon olyan tesztelési technikákat, mint az egyenértékűségi osztályok, a határérték-elemzés, valamint a hibalátogatás és írjon teszteseteket az API-hoz
  3. Az API bemeneti paramétereit megfelelően meg kell tervezni és meg kell határozni
  4. Végezze el a teszteseteket, és hasonlítsa össze a várható és a tényleges eredményeket.

Különbség az API tesztelés és az egység tesztelése között

Egység tesztelése API tesztelés
  • A fejlesztők végrehajtják
  • A tesztelők elvégzik
  • Külön funkcionalitást tesztelnek
  • A végpontok közötti funkcionalitást tesztelik
  • A fejlesztő hozzáférhet a forráskódhoz
  • A tesztelők nem férhetnek hozzá a forráskódhoz
  • A felhasználói felület tesztelése is részt vesz
  • Csak az API funkciókat tesztelik
  • Csak az alapvető funkciókat tesztelik
  • Minden funkcionális kérdést tesztelnek
  • Korlátozott hatókörű
  • Szélesebb körű
  • Általában a bejelentkezés előtt futott
  • Futás a build létrehozása után

Hogyan teszteljük az API-t

Az API automatizálási teszteknek a szokásos SDLC eljárástól eltekintve legalább a következő vizsgálati módszereket kell lefedniük

  • Felfedezési teszt: A tesztcsoportnak manuálisan kell végrehajtania az API-ban dokumentált híváskészletet, például ellenőriznie kell, hogy az API által kitett adott erőforrás felsorolható-e, létrehozható-e és törölhető-e.
  • Használhatósági teszt: Ez a teszt ellenőrzi, hogy az API működőképes és felhasználóbarát-e. És vajon az API jól integrálható-e egy másik platformmal is
  • Biztonsági teszt: Ez a teszt magában foglalja, hogy milyen típusú hitelesítésre van szükség, és hogy az érzékeny adatok titkosítva vannak-e HTTP-n keresztül, vagy mindkettővel
  • Automatizált tesztelés: Az API-tesztelésnek egy parancsfájlkészlet vagy egy eszköz létrehozásával kell végződnie, amely használható az API rendszeres végrehajtására
  • Dokumentáció: A tesztcsoportnak meg kell győződnie arról, hogy a dokumentáció megfelelő és elegendő információt nyújt-e az API-val való interakcióhoz. A dokumentációnak a végső teljesítés részét kell képeznie

Az API-tesztelés legjobb gyakorlatai:

  • Az API teszteseteket tesztkategória szerint kell csoportosítani
  • Minden teszt tetején fel kell tüntetni a meghívott API-k deklarációit.
  • A paraméterek kiválasztását kifejezetten meg kell említeni a tesztesetben
  • Az API függvényhívások rangsorolása úgy, hogy a tesztelők számára könnyű legyen a tesztelés
  • Minden tesztesetnek lehetőleg önállónak és függetlennek kell lennie a függőségektől
  • Kerülje a "tesztláncolást" a fejlesztésében
  • Különös figyelmet kell fordítani az egyszeri hívásfunkciók kezelésére, mint például - Delete, CloseWindow stb.
  • A hívás szekvenálást el kell végezni és jól meg kell tervezni
  • A teljes teszt lefedettség biztosítása érdekében hozzon létre API teszteseteket az API összes lehetséges bemeneti kombinációjához.

Az API tesztelése által észlelt hibatípusok

  • Nem képes kecsesen kezelni a hibakörülményeket
  • Fel nem használt zászlók
  • Hiányzó vagy megismétlődő funkció
  • Megbízhatósági kérdések. Nehéz csatlakozni és választ kapni az API-tól.
  • Biztonsági kérdések
  • Többszálas kérdések
  • Teljesítménybeli problémák. Az API válaszideje nagyon magas.
  • Helytelen hibák / figyelmeztetés a hívóra
  • Az érvényes argumentumértékek helytelen kezelése
  • A válaszadatok strukturálása nem megfelelő (JSON vagy XML)

Hogyan kell elvégezni az API teszt automatizálást

A következő oktatóanyagok részletes útmutatót nyújtanak az API-teszt automatizálásához.

Hogyan teszteljük az API-t a REST Assured segítségével

Hogyan teszteljük az API-t a Postmannal

Hogyan teszteljük az API-t az UFT segítségével

Az API tesztelésén kívül vannak más eszközök is. Ellenőrizze őket itt

Az API-tesztelés kihívásai

Az API tesztelés kihívásai a következők:

  • A webes API tesztelésének fő kihívásai a Parameter Combination, a Parameter Selection és a Call Sequencing
  • Az alkalmazás teszteléséhez nem áll rendelkezésre GUI, ami megnehezíti a bemeneti értékek megadását
  • A kimenet hitelesítése és ellenőrzése egy másik rendszerben a tesztelők számára kevéssé nehéz
  • A tesztelőknek ismerniük kell a paraméterek kiválasztását és kategorizálását
  • A kivételkezelési funkciót tesztelni kell
  • Kódolási ismeretek szükségesek a tesztelők számára

Következtetés:

Az API osztályok / függvények / eljárások sorozatából áll, amelyek az üzleti logikai réteget képviselik. Ha az API-t nem tesztelik megfelelően, az nemcsak az API-alkalmazással, hanem a hívó alkalmazással is problémákat okozhat. A szoftvertervezés elengedhetetlen tesztje.

érdekes cikkek...