Co je testování od konce ke konci:
Testování od konce ke konci je metodika testování softwaru, která testuje tok aplikace od začátku do konce. Účelem testování End to end je simulovat skutečný uživatelský scénář a ověřit testovaný systém a jeho součásti z hlediska integrace a integrity dat.
Nikdo nechce být známý svými chybami a nedbalostí a stejně tak je tomu i v případě testerů. Když je Testerům přidělena aplikace k testování, od té chvíle přebírají zodpovědnost a aplikace zároveň slouží jako platforma, na které mohou ukázat své praktické a technické znalosti v oblasti testování.
Takže, abychom to popsali technicky, aby bylo zajištěno kompletní testování, je nutné provádět „End to End testování“.
V tomto kurzu se dozvíme, co je to end to end testování, jak se provádí, proč je nutné, jaké se používají matice, jak vytvořit specifické testovací případy end to end a také několik dalších důležitých aspektů. Dozvíme se také o systémovém testování a porovnáme ho s testováním End to End.
Reálně také => Školení End to End na živém projektu – Bezplatné online školení QA.
Co je testování od konce ke konci?“
Testování od konce ke konci je metodika testování softwaru, která testuje tok aplikace od začátku do konce. Účelem tohoto testování je simulovat reálný uživatelský scénář a ověřit testovaný systém a jeho součásti z hlediska integrace a integrity dat.
Provádí se od začátku do konce podle reálných scénářů, jako je komunikace aplikace s hardwarem, sítí, databází a dalšími aplikacemi.
Hlavním důvodem provádění tohoto testování je určení různých závislostí aplikace a také zajištění přesné komunikace informací mezi různými součástmi systému. Obvykle se provádí po dokončení funkčního a systémového testování jakékoli aplikace.
Podívejme se na příklad Gmailu:
Ověření účtu Gmail od konce ke konci bude zahrnovat následující kroky:
- Spuštění přihlašovací stránky Gmailu prostřednictvím adresy URL.
- Přihlášení k účtu Gmail pomocí platných pověření.
- Přístup ke složce Doručená pošta. Otevření přečtených a nepřečtených e-mailů.
- Vytvoření nového e-mailu, odpovědi nebo přeposlání e-mailu.
- Otevření odeslaných položek a kontrola e-mailů.
- Kontrola e-mailů ve složce Spam
- Odhlášení z aplikace Gmail klepnutím na tlačítko „odhlásit“
Nástroje pro testování end-to-end
Doporučený nástroj:
#1) TestCraft
Doporučujeme používat nástroj pro automatizaci testování end-to-end, například TestCraft.
TestCraft je bezkódová platforma pro automatizaci testů Selenium. Její revoluční technologie umělé inteligence a jedinečné vizuální modelování umožňují rychlejší vytváření a provádění testů a zároveň eliminují režijní náklady na údržbu testů.
Testeři vytvářejí plně automatizované testovací scénáře bez kódování. Zákazníci tak rychleji najdou chyby, častěji vydávají nové verze, integrují se s přístupem CI/CD a zlepšují celkovou kvalitu svých digitálních produktů. To vše vytváří kompletní end-to-end testování.
=> Navštivte webové stránky TestCraft
Jak funguje end-to-end testování?
Abychom tomu rozuměli trochu víc, zjistíme, jak to funguje?
Příklad bankovního sektoru. Málokdo z nás si jistě vyzkoušel Akcie. Když majitel účtu Demat, koupí jakoukoli akcii, je třeba odevzdat určité procento z částky makléři. Když akcionář tuto akcii prodá, ať už dosáhne zisku nebo ztráty, určité procento z částky se pak opět odevzdá makléři. Všechny tyto transakce se odrážejí a spravují na účtech. Celý proces zahrnuje řízení rizik.
Pokud se podíváme na výše uvedený příklad a budeme mít na paměti test End-to-End, zjistíme, že celý proces zahrnuje více čísel i různé úrovně transakcí. Celý proces zahrnuje mnoho systémů, které lze obtížně testovat.
Metody testování E2E
#1) Horizontální test:
Tato metoda se používá velmi často. Probíhá horizontálně v kontextu více aplikací. Tato metoda se může snadno vyskytovat v jedné aplikaci ERP (Enterprise Resource Planning). Vezměme si příklad webové aplikace online objednávkového systému. Celý proces bude zahrnovat účty, stav zásob produktů i podrobnosti o expedici.
#2) Vertikální test:
Při této metodě se ověřují a vyhodnocují všechny transakce jakékoli aplikace od začátku do konce. Každá jednotlivá vrstva aplikace je testována počínaje shora dolů. Vezměme si příklad webové aplikace, která Používá kódy HTML pro dosažení webových serverů. V takových případech je vyžadováno rozhraní API pro generování kódů SQL vůči databázi. Všechny tyto složité výpočetní scénáře budou vyžadovat řádnou validaci a specializované testování. Tato metoda je tedy mnohem náročnější.
S tímto testováním souvisí jak „testování bílé skříňky“, tak „testování černé skříňky“. Nebo jinými slovy můžeme říci, že se jedná o kombinaci výhod testování bílé skříňky i testování černé skříňky. V závislosti na typu vyvíjeného softwaru se na různých úrovních používají obě testovací techniky, tj. testování bílé skříňky i testování černé skříňky, podle potřeby. Testování End to End v podstatě provádí funkční i architektonický přístup pro jakýkoli software nebo programy k ověření funkcí systému.
Testeři mají rádi ověřování End to End, protože psaní testovacích případů z pohledu uživatele a v reálném scénáři může zabránit dvěma běžným chybám .tj. „přehlédnutí chyby“ a „psaní testovacích případů, které neověřují reálné scénáře“. To poskytuje testerům obrovský pocit úspěchu.
Níže je uvedeno několik pokynů, které je třeba mít na paměti při navrhování testovacích případů pro provádění tohoto typu testování:
- Testovací případy by měly být navrženy z pohledu koncového uživatele.
- Měly by se zaměřit na testování některých existujících funkcí systému.
- Pro vytvoření více testovacích případů by mělo být zváženo více scénářů.
- Měly by být vytvořeny různé sady testovacích případů, které se zaměří na více scénářů systému.
Jako provádíme jakékoliv testovací případy, podobně je tomu i v případě tohoto testování. Pokud jsou testovací případy „Pass“, tj. dostaneme očekávaný výstup, říká se, že systém úspěšně prošel testem End to End. Stejně tak, pokud systém nevytvoří požadovaný výstup, je nutné provést opakovaný test testovacího případu s ohledem na oblasti selhání.
Proč provádíme testování E2E?
V současném scénáři, jak je také znázorněno na výše uvedeném diagramu, se moderní softwarový systém skládá z jeho propojení s více subsystémy. Díky tomu jsou moderní softwarové systémy velmi komplikované.
Tyto subsystémy, o kterých hovoříme, mohou být v rámci stejné organizace nebo v mnoha případech mohou patřit i různým organizacím. Také tyto subsystémy mohou být do jisté míry podobné nebo odlišné od současného systému. V důsledku toho, pokud dojde k nějakému selhání nebo chybě v některém subsystému, může to negativně ovlivnit celý softwarový systém a vést k jeho zhroucení.
Těmto hlavním rizikům se lze vyhnout a lze je kontrolovat pomocí tohoto typu testování:
- Provádět kontrolu a ověřování toku systému.
- Zvětšit oblasti pokrytí testů všech subsystémů, které jsou zapojeny do softwarového systému.
- Odhalí případné problémy subsystémů a zvýší tak produktivitu celého softwarového systému.
Níže je uvedeno několik činností, které jsou součástí procesu end to end:
- Důkladné prostudování požadavků pro provedení tohoto testování.
- Vhodné nastavení testovacích prostředí.
- 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: V rámci sestavování uživatelských funkcí by měly být provedeny následující činnosti:
- Seznam funkcí softwarových systémů a jejich vzájemně propojených subsystémů.
- Pro každou funkci sledujte prováděné činnosti a také vstupní a výstupní data.
- Zjistěte případné vztahy mezi různými uživatelskými funkcemi.
- Zjistěte povahu různých uživatelských funkcí .tj. zda jsou nezávislé, nebo jsou opakovaně použitelné.
#2) Podmínky: V rámci sestavování podmínek na základě uživatelských funkcí by měly být provedeny následující činnosti:
- Pro každou uživatelskou funkci by měla být připravena sada podmínek.
- Časové, datové podmínky a další faktory, které ovlivňují uživatelské funkce, lze považovat za parametry.
#3) Testovací případy: Při sestavování testovacích případů je třeba vzít v úvahu následující faktory:
- Pro každý scénář by měl být vytvořen jeden nebo více testovacích případů pro testování každé funkce uživatelských funkcí.
- Každá jednotlivá podmínka by měla být zapsána jako samostatný testovací případ.
Zapojené metriky
Přejdeme k dalším důležitým činnostem nebo metrikám zapojeným do tohoto testování:
- Stav přípravy testovacích případů: To lze sledovat formou grafu, který znázorňuje průběh plánovaných testovacích případů, které se připravují.
- Týdenní sledování průběhu testování: To zahrnuje týdenní znázornění postupu provádění testovacích případů. Lze jej vyjádřit prostřednictvím procentuálního zastoupení pro případy vyhověl, nevyhověl, provedl, neprovedl, neplatný atd.
- Stav a podrobný report pro defekty: Denně by měla být připravována zpráva o stavu, která zobrazuje stav provádění testovacích případů a také nalezené a zaznamenané závady podle jejich závažnosti. Týdně by se mělo vypočítávat procento otevřených a uzavřených závad. Také na základě závažnosti a priority defektů by se měl týdně sledovat stav defektů.
- Testovací prostředí: Zde se sleduje doba trvání přiděleného testovacího prostředí i skutečně využitý čas testovacího prostředí při provádění tohoto testování.
Viděli jsme téměř všechny aspekty tohoto testování. Nyní rozlišujme „systémové testování“ a „testování od konce ke konci“. Ještě předtím vám však poskytnu základní představu o „Systémovém testování“, abychom mohli tyto dvě formy testování softwaru snadno rozlišit.
Systémové testování je forma testování, která zahrnuje řadu různých testů, jejichž účelem je provést kompletní testování integrovaného systému. Systémové testování je v podstatě formou testování černých skříněk, kdy se zaměřuje na vnější fungování softwarových systémů z pohledu uživatele s přihlédnutím k reálným podmínkám.
Systémové testování zahrnuje:
- Testování plně integrované aplikace včetně hlavního systému.
- Zjištění interakce komponent mezi sebou a v rámci systému.
- Ověření požadovaného výstupu na základě poskytnutého vstupu.
- Analýzu zkušeností uživatele při používání různých aspektů aplikace.
Výše jsme viděli základní popis testování systému, abychom mu porozuměli. Nyní se podíváme na rozdíly mezi „systémovým testováním“ a „testováním od konce ke konci“.
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.
U každého komerčního vydání softwaru hraje ověření End to End důležitou roli, protože testuje celou aplikaci v prostředí, které přesně napodobuje reálné uživatele, jako je síťová komunikace, interakce s databází atd.
Většinou se testování End to End provádí ručně, protože náklady na automatizaci takových testovacích případů jsou příliš vysoké na to, aby si je mohla dovolit každá organizace. To je výhodné nejen pro ověřování systému, ale lze to považovat za užitečné i pro testování externí integrace.
Pokud máte dotazy týkající se testu end-to-end, dejte nám vědět.
Posledně aktualizováno: 18. února 2021