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
- Bármilyen típusú adat
- Állapot (mondjuk Sikert vagy Nem)
- 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 -
- Zár()
- Kinyit()
- 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:
- Az API program funkcionalitásának megértése és a program hatókörének egyértelmű meghatározása
- 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
- Az API bemeneti paramétereit megfelelően meg kell tervezni és meg kell határozni
- 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 |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.