Testovanie typu end to end
End to End Testing je metóda testovania softvéru, ktorá overuje celý softvér od začiatku do konca spolu s jeho integráciou s externými rozhraniami. Účelom end-to-end testovania je testovanie celého softvéru na zisťovanie závislostí, integrity dát a komunikácie s inými systémami, rozhraniami a databázami, aby sa mohla realizovať kompletná produkčná scenára.
Spolu so softvérovým systémom tiež validuje dávkové / dátové spracovanie z iných upstream / downstream systémov. Preto aj názov „End-to-End“ . Testovanie typu end to end sa zvyčajne vykonáva po funkčnom testovaní a testovaní systému. Využíva skutočnú produkciu, ako sú údaje, a testovacie prostredie na simuláciu nastavení v reálnom čase. End-to-End testovanie sa tiež nazýva Chain Testing .
Prečo testovanie typu end to end?
End to End Testing overuje kompletný tok systému a zvyšuje spoľahlivosť zisťovaním problémov a zvyšovaním pokrytia subsystémov testom. Moderné softvérové systémy sú zložité a navzájom prepojené s viacerými subsystémami, ktoré sa môžu líšiť od súčasných systémov. Celý systém sa môže zrútiť pri poruche ktoréhokoľvek subsystému, ktorý predstavuje veľké riziko, ktorému sa dá vyhnúť úplným testovaním.
Proces testovania typu end to end:
Nasledujúca schéma poskytuje prehľad procesu testovania typu End to End.
Hlavné aktivity, ktoré sú súčasťou komplexných testov, sú -
- Štúdia komplexných požiadaviek na testovanie
- Vyskúšajte nastavenie prostredia a hardvérové / softvérové požiadavky
- Popíšte všetky systémy a procesy ich podsystémov.
- Opis úloh a zodpovedností za všetky systémy
- Metodika a normy testovania
- Sledovanie komplexných požiadaviek a navrhovanie testovacích prípadov
- Vstupné a výstupné údaje pre každý systém
Ako vytvoriť testovacie prípady typu end-to-end?
End to End Testing Design framework sa skladá z troch častí
- Vytváranie používateľských funkcií
- Stavať podmienky
- Zostavte testovacie prípady
Vytváranie používateľských funkcií
V rámci vytvárania používateľských funkcií by sa mali robiť nasledujúce činnosti:
- Uveďte zoznam funkcií systému a ich vzájomne prepojených komponentov
- Uveďte zoznam vstupných údajov, akcií a výstupných údajov pre každú funkciu alebo funkciu
- Identifikujte vzťahy medzi funkciami
- Určte, či môže byť funkcia opakovane použiteľná alebo nezávislá
Napríklad - Zvážte scenár, keď sa prihlásite na svoj bankový účet a prevediete nejaké peniaze na iný účet z inej banky ( podsystém tretích strán)
- Prihláste sa do bankového systému
- Skontrolujte zostatok na účte
- Prevod časti z vášho účtu na iný bankový účet ( podsystém tretích strán)
- Skontrolujte svoj posledný zostatok na účte
- Odhlásenie aplikácie
Podmienky vytvárania založené na funkcii používateľa
V rámci stavebných podmienok sa vykonávajú tieto činnosti:
- Vytvorenie súboru podmienok pre každú definovanú funkciu používateľa
- Podmienky zahŕňajú postupnosť, načasovanie a podmienky údajov
Napríklad - Kontrola viacerých podmienok ako
Prihlasovacia stránka
- Neplatné meno používateľa a heslo
- Kontrola s platným užívateľským menom a heslom
- Kontrola sily hesla
- Kontrola chybových správ
Zostatok
- Skontrolujte aktuálny zostatok po 24 hodinách. (Ak je prevod odoslaný do inej banky)
- Skontrolujte, či sa nevyskytlo chybové hlásenie, ak je suma prevodu vyššia ako aktuálna výška zostatku
Vytvorte testovací scenár
Vytvorenie testovacieho scenára pre definovanú funkciu používateľa
V tomto prípade,
- Prihláste sa do systému
- Kontrola výšky bankového zostatku
- Presuňte sumu bankového zostatku
Vytvorte viac testovacích prípadov
Vytvorte jeden alebo viac testovacích prípadov pre každý definovaný scenár. Testovacie prípady môžu obsahovať každú podmienku ako jeden testovací prípad.
Metriky pre úplné testovanie:
Nasleduje niekoľko z mnohých metrík používaných na testovanie typu end to end.
- Stav prípravy testovacieho prípadu: Poskytuje pokrok v príprave testovacieho prípadu oproti plánovaným
- Priebeh týždenného testu - poskytuje týždenné podrobnosti o percente dokončenia testu - zlyhanie, nevykonanie a vykonanie oproti plánovaným vykonávacím testom.
- Stav defektov a podrobnosti - udáva percento otvorených a uzavretých defektov za týždeň. Tiež rozdelenie defektov po týždňoch na základe závažnosti a priority
- Dostupnosť prostredia - celkový počet hodín „hore“ / celkový počet hodín naplánovaných za deň na testovanie
End to End Testing vs Testovanie systému
Testovanie typu end to end | Testovanie systému |
---|---|
Validuje softvérový systém aj vzájomne prepojené podsystémy | Overuje iba softvérový systém podľa špecifikácií požiadaviek. |
Kontroluje úplný priebeh procesu end-to-end. | Kontroluje funkčnosť a vlastnosti systému. |
Na testovanie sa vezmú do úvahy všetky rozhrania, backendové systémy | Pri testovaní sa bude brať do úvahy funkčné a nefunkčné testovanie |
Vykoná sa po dokončení testovania systému. | Vykoná sa po integračnom testovaní. |
Testovanie typu end to end zahŕňa kontrolu externých rozhraní, ktorých automatizácia môže byť zložitá. Preto sa uprednostňuje manuálne testovanie. | Pre testovanie systému je možné vykonať manuálnu aj automatizáciu |
Záver
V softvérovom inžinierstve je komplexné testovanie proces overovania softvérového systému a jeho podsystémov. Najväčšou výzvou v tomto testovaní je mať dostatok vedomostí o celom systéme, ako aj o vzájomne prepojenom podsystéme.