Testování typu end to end
End to End Testing je metoda testování softwaru, která ověřuje celý software od začátku do konce spolu s jeho integrací s externími rozhraními. Účelem end-to-end testování je testování celého softwaru na závislosti, integritu dat a komunikaci s jinými systémy, rozhraními a databázemi za účelem provedení scénáře kompletní produkce.
Spolu se softwarovým systémem také ověřuje dávkové zpracování / zpracování dat z jiných předřazených / následných systémů. Proto název „End-to-End“ . End to End Testing se obvykle provádí po funkčním testování a testování systému. Využívá skutečnou produkci, jako jsou data a testovací prostředí, k simulaci nastavení v reálném čase. End-to-End testování se také nazývá Chain Testing .
Proč testování typu End to End?
End to End Testing ověřuje kompletní tok systému a zvyšuje důvěru detekcí problémů a zvyšováním pokrytí testů subsystémů. Moderní softwarové systémy jsou složité a propojené s více subsystémy, které se mohou lišit od současných systémů. Celý systém se může zhroutit selháním jakéhokoli subsystému, který představuje hlavní riziko, kterému lze zabránit end-to-end testováním.
Proces testování od začátku do konce:
Následující diagram poskytuje přehled procesu testování End to End.
Hlavní aktivity zapojené do testování typu end to end jsou -
- Studie komplexních požadavků na testování
- Otestujte nastavení prostředí a požadavky na hardware / software
- Popište všechny systémy a procesy jejich subsystémů.
- Popis rolí a odpovědností pro všechny systémy
- Metodika a normy zkoušení
- End-to-end sledování požadavků a navrhování testovacích případů
- Vstupní a výstupní data pro každý systém
Jak vytvořit testovací případy typu end-to-end?
End to End Testing Design framework se skládá ze tří částí
- Vytvářejte uživatelské funkce
- Stavět podmínky
- Sestavte testovací případy
Vytvářejte uživatelské funkce
Jako součást sestavování uživatelských funkcí je třeba provádět následující činnosti:
- Seznamte se s vlastnostmi systému a jejich vzájemně propojených komponent
- Seznam vstupních dat, akcí a výstupních dat pro každou funkci nebo funkci
- Určete vztahy mezi funkcemi
- Určete, zda může být funkce opakovaně použitelná nebo nezávislá
Například - Zvažte scénář, kdy se přihlásíte na svůj bankovní účet a převedete nějaké peníze na jiný účet z jiné banky ( podsystém třetí strany)
- Přihlaste se do bankovního systému
- Zkontrolujte zůstatek na účtu
- Převeďte částku ze svého účtu na jiný bankovní účet ( podsystém třetí strany)
- Zkontrolujte svůj poslední zůstatek na účtu
- Odhlášení aplikace
Vytvářejte podmínky založené na uživatelské funkci
V rámci podmínek výstavby jsou prováděny následující činnosti:
- Vytvoření sady podmínek pro každou definovanou uživatelskou funkci
- Podmínky zahrnují pořadí, načasování a podmínky dat
Například -Kontrola více podmínek jako
Přihlašovací stránka
- Neplatné uživatelské jméno a heslo
- Kontrola pomocí platného uživatelského jména a hesla
- Kontrola síly hesla
- Kontrola chybových zpráv
Částka zůstatku
- Zkontrolujte aktuální zůstatek po 24 hodinách. (Pokud je převod odeslán do jiné banky)
- Pokud je částka převodu větší než aktuální částka zůstatku, zkontrolujte chybovou zprávu
Vytvořte testovací scénář
Vytvoření scénáře testu pro definovanou uživatelskou funkci
V tomto případě,
- Přihlaste se do systému
- Kontrola výše zůstatku banky
- Převeďte částku bankovního zůstatku
Vytvořte více testovacích případů
Vytvořte jeden nebo více testovacích případů pro každý definovaný scénář. Testovací případy mohou zahrnovat každou podmínku jako jeden testovací případ.
Metriky pro testování typu end to end:
Následuje několik z mnoha metrik používaných pro testování typu End to End.
- Stav přípravy testovacího případu: Poskytuje postup přípravy testovacího případu oproti plánovanému
- Průběh týdenního testu - Poskytuje týdenní podrobnosti o procentuálním dokončení testu - Selhalo, neprovedlo se a neprovedlo se proti plánovaným testům provedení.
- Stav defektů a podrobnosti - udává procento otevřených a uzavřených defektů za týden. Také týdenní rozdělení vad na základě závažnosti a priority
- Dostupnost prostředí - celkový počet hodin „nahoru“ / celkový počet hodin naplánovaných za den pro testování
End to End Testing vs Testování systému
End to End Testing | Testování systému |
---|---|
Validuje softwarový systém i propojené podsystémy | Ověřuje pouze softwarový systém podle specifikací požadavků. |
Kontroluje kompletní průběh procesu end-to-end. | Kontroluje funkce a vlastnosti systému. |
Pro testování budou brány v úvahu všechna rozhraní, backendové systémy | Pro testování bude zváženo funkční a nefunkční testování |
Spustí se po dokončení testování systému. | Spustí se po testování integrace. |
Testování typu End to End zahrnuje kontrolu externích rozhraní, jejichž automatizace může být složitá. Proto je upřednostňováno ruční testování. | Pro testování systému lze provést manuální i automatizaci |
Závěr
V softwarovém inženýrství je End to End Testing proces ověřování softwarového systému spolu s jeho podsystémy. Největší výzvou v tomto testování je mít dostatek znalostí o celém systému i o vzájemně propojeném subsystému.