- API tesztelési oktatóanyagok listája
- Az API tesztelési sorozat oktatóprogramjainak áttekintése
- API tesztelés oktatóprogram
- Az API tesztelés bevezetése a szervezetében
- Következtetés
Ez a mélyreható API-tesztelési oktatóanyag mindent elmagyaráz az API-tesztelésről, a webszolgáltatásokról és arról, hogyan vezesse be az API-tesztelést a szervezetében:
Ebben a bevezető tananyagban mély betekintést nyerhet az API tesztelésbe, valamint a shift-left tesztelés és a webes szolgáltatások koncepciójába.
Az olyan fogalmak, mint a Web API, hogyan működik az API (valós példával) és miben különbözik a Web Services-től, jól el vannak magyarázva példákkal ebben a tananyagban.
API tesztelési oktatóanyagok listája
Tutorial #1: API tesztelés bemutató: Teljes útmutató kezdőknek
2. bemutató: Web Services Tutorial: komponensek, architektúra, típusok és példák
Tutorial #3: Top 35 ASP.Net és Web API interjúkérdések válaszokkal
Tutorial #4: POSTMAN bemutató: API tesztelés a POSTMAN használatával
Oktatóprogram #5: Webszolgáltatások tesztelése az Apache HTTP kliens használatával
Az API tesztelési sorozat oktatóprogramjainak áttekintése
Tutorial # | Mit fogsz tanulni |
---|---|
Tutorial_#1: | API tesztelés bemutató: Teljes útmutató kezdőknek Ez a mélyreható API-tesztelés oktatóanyag részletesen elmagyaráz mindent az API-tesztelésről és a webszolgáltatásokról, és azt is megtanítja, hogyan vezesse be az API-tesztelést a szervezetében. |
Tutorial_#2: | Web Services Tutorial: komponensek, architektúra, típusok és példák Ez a webes szolgáltatások bemutató elmagyarázza a webes szolgáltatások architektúráját, típusait és összetevőit, valamint a fontos terminológiákat és a SOAP vs. REST közötti különbségeket. |
Tutorial_#3: | Top 35 ASP.Net és Web API interjúkérdések válaszokkal Ebben a bemutatóban felfedezheti a legnépszerűbb, gyakran feltett ASP.Net és Web API interjúkérdések listáját válaszokkal és példákkal kezdőknek és tapasztalt szakembereknek. |
Tutorial_#4: | POSTMAN bemutató: API tesztelés a POSTMAN használatával Ez a lépésről lépésre bemutató elmagyarázza az API tesztelés a POSTMAN használatával, valamint a POSTMAN alapjaival, összetevőivel és a minta kérés és minta; Válasz egyszerű kifejezésekkel a könnyű megértés érdekében. |
Tutorial_#5: | Webszolgáltatások tesztelése az Apache HTTP kliens használatával Ez az API bemutató a különböző CRUD műveletek végrehajtásáról webes szolgáltatásokon és a webes szolgáltatások teszteléséről szól az Apache HTTP kliens használatával. |
API tesztelés oktatóprogram
Ez a szakasz segít a webes szolgáltatások és a webes API alapvető megértésében, ami viszont segít az API-tesztelés sorozat következő részének főbb fogalmainak megértésében.
Az API (Application Programming Interface - alkalmazásprogramozási interfész) az összes olyan eljárás és funkció összessége, amelyek lehetővé teszik, hogy az operációs rendszer vagy a platformok adataihoz vagy funkcióihoz hozzáférve alkalmazást hozzunk létre. Az ilyen eljárások tesztelése API-tesztelésnek nevezhető.
Balra váltás tesztelés
Az egyik fontos tesztelési típus, amelyet manapság az API tesztelési interjúk során kérdeznek, a Shift Left Testing. Ezt a fajta tesztelést szinte minden olyan projektben gyakorolják, amely agilis módszertant követ.
A Shift Left Testing bevezetése előtt a szoftvertesztelés csak a kódolás befejezése és a tesztelőknek való átadás után került a képbe. Ez a gyakorlat a határidő betartása érdekében az utolsó pillanatban történő sürgetéshez vezetett, és nagymértékben hátráltatta a termék minőségét is.
Ettől eltekintve, az erőfeszítések (amikor a hibákat a gyártás előtti utolsó fázisban jelentették) hatalmasak voltak, mivel a fejlesztőknek újra át kellett esniük mind a tervezési, mind a kódolási fázison.
Szoftverfejlesztési életciklus (SDLC) a balra váltás előtt Tesztelés
A hagyományos SDLC folyamat a következő volt: Követelmények -> Tervezés -> Kódolás -> Tesztelés.
A hagyományos tesztelés hátrányai
- A tesztelés a jobb szélsőjobboldalon van. Sok költség merül fel, ha egy hibát az utolsó pillanatban azonosítanak.
- A hiba elhárítása és újratesztelése a gyártásba való átvitel előtt rengeteg időt vesz igénybe.
Ezért merült fel az új ötlet, hogy a tesztelési fázist balra kell tolni, ami a Shift Left Testing nevet hozta létre.
Javasolt olvasmány => Shift Left Testing: A szoftver sikerének titkos mantrája
A balra tolódás tesztelés fázisai
A balra tolódó tesztelés a hibák felderítéséről a hibák megelőzésére való sikeres áttérést eredményezte, és segített a szoftver gyors hibajavításában és a hibák mielőbbi kijavításában.
Webes API
Általánosságban a webes API-t úgy lehet definiálni, mint valami olyasmit, ami egy ügyfélrendszerből kérést küld egy webkiszolgálóhoz, és a webkiszolgálótól visszaküldi a választ az ügyfélgépnek.
Hogyan működik egy API?
Vegyünk egy nagyon gyakori forgatókönyvet: foglaljon repülőjegyet a www.makemytrip.com oldalon, amely egy olyan online utazási szolgáltatás, amely több légitársaság információit összesíti. Amikor repülőjegyet foglal, megadja az olyan információkat, mint az utazás dátuma/visszatérés dátuma, osztály stb., és kattintson a keresésre.
Ez megmutatja több légitársaság árát és elérhetőségét. Ebben az esetben az alkalmazás több légitársaság API-jával lép kapcsolatba, és ezáltal hozzáférést biztosít a légitársaság adataihoz.
Egy másik példa a www.trivago.com, amely összehasonlítja és felsorolja egy adott város különböző szállodáinak árát, elérhetőségét stb. Ez a weboldal több szálloda API-jával kommunikál, hogy hozzáférjen az adatbázishoz, és felsorolja az árakat és az elérhetőséget a weboldalukról.
Így a webes API-t úgy lehet definiálni, mint "egy interfész, amely megkönnyíti a kommunikációt az ügyfélgép és a webkiszolgáló között".
Webes szolgáltatások
A webes szolgáltatások (a webes API-hoz hasonlóan) olyan szolgáltatások, amelyek egyik gépről a másikra szolgálnak. Az API és a webes szolgáltatások között azonban az a fő különbség, hogy a webes szolgáltatások hálózatot használnak.
Nyugodtan kijelenthetjük, hogy minden webes szolgáltatás webes API, de minden webes API nem webes szolgáltatás (ezt a cikk második részében magyarázzuk el). Így a webes szolgáltatások a webes API egy részhalmaza. Az alábbi ábrán többet tudhat meg a webes API-ról és a webes szolgáltatásokról.
Web API vs. webes szolgáltatások
Webes szolgáltatások vs. webes API
Mind a webes API-t, mind a webes szolgáltatásokat az ügyfél és a kiszolgáló közötti kommunikáció megkönnyítésére használják. A fő különbség csak a kommunikáció módjában van.
Mindegyikük egy adott nyelven elfogadható kéréstestet igényel, a biztonságos kapcsolat biztosításában mutatkozó különbségek, a kiszolgálóval való kommunikáció és az ügyfélnek való válaszadás sebessége stb.
A webes szolgáltatások és a webes API közötti különbségek az alábbiakban találhatók.
Webes szolgáltatás
- A webszolgáltatások általában XML-t (Extensible Markup Language) használnak, ami azt jelenti, hogy biztonságosabbak.
- A webes szolgáltatások biztonságosabbak, mivel mind a webes szolgáltatások, mind az API-k SSL-t (Secure Socket Layer) biztosítanak az adatátvitel során, de WSS-t (Web Services Security) is nyújtanak.
- A webes szolgáltatás a webes API egy részhalmaza. Például, A webes szolgáltatások csak három felhasználási stíluson alapulnak, azaz. SOAP, REST és XML-RPC.
- A webszolgáltatások működéséhez mindig szükség van hálózatra.
- A webes szolgáltatások támogatják az "egy kód különböző alkalmazások" elnevezésű módszert, ami azt jelenti, hogy a különböző alkalmazásokban általánosabb kódot kell írni.
Webes API
- A webes API általában JSON-t (JavaScript Object Notation) használ, ami azt jelenti, hogy a webes API gyorsabb.
- A webes API gyorsabb, mivel a JSON az XML-től eltérően könnyűsúlyú.
- A webes API-k a webes szolgáltatások szuperhalmaza. Például, A webes szolgáltatások mindhárom stílusa jelen van a webes API-ban is, de ettől eltekintve más stílusokat is használ, mint például a JSON - RPC.
- A webes API nem feltétlenül igényel hálózatot a működéshez.
- A webes API a rendszer vagy alkalmazás jellegétől függően támogathatja vagy nem támogathatja az átjárhatóságot.
Az API tesztelés bevezetése a szervezetében
A mindennapi életünkben mindannyian annyira hozzászoktunk ahhoz, hogy API-kon keresztül lépünk kapcsolatba az alkalmazásokkal, és mégsem gondolunk a háttérfolyamatokra, amelyek a mögöttes funkciókat vezérlik.
Például, Tegyük fel, hogy Ön az Amazon.com-on böngészi a termékeket, és meglát egy terméket/ajánlatot, amely nagyon tetszik Önnek, és szeretné megosztani a Facebook-hálózatával.
Abban a pillanatban, amikor az oldal megosztási szakaszában a Facebook ikonra kattint, és a megosztáshoz megadja a Facebook-fiókja hitelesítő adatait, egy olyan API-val lép kapcsolatba, amely zökkenőmentesen összekapcsolja az Amazon weboldalát a Facebookkal.
A fókusz áthelyezése az API tesztelésre
Mielőtt többet beszélnénk az API-tesztelésről, beszéljünk arról, hogy az API-alapú alkalmazások miért váltak népszerűvé az utóbbi időben.
Számos oka van annak, hogy a szervezetek átállnak az API-alapú termékekre és alkalmazásokra. Ezek közül néhányat az alábbiakban felsorolunk az Ön számára.
#1) Az API-alapú alkalmazások a hagyományos alkalmazásokhoz/szoftverekhez képest jobban skálázhatók. A kódfejlesztés üteme gyorsabb, és ugyanaz az API több kérést is ki tud szolgálni nagyobb kód- vagy infrastrukturális változtatások nélkül.
#2) A fejlesztőcsapatoknak nem kell minden alkalommal a nulláról kezdeniük a kódolást, amikor egy funkció vagy alkalmazás fejlesztésén dolgoznak. Az API-k leggyakrabban meglévő, megismételhető függvényeket, könyvtárakat, tárolt eljárásokat stb. használnak újra, és így ez a folyamat összességében produktívabbá teheti őket.
Például, Ha Ön egy e-kereskedelmi weboldalon dolgozó fejlesztő, és szeretné az Amazont fizetési processzorként hozzáadni - akkor nem kell a kódot a semmiből megírnia.
Mindössze annyit kell tennie, hogy integrációt hoz létre a webhelye és az Amazon API között az Integrációs kulcsok használatával, és meghívja az Amazon API-t a fizetések feldolgozásához a pénztár során.
#3) Az API-k lehetővé teszik a más rendszerekkel való egyszerű integrációt mind a támogatott önálló alkalmazások, mind az API-alapú szoftvertermékek esetében.
Például , Tegyük fel, hogy Ön egy szállítmányt szeretne küldeni Torontóból New Yorkba. Elmegy az internetre, átnéz egy jól ismert szállítmányozási vagy logisztikai weboldalra, és megadja a szükséges információkat.
A kötelező adatok megadása után, amikor Ön a Get Rates gombra kattint - a back endben ez a logisztikai weboldal több fuvarozó és szolgáltató API-jával és alkalmazásával is kapcsolatba léphet, hogy a dinamikus árakat kapja meg a kiindulási és a célállomások kombinációjára vonatkozóan.
Az API tesztelés teljes spektruma
Az API-k tesztelése nem korlátozódik csupán arra, hogy elküldünk egy kérést az API-nak, és elemezzük a választ a helyesség szempontjából. Az API-kat tesztelni kell a teljesítményüket különböző terhelések mellett a sebezhetőség szempontjából.
Beszéljük meg ezt részletesen.
(i) Funkcionális tesztelés
A funkcionális tesztelés a GUI-felület hiánya miatt kihívást jelentő feladat lehet.
Lássuk, hogy az API-k funkcionális tesztelési megközelítése miben különbözik a GUI-alapú alkalmazástól, és néhány példát is megvitatunk.
a) A legnyilvánvalóbb különbség az, hogy nincs GUI, amellyel interakcióba léphetnénk. Azoknak a tesztelőknek, akik általában GUI-alapú funkcionális tesztelést végeznek, kicsit nehezebb átállniuk a nem GUI-alapú alkalmazás-tesztelésre, mint azoknak, akik már ismerik azt.
Kezdetben, még mielőtt elkezdené tesztelni az API-t, magát a hitelesítési folyamatot kell tesztelnie és ellenőriznie. A hitelesítési módszer API-ról API-ra változik, és valamilyen kulcsot vagy tokent tartalmaz a hitelesítéshez.
Ha nem tud sikeresen csatlakozni az API-hoz, akkor a további tesztelés nem folytatható. Ez a folyamat a szabványos alkalmazások felhasználói hitelesítéséhez hasonlítható, ahol érvényes hitelesítő adatokra van szükség a bejelentkezéshez és az alkalmazás használatához.
b) A mező-érvényesítések vagy a bemeneti adatok érvényesítésének tesztelése nagyon fontos az API-k tesztelése során. Ha rendelkezésre állna egy tényleges űrlap-alapú (GUI) felület, akkor a mező-érvényesítések megvalósíthatók lennének a front- vagy backendben, így biztosítva, hogy a felhasználó ne adhasson meg érvénytelen mezőértékeket.
Például, Ha egy alkalmazásnak szüksége van arra, hogy a dátumformátum DD/MM/YYYY legyen, akkor ezt az érvényesítést alkalmazhatjuk az információt gyűjtő űrlapon, hogy biztosítsuk, hogy az alkalmazás érvényes dátumot kap és dolgoz fel.
Az API-alkalmazások esetében azonban ez nem így van. Biztosítanunk kell, hogy az API jól meg legyen írva, és képes legyen érvényesíteni ezeket az érvényesítéseket, különbséget tenni az érvényes és az érvénytelen adatok között, és válaszként visszaküldeni a végfelhasználónak a státuszkódot és az érvényesítési hibaüzenetet.
c) Az API-tól érkező válaszok helyességének tesztelése az érvényes és érvénytelen válaszok tekintetében valóban kulcsfontosságú. Ha a teszt API-tól 200-as státuszkódú (azaz minden rendben) válasz érkezik, de a válasz szövege szerint hiba történt, akkor ez hiba.
Ráadásul, ha maga a hibaüzenet helytelen, az nagyon félrevezető lehet a végfelhasználó számára, aki megpróbálja integrálni ezt az API-t.
Az alábbi képernyőképen a felhasználó érvénytelen súlyt adott meg, amely több, mint az elfogadható 2267 kg. Az API hibaállapotkóddal és hibaüzenettel válaszol. A hibaüzenet azonban a súlyegységet KG helyett helytelenül lbs-ként említi. Ez a hiba összezavarhatja a végfelhasználót.
(ii) Terhelés- és teljesítménytesztelés
Az API-kat úgy tervezték, hogy skálázhatóak legyenek.
Ez viszont elengedhetetlenné teszi a terhelés- és teljesítménytesztelést, különösen akkor, ha a tervezett rendszer várhatóan percenként vagy óránként több ezer kérést fog kiszolgálni, a követelményektől függően. Az API terhelés- és teljesítménytesztelésének rutinszerű elvégzése segíthet a teljesítmény, a csúcsterhelés és a töréspont összehasonlításában.
Ezek az adatok hasznosak az alkalmazás skálázásának tervezése során. Az ilyen információk rendelkezésre állása segít a döntések és a tervezés támogatásában, különösen akkor, ha a szervezet több ügyféllel tervezi bővíteni a kört, ami több bejövő kérést jelentene.
Hogyan vezesse be az API tesztelést a szervezetében
Az API-tesztelés bevezetésének folyamata bármely szervezetnél hasonló a bármely más tesztelési eszköz és keretrendszer bevezetéséhez vagy bevezetéséhez használt folyamathoz.
Az alábbi táblázat összefoglalja a főbb lépéseket, valamint az egyes lépések várható eredményeit.
Fázis | Lépés | Várható eredmény |
---|---|---|
Eszköz kiválasztása | A követelmények összegyűjtése és a korlátozások azonosítása | Megérti a megfelelő API-tesztelő eszköz piacának kutatására vonatkozó követelményeket. Pl. Milyen API-t tesztelünk - SOAP vagy REST? Kell-e tesztelőt felvennünk erre a szerepre, vagy meglévő tesztelőt képeznünk? Milyen típusú teszteket fognak elvégezni - funkcionális, teljesítménytesztek stb. Mekkora a végrehajtás költségvetése? |
A rendelkezésre álló eszközök értékelése | Hasonlítsa össze a rendelkezésre álló eszközöket, és állítson össze 1-2 olyan eszközt, amelyek a legjobban megfelelnek a követelményeknek. | |
A koncepció bizonyítása | A tesztek egy részhalmazának végrehajtása a kiválasztott eszközzel. Az eredmények ismertetése az érdekeltekkel. A bevezetendő eszköz véglegesítése. | |
Végrehajtás | Kezdetben | A választott eszköztől függően a szükséges eszközt vagy egy PC-re, virtuális gépre vagy kiszolgálóra kell telepítenie. Ha a választott eszköz előfizetéses, hozza létre a szükséges csapatfiókokat. Szükség esetén képezze a csapatot. |
Indulj el | Tesztek létrehozása Tesztek végrehajtása Hibák jelentése |
Közös kihívások és azok enyhítésének módjai
Beszéljünk néhány közös kihívásról, amellyel a minőségbiztosítási csapatok szembesülnek, amikor megpróbálnak egy API-tesztelési keretrendszert bevezetni egy szervezeten belül.
#1) A megfelelő eszköz kiválasztása
A feladathoz megfelelő eszköz kiválasztása a leggyakoribb kihívás. A piacon számos API-tesztelő eszköz áll rendelkezésre.
Nagyon vonzónak tűnhet a piacon kapható legújabb, legdrágább eszköz bevezetése, de ha nem hozza meg a kívánt eredményt, akkor az eszköznek semmi haszna.
Ezért mindig azt az eszközt válassza, amely a szervezeti igényei alapján a "kötelezően szükséges" követelményeket teljesíti.
Íme egy minta eszközértékelési mátrix a rendelkezésre álló API-eszközökhöz.
Szerszám | Árképzés | Megjegyzések |
---|---|---|
Soap UI | Ingyenes verzió elérhető a SoapUI Open Source számára (funkcionális tesztelés) | * REST, SOAP és más népszerű API és IoT protokollok. * Az ingyenes verzió tartalmazza SOAP és REST ad-hoc tesztelés Üzenet állítás Drag & Drop teszt létrehozása Tesztnaplók Teszt konfiguráció Teszt felvételekről Egységjelentés. * A funkciók teljes listája megtalálható a weboldalukon. |
Postás | Ingyenes Postman App elérhető | * A legtöbbet használt REST. * A funkciók megtalálhatók a weboldalukon. |
Parasoft | Ez egy fizetős eszköz, amelyhez licencet kell vásárolni, majd telepíteni kell, mielőtt az eszköz használható lenne. | * Átfogó API tesztelés: funkcionális, terheléses, biztonsági tesztelés, tesztadatok kezelése |
vREST | A felhasználók száma alapján | * Automatizált REST API tesztelés. * Felvétel és visszajátszás. * Eltávolítja a frontend és a backend függőségét a mock API-k segítségével. * Erőteljes válaszérvényesítés. * Működik a localhost/intranet/interneten telepített tesztalkalmazásokhoz. * JIRA integráció, Jenkins integráció Swagger, Postman importok. |
HttpMaster | Express Edition: ingyenesen letölthető Professzionális verzió: A felhasználók száma alapján | * Segít a webhely tesztelésében és az API tesztelésben. * Egyéb funkciók közé tartozik a globális paraméterek definiálásának képessége, a felhasználó számára lehetőséget biztosít az adatválaszok érvényesítésére szolgáló ellenőrzések létrehozására az általa támogatott érvényesítési típusok széles körének felhasználásával. |
Runscope | A felhasználók száma és a tervtípusok alapján | * Az API-k megfigyeléséhez és teszteléséhez. * Használható az adatok érvényesítésére, hogy biztosítsa a helyes adatok visszaküldését. * Tartalmazza a nyomon követés és értesítés funkcióját bármilyen API tranzakciós hiba esetén ( ha az alkalmazás fizetési érvényesítést igényel, akkor ez az eszköz jó választásnak bizonyulhat ). |
LoadFocus | A felhasználók száma és a tervtípusok alapján | * Használható API terhelési tesztelésre - lehetővé teszi néhány teszt futtatását, hogy kiderüljön, hány felhasználót tud támogatni egy API. * Egyszerű használat - lehetővé teszi a tesztek futtatását a böngészőben. |
PingAPI | Ingyenes 1 projektre (1,000 kérés) | * Előnyös az automatizált API teszteléshez és felügyelethez. |
#2) Hiányzó vizsgálati előírások
Tesztelőként ismernünk kell a várt eredményeket ahhoz, hogy hatékonyan tesztelhessünk egy alkalmazást. Ez gyakran kihívást jelent, mivel ahhoz, hogy ismerjük a várt eredményeket, világos és pontos követelményekkel kell rendelkeznünk - ami nem így van.
Például , vegye figyelembe az alábbi követelményeket:
"Az alkalmazásnak csak érvényes szállítási dátumot kell elfogadnia, és minden érvénytelen követelményt el kell utasítania"
Ezekből a követelményekből hiányoznak a legfontosabb részletek, és nagyon kétértelműek - hogyan definiáljuk az érvényes dátumot? Mi a helyzet a formátummal? Visszaküldünk-e valamilyen elutasító üzenetet a végfelhasználónak stb.?
Példa az egyértelmű követelményekre:
1) Az alkalmazásnak csak érvényes szállítási dátumot kell elfogadnia.
A szállítási dátum akkor tekinthető érvényesnek, ha
- Nem a múltban
- Nagyobb vagy egyenlő a mai dátummal
- Elfogadható formátumban: DD/MM/YYYY
2)
Válasz állapotkód = 200
Üzenet: OK
3) A fenti kritériumoknak nem megfelelő szállítási dátumot érvénytelennek kell tekinteni. Ha az ügyfél érvénytelen szállítási dátumot küld, akkor a következő hibaüzenet(ek)kel kell válaszolnia:
3.1
Válasz Állapotkód NOT 200
Hiba: A megadott szállítási dátum érvénytelen; kérjük, ellenőrizze, hogy a dátum DD/MM/YYYY formátumban van-e.
3.2
Válasz Állapotkód NOT 200
Hiba: A megadott szállítási dátum már a múltban van.
#3) Tanulási görbe
Mint korábban említettük, az API-tesztelés megközelítése eltér a GUI-alapú alkalmazások tesztelése során követett megközelítéstől.
Ha az API-teszteléshez belső szakembereket vagy tanácsadókat alkalmaz, akkor az API-tesztelési megközelítés vagy az API-tesztelési eszköz tanulási görbéje minimális lehet. Ebben az esetben a tanulási görbe a termék- vagy alkalmazási ismeretek elsajátításához kapcsolódik.
Ha egy meglévő csapattagot bíznak meg az API-tesztelés elsajátításával, akkor a választott eszköztől függően a tanulási görbe közepes vagy magas lehet, a tesztelési megközelítés megváltoztatásával együtt. A termék vagy alkalmazás tanulási görbéje alacsony-közepes lehet, attól függően, hogy a tesztelő tesztelte-e már korábban az adott alkalmazást vagy sem.
#4) Meglévő készségek
Ez közvetlenül kapcsolódik a tanulási görbére vonatkozó előző ponthoz.
Ha egy tesztelő átáll a GUI-alapú tesztelésről, akkor a tesztelőnek meg kell változtatnia a tesztelési megközelítést, és szükség szerint meg kell tanulnia az új eszközt vagy keretrendszert. Pl. Ha az API JSON formátumban fogadja el a kéréseket, akkor a tesztelőnek meg kell tanulnia, mi az a JSON, hogy elkezdhesse a tesztek létrehozását.
Esettanulmány
Feladat
Egy meglévő alkalmazás skálázása érdekében egy vállalat a terméket API-ban, valamint egy standard GUI-alkalmazásként kívánta kínálni. A minőségbiztosítási csapatot felkérték, hogy készítsen tesztlefedettségi tervet annak biztosítása érdekében, hogy a szokásos GUI-alapú teszteken túlmenően az API-tesztelésre is készen álljanak.
Kihívások
- A többi szoftvertermék egyike sem rendelkezett API-alapú architektúrával, ezért ahhoz, hogy a tesztelést e feladat körül lehessen végezni, a csapatnak a semmiből kellett létrehoznia az API-tesztelési folyamatot. Ez azt jelenti, hogy az eszközöket értékelni kellett, kiválasztani, véglegesíteni és a csapatot a tesztelésre ki kellett képezni.
- Az eszköz beszerzésére és bevezetésére nem állt rendelkezésre külön költségvetés, ami azt jelenti, hogy a csapatnak egy ingyenes vagy nyílt forráskódú API-tesztelő eszközt kellett választania, és a meglévő csapatból valakit ki kellett képezni erre a feladatra.
- Az API-mezőkre és az adatérvényesítésre vonatkozóan nem voltak követelmények. A követelmények a következők voltak: "ugyanúgy kell működnie, mint a megfelelő GUI-alkalmazásnak".
A csapat által a kockázatok mérséklése és a kihívások megoldása érdekében követett megközelítés.
- A minőségbiztosítási csoport a projektcsapattal együttműködve a következő követelményeket határozta meg:
- API típusa (REST/SOAP ): REST
- Szükséges tesztek (funkcionális, terhelési, biztonsági): Csak funkcionális tesztelés
- Automatizált tesztek szükségesek (igen/nem): Egyelőre opcionális
- Vizsgálati jelentések (igen/nem): Kötelező
- A minőségbiztosítási csapat a kötelező követelmények alapján értékelte a rendelkezésre álló API-tesztelő eszközöket. A Postman API Tool-t választották, mivel ingyenes és könnyen használható volt, így minimálisra csökkentette a tanulási folyamatot, és lehetőség volt a tesztek automatizálására, valamint jó beépített jelentésekkel rendelkezett.
- Ugyanazt a tesztelőt, aki az alkalmazást tesztelte, kiképezték a Postman használatára a kezdeti tesztek létrehozásához, így kiküszöbölve a termék ismeretének hiányosságait.
- A hiányzó követelmények kezelése érdekében a projektcsapat a Swagger segítségével elkészítette a magas szintű mezőszintű dokumentációt. Ez azonban hiányosságokat hagyott az elfogadható adatformátumok tekintetében, ezért ezt a projektcsapattal közösen megvitatták, és megállapodtak az elvárt formátumokról és dokumentálták azokat.
Következtetés
Az API-alapú alkalmazások az utóbbi időben egyre népszerűbbek. Ezek az alkalmazások a hagyományos alkalmazásokhoz/szoftverekhez képest jobban skálázhatók, és könnyebben integrálhatók más API-kkal vagy alkalmazásokkal.
Ez az API tesztelés oktatóanyag részletesen elmagyaráz mindent az API tesztelésről, a Shift Left tesztelésről, a webes szolgáltatásokról és a webes API-ról. A webes szolgáltatások és a webes API közötti különbségeket is feltártuk példákkal.
A bemutató második részében az API-tesztelés teljes spektrumát, az API-tesztelés bevezetésének módját a szervezetben, valamint a folyamat néhány gyakori kihívását és a megoldásokat tárgyaltuk.
Nézze meg a következő bemutatót, hogy többet tudjon meg a webes szolgáltatásokról példákkal együtt!!!
NEXT Tutorial