Mi a végponttól végpontig tartó tesztelés: E2E tesztelési keretrendszer példákkal
A végponttól végpontig tartó tesztelés egy olyan szoftvertesztelési módszertan, amely az alkalmazásfolyamatot az elejétől a végéig teszteli. A végponttól végpontig tartó tesztelés célja a valós felhasználói forgatókönyv szimulálása, valamint a tesztelt rendszer és komponenseinek validálása az integráció és az adatintegritás szempontjából.
Senki sem akarja, hogy hibáiról és hanyagságáról ismerjék, és ugyanez a helyzet a tesztelőkkel is. Amikor a Tesztelők egy alkalmazást kapnak tesztelésre, attól a pillanattól kezdve vállalják a felelősséget, és az alkalmazás egyben platformként is szolgál, hogy megmutassák gyakorlati és technikai tesztelési tudásukat.
Így, hogy technikailag leírjuk, a tesztelés teljes körű elvégzéséhez szükséges az “End to End tesztelés”.
Ezzel a bemutatóval megtanuljuk, mi az az end to end tesztelés, hogyan történik, miért van rá szükség, milyen mátrixokat használnak, hogyan kell létrehozni egy end to end specifikus teszteseteket és néhány más fontos szempontot is. Megismerkedünk a rendszerteszteléssel is, és összehasonlítjuk azt a végponttól végpontig tartó teszteléssel..
Real is => Végponttól végpontig képzés egy élő projekten – Ingyenes online QA képzés.
Mi az End to End tesztelés?
A végtől-végig tesztelés egy olyan szoftvertesztelési módszertan, amely egy alkalmazásmenetet az elejétől a végéig tesztel. A tesztelés célja a valós felhasználói forgatókönyv szimulálása, valamint a tesztelt rendszer és komponenseinek validálása az integráció és az adatintegritás szempontjából.
A tesztelés elejétől a végéig valós forgatókönyvek szerint történik, például az alkalmazás kommunikációja a hardverrel, a hálózattal, az adatbázissal és más alkalmazásokkal.
A tesztelés elvégzésének fő oka az alkalmazás különböző függőségeinek meghatározása, valamint a pontos információközlés biztosítása a különböző rendszerelemek között. Általában bármely alkalmazás funkcionális és rendszertesztelésének befejezése után végzik el.
Vegyünk egy példát a Gmailre:
A Gmail-fiók végponttól-végpontig tartó ellenőrzése a következő lépéseket tartalmazza:
- A Gmail bejelentkezési oldal elindítása URL-en keresztül.
- A Gmail-fiókba való bejelentkezés érvényes hitelesítő adatokkal.
- A beérkezett üzenetek elérése. Olvasott és olvasatlan e-mailek megnyitása.
- Új e-mail összeállítása, válasz vagy e-mail továbbítása.
- Elküldött elemek megnyitása és e-mailek ellenőrzése.
- A Spam mappában lévő e-mailek ellenőrzése
- Kijelentkezés a Gmail alkalmazásból a ‘logout’
Végponttól-végpontig tartó tesztelési eszközök
Javasolt eszköz:
#1) TestCraft
A végponttól-végpontig tartó teszt-automatizálási eszköz, például a TestCraft használatát javasoljuk.
A TestCraft egy kód nélküli Selenium tesztautomatizálási platform. Forradalmi AI-technológiája és egyedülálló vizuális modellezése gyorsabb tesztkészítést és -végrehajtást tesz lehetővé, miközben kiküszöböli a tesztek karbantartási többletköltségeit.
A tesztelők teljesen automatizált tesztforgatókönyveket hoznak létre kódolás nélkül. Az ügyfelek gyorsabban találják meg a hibákat, gyakrabban adnak ki, integrálódnak a CI/CD megközelítésbe, és javítják digitális termékeik általános minőségét. Mindez egy teljes körű végponttól-végpontig tartó tesztelési élményt teremt.
=> Látogasson el a TestCraft weboldalára
Hogyan működik a végponttól-végpontig tartó tesztelés?
Hogy egy kicsit jobban megértsük, nézzük meg, hogyan működik?
Nézzünk egy példát a bankszektorból. Biztosan kevesen próbálták már ki a részvényeket. Amikor egy Demat számlatulajdonos bármilyen részvényt vásárol, az összeg egy bizonyos százalékát át kell adni a brókernek. Amikor a részvényes eladja a részvényt, akár nyereséget, akár veszteséget ér el, az összeg egy bizonyos százalékát ismét a bróker kapja. Mindezeket a tranzakciókat a számlák tükrözik és kezelik. Az egész folyamat magában foglalja a kockázatkezelést.
Ha megnézzük a fenti példát, szem előtt tartva az End-to-End tesztet, azt fogjuk látni, hogy az egész folyamat több számot, valamint a tranzakciók különböző szintjeit foglalja magában. Az egész folyamat számos rendszert érint, amelyek tesztelése nehéz lehet.
E2E tesztelési módszerek
#1) Horizontális teszt:
Ezt a módszert nagyon gyakran használják. Horizontálisan, több alkalmazás kontextusában történik. Ez a módszer könnyen előfordulhat egyetlen ERP (Enterprise Resource Planning) alkalmazásban is. Vegyünk egy példát egy online rendelési rendszer webalapú alkalmazásáról. Az egész folyamat magában foglalja a számlákat, a termékek raktárkészletének állapotát, valamint a szállítási adatokat.
#2) Vertikális tesztelés:
Ez a módszer bármely alkalmazás összes tranzakcióját ellenőrzi és értékeli az elejétől a végéig. Az alkalmazás minden egyes rétegét felülről lefelé haladva tesztelik. Vegyünk például egy webes alkalmazást, amely HTML-kódokat használ a webkiszolgálók eléréséhez. Ilyen esetekben API-ra van szükség az SQL-kódok generálásához az adatbázis ellenében. Mindezek az összetett számítástechnikai forgatókönyvek megfelelő validálást és dedikált tesztelést igényelnek. Így ez a módszer sokkal nehezebb.
A “White Box tesztelés” és a “Black Box tesztelés” egyaránt ehhez a teszteléshez kapcsolódik. Vagy más szavakkal azt mondhatjuk, hogy ez a fehérdobozos tesztelés és a fekete dobozos tesztelés előnyeinek kombinációja. A fejlesztendő szoftver típusától függően, különböző szinteken mindkét tesztelési technikát, azaz a fehérdobozos és a feketedobozos tesztelést szükség szerint alkalmazzák. Alapvetően a végponttól végpontig tartó tesztelés funkcionális, valamint az architekturális megközelítést végez bármely szoftver vagy program esetében a rendszerfunkciók érvényesítésére.
A tesztelők szeretik a végponttól végpontig tartó ellenőrzést, mert a tesztesetek megírása a felhasználó szemszögéből és valós forgatókönyv szerint elkerülhető a két gyakori hiba, azaz a “hiba kihagyása” és a “tesztesetek írása, amelyek nem ellenőrzik a valós forgatókönyveket”. Ez hatalmas sikerélményt nyújt a tesztelőknek.
Az alábbiakban felsorolunk néhány iránymutatást, amelyet szem előtt kell tartani az ilyen típusú teszteléshez szükséges tesztesetek tervezése során:
- A teszteseteket a végfelhasználó szemszögéből kell megtervezni.
- A rendszer néhány meglévő funkciójának tesztelésére kell összpontosítani.
- A több teszteset létrehozásához több forgatókönyvet kell figyelembe venni.
- A tesztesetek különböző készleteit kell létrehozni, hogy a rendszer több forgatókönyvére összpontosítsanak.
Amint bármilyen tesztesetet végrehajtunk, hasonló a helyzet ezzel a teszteléssel is. Ha a tesztesetek “Pass”, azaz megkapjuk a várt kimenetet, akkor azt mondjuk, hogy a rendszer sikeresen teljesítette az End to End tesztet. Hasonlóképpen, ha a rendszer nem a kívánt kimenetet produkálja, akkor egy teszteset ismételt tesztelésére van szükség, szem előtt tartva a hiba területeit.
Miért végezzük az E2E tesztelést?
A jelenlegi forgatókönyv szerint, ahogy a fenti ábrán is látható, egy modern szoftverrendszer több alrendszerrel való összekapcsolódásból áll. Ez nagyon bonyolulttá tette a modern szoftverrendszereket.
Ezek az alrendszerek, amelyekről beszélünk, lehetnek ugyanazon a szervezeten belül, vagy sok esetben különböző szervezetekhez is tartozhatnak. Emellett ezek az alrendszerek némileg hasonlíthatnak vagy eltérhetnek a jelenlegi rendszertől. Ennek eredményeként, ha bármelyik alrendszerben bármilyen meghibásodás vagy hiba lép fel, az hátrányosan befolyásolhatja az egész szoftverrendszert, ami annak összeomlásához vezethet.
Ezek a fő kockázatok elkerülhetők és ellenőrizhetők az ilyen típusú teszteléssel:
- A rendszeráramlás ellenőrzését és ellenőrzését végezzük.
- Növeljük a szoftverrendszerrel érintett összes alrendszer tesztelési lefedettségi területét.
- Kimutatja az alrendszerekkel kapcsolatos esetleges problémákat, és ezáltal növeli a teljes szoftverrendszer termelékenységét.
Az alábbiakban említett néhány tevékenység, amely a végponttól végpontig tartó folyamat részét képezi:
- A követelmények alapos tanulmányozása az ilyen tesztelés elvégzéséhez.
- A tesztkörnyezetek megfelelő beállítása.
- A thorough study of Hardware and Software requirements.
- Descriptions of all subsystems as well as main software system involved.
- Enlist the roles and responsibilities for all the systems and subsystems involved.
- Testing methods used under this testing as well as standards that are followed, its description.
- Test cases designing as well as tracing requirement matrix.
- Record or save the input and output data for each system.
E2E Testing Design Framework
We will look into all the 3 categories one by one:
#1) User Functions: A következő műveleteket kell elvégezni a felhasználói funkciók felépítésének részeként:
- A szoftverrendszerek és az egymással összekapcsolt alrendszerek funkcióinak felsorolása.
- Minden funkció esetében kövesse nyomon az elvégzett műveleteket, valamint a bemeneti és kimeneti adatokat.
- Megtalálja a kapcsolatokat, ha vannak a különböző felhasználói funkciók között.
- Kideríti a különböző felhasználói funkciók természetét .azaz, hogy függetlenek vagy újrafelhasználhatóak.
#2) Feltételek: A következő tevékenységeket kell elvégezni a felhasználói funkciók alapján történő feltételek kialakításának részeként:
- Minden egyes felhasználói funkcióra el kell készíteni egy feltételkészletet.
- Az időzítés, az adatfeltételek és egyéb, a felhasználói funkciókat befolyásoló tényezők paraméterként figyelembe vehetők.
#3) Tesztesetek: A következő tényezőket kell figyelembe venni a tesztesetek elkészítéséhez:
- Minden forgatókönyvhöz egy vagy több tesztesetet kell készíteni a felhasználói funkciók minden egyes funkciójának tesztelésére.
- Minden egyes feltételt külön tesztesetként kell felsorolni.
Metrics Involved
Áttérve a következő fontos tevékenységekre vagy metrikákra, amelyeket ez a tesztelés érint:
- A tesztesetek elkészítésének állapota: Ez egy grafikon formájában követhető nyomon, amely az előkészítés alatt álló tervezett tesztesetek előrehaladását ábrázolja.
- A tesztelés előrehaladásának heti nyomon követése: Ez magában foglalja a tesztesetek végrehajtásának előrehaladásának heti bontású ábrázolását. Ez a sikeres, sikertelen, végrehajtott, nem végrehajtott, érvénytelen stb. esetek százalékos ábrázolásán keresztül tükröződhet.
- Állapot és részletes jelentés a hibákról: A státuszjelentést naponta kell elkészíteni a tesztesetek végrehajtásának állapotának, valamint a talált és súlyosságuk szerint naplózott hibáknak a bemutatására. Heti rendszerességgel ki kell számítani a nyitott és lezárt hibák százalékos arányát. Továbbá, a hibák súlyossága és prioritása alapján heti rendszerességgel nyomon kell követni a hibák állapotát.
- Tesztkörnyezet: Ez nyomon követi a tesztkörnyezetben kiosztott idő időtartamát, valamint a tesztkörnyezetben a tesztelés végrehajtása során ténylegesen felhasznált időt.
A tesztelés szinte minden aspektusát láttuk. Most tegyünk különbséget a “Rendszertesztelés” és a “Végponttól végpontig tartó tesztelés” között. De előtte hadd adjak egy alapképet a “Rendszertesztelésről”, hogy könnyen különbséget tudjunk tenni a szoftvertesztelés két formája között.
A rendszertesztelés az a tesztelési forma, amely különböző tesztek sorozatát foglalja magában, amelyek célja az integrált rendszer teljes tesztelésének elvégzése. A rendszertesztelés alapvetően a fekete dobozos tesztelés egy formája, ahol a hangsúly a szoftverrendszerek külső működésén van a felhasználó szemszögéből, a valós körülmények figyelembevételével.
A rendszertesztelés magában foglalja:
- A teljesen integrált alkalmazás tesztelése, beleértve a fő rendszert is.
- A komponensek egymás közötti és a rendszeren belüli kölcsönhatásának meghatározása.
- A kívánt kimenet ellenőrzése a megadott bemenet alapján.
- A felhasználói élmény elemzése az alkalmazás különböző aspektusainak használata közben.
A fentiekben láttuk a rendszertesztelés alapvető leírását, hogy megértsük azt. Most megnézzük, mi a különbség a “Rendszertesztelés” és a “Végponttól végpontig tartó tesztelés” között.
S.No. | End to End Testing | System Testing |
---|---|---|
1 | Validates both the main Software system as well as all the interconnected Sub-Systems. | As per the specifications provided in Requirement document, it just validates the software system. |
2 | The main emphasis is on verifying the end to end testing process flow. | The main emphasis is on verifying and checking features and functionalities of the software system. |
3 | While performing testing, all the interfaces including the backend processes of the software system is taken under consideration. | While performing testing, only the functional and the non- functional areas and their features are considered for testing. |
4 | End to End testing is executed /performed after the completion of System testing of any software system. | System testing is basically performed after the completion of integration testing of software system. |
5 | Manual testing is mostly preferred for performing end to End testing as these form of testing involves testing of external interfaces also which can be very difficult to automate at times. And will make the whole process very complex. | Both manual and automation testing can be performed as a part of System testing. |
Conclusion
Hope you learned various aspects of End to End tests like its processes, metrics, and the difference between System testing and End to End testing.
A szoftver bármely kereskedelmi kiadásánál a végponttól végpontig tartó ellenőrzés fontos szerepet játszik, mivel a teljes alkalmazást olyan környezetben teszteli, amely pontosan utánozza a valós felhasználókat, például a hálózati kommunikációt, az adatbázis kölcsönhatását stb.
A legtöbbször a végponttól végpontig tartó tesztelést kézzel végzik, mivel az ilyen tesztesetek automatizálásának költségei túl magasak ahhoz, hogy minden szervezet megengedhesse magának. Ez nem csak a rendszer validálása szempontjából előnyös, hanem a külső integráció tesztelésénél is hasznosnak tekinthető.
Hívjon minket, ha kérdése van a végponttól végpontig tartó teszteléssel kapcsolatban.
Utolsó frissítés: Február 18, 2021