The wiki page is under active construction, expect bugs.

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
statnice:bakalar:b6b36ts1 [2025/05/28 14:34] – [Princip] prokopstatnice:bakalar:b6b36ts1 [2025/05/28 15:42] (current) – [Testovací strategie: princip metody Business Driven Test Management] prokop
Line 351: Line 351:
 ===== Jednotkové testy===== ===== Jednotkové testy=====
 ==== Princip ==== ==== Princip ====
-* Odhalují chyby na úrovni kódu. +  * Odhalují chyby na úrovni kódu. 
-* Porovnávají výsledek volání metody/procedury s očekávaným výsledkem. +  * Porovnávají výsledek volání metody/procedury s očekávaným výsledkem. 
-* Jsou napsané jako speciální část kódu, která kontroluje funkční část programu. +  * Jsou napsané jako speciální část kódu, která kontroluje funkční část programu. 
-* Programátor je může psát sám přímo ke svému kódu. +  * Programátor je může psát sám přímo ke svému kódu. 
-* Unit testovací frameworky (např. JUnit, TestNG) poskytují podporu a zrychlují přípravu testů. +  * Unit testovací frameworky (např. JUnit, TestNG) poskytují podporu a zrychlují přípravu testů. 
-* Testy je možné opakovaně spouštět, často se integrují do build procedury. +  * Testy je možné opakovaně spouštět, často se integrují do build procedury. 
-* Klíčová součást Test Driven Development (TDD), kde slouží i jako specifikace výsledku.+  * Klíčová součást Test Driven Development (TDD), kde slouží i jako specifikace výsledku.
 ==== Vlastnosti ==== ==== Vlastnosti ====
 +  * Nezávislost na jiných testech (test nesmí být prerekvizitou pro jiný test).
 +  * Minimální množství vstupních podmínek (preconditions), kde je to možné.
 +  * ** Jedna funkcionalita → Jeden unit test**
 +  * Přiměřený počet assertů, aby test zůstal přehledný a údržba nebyla zbytečně náročná.
 +  * Srozumitelný a jasný název metody testu, který popisuje, co test kontroluje.
 +  * Používání jednotného zdroje testovacích dat a konzistentní jmenné konvence.
 +  * Struktura testů by měla odpovídat objektové struktuře kódu (např. třídě odpovídá testovací třída).
 +  * Unit testy jsou určeny pouze pro kontrolu kódu, nikoliv konfigurace.
  
 ==== Unit test X Integration test ==== ==== Unit test X Integration test ====
 +| Aspekt | Jednotkové testy | Integrační testy |
 +|-|-|-|
 +| Úroveň | Testují jednotlivé bloky kódu (např. metody, třídy) izolovaně. | Testují spolupráci více komponent (modulů, služeb, systémů). |
 +| Zaměření | Ověření správnosti malých jednotek logiky. | Ověření správnosti propojení mezi jednotkami a jejich interakce. |
 +| Nástroje | Unit test frameworky (JUnit, TestNG). | Automatizační frameworky, integrační nástroje, end-to-end testy. |
 +| Komplexita | Nízká (zaměřeno na detaily). | Vyšší (zaměřeno na celý proces, komunikaci, integrace). |
 +| Účel | Rychlé odhalení chyb v kódu, prevence regrese. | Ověření, že jednotlivé části systému fungují dohromady správně. |
 +| Příklad | Test metody pro výpočet ceny. | Test propojení mezi platebním modulem a bankovní API. |
 +===== Automatizované testy založené na simulaci akcí uživatele v uživatelském rozhraní systému=====
 +==== Princip testu ====
 +  * **End-to-end (E2E)** testování simuluje chování reálného uživatele v aplikaci.
 +  * Ověřuje správnou funkčnost aplikace z pohledu uživatele – od začátku do konce.
 +  * Kontroluje nejen jednotlivé komponenty, ale i jejich **propojení, integraci a datovou konzistenci.**
 +  * Typické scénáře:
 +    * otevření aplikace (např. v prohlížeči),
 +    * zadání vstupů (kliknutí, psaní, potvrzování),
 +    * sledování odpovědí systému (zobrazení dat, reakce UI),
 +    * ověření správného dokončení procesu.
  
-===== Automatizované testy založené na simulaci akcí uživatele v uživatelském rozhraní systémuprincip testu, příklad technologierozdíl oproti jednotkovým testům. ===== +==== Příklad technologie ==== 
-===== Testovací strategie: princip metody Business Driven Test Management, její základní části a jejich souvislosti. =====+  * **Selenium** – nástroj pro automatizaci webových prohlížečů. 
 +  * Další příklady (BONUS): 
 +    * Cypress.IO 
 +    * Playwright 
 +    * Robot Framework 
 +    * TestCafe 
 +    * Puppeteer 
 +  * **Tyto nástroje umožňují:** 
 +    * simulovat klikánípsaní, posouvání, 
 +    * kontrolovat obsah stránek, 
 +    * ověřovat výsledky akcí (např. idání položkydokončení platby). 
 + 
 +==== Rozdíl oproti jednotkovým testům ==== 
 +| Aspekt | E2E testy (testy UI) | Jednotkové testy | 
 +|-|-|-| 
 +| Úroveň | Testují celý systém (od uživatelského vstupu po backend a zpět)| Testují izolované části kódu (metody, funkce). | 
 +| Zaměření | Uživatelská zkušenost, integrační funkce, procesy napříč systémem. | Logika a správnost jednotlivých bloků kódu. | 
 +| Rychlost | Pomalejší, protože zahrnují více vrstev systému. | Velmi rychlé, běží přímo nad kódem. | 
 +| Stabilita | Náchylné k chybám způsobeným změnami UI nebo závislostí. | Stabilní, méně závislé na okolí. | 
 +| Nástroje | Selenium, Cypress, Playwright, TestCafe, Puppeteer. | JUnit, TestNG, NUnit, xUnit. | 
 +| Účel | Ověření, že celý systém funguje pro uživatele. | Ověření, že logika kódu funguje podle očekávání. | 
 +===== Testovací strategie: princip metody Business Driven Test Management ===== 
 + 
 +=== Testovací Strategie Obecně ==
 +  * Testovací strategie je plán na vyšší úrovni, který definuje: 
 +    * co budeme testovat, 
 +    * jak budeme testovat, 
 +    * s jakými prioritami, 
 +    * s jakou intenzitou, 
 +    * jakými metodami a nástroji. 
 +  * Slouží jako vodítko pro celý testovací tým, aby všichni pracovali podle stejného rámce a cílů. 
 +  * Obsahuje nejen technické aspekty, ale i organizační a byznysové pohledy – stejná terminologie, procesy, metriky 
 +  * Pomáhá sladit očekávání mezi zadavatelem, managementem a testovacím týmem. 
 +  * Zajišťuje, že se testování soustředí na oblasti s největším rizikem nebo nejvyšší byznys hodnotou. 
 + 
 +==== Princip metody Business Driven Test Management ==== 
 +  * Metoda BDTM (Business Driven Test Management) pochází z rámce TMAP Next. 
 +  * Je určená hlavně pro větší testovací projektyale lze ji škálovat i na menší. 
 +  * Jejím cílem je přímo propojit cíle byznysu s přípravou a prováděním testů. 
 +  * Výstupem je velká tabulka, která propojuje: 
 +    * testovací cíle (test goals), 
 +    * požadavky a specifikace, 
 +    * části testovaného systému, 
 +    * analýzu rizik, 
 +    * test levels, 
 +    * druhy testů a jejich intenzitu, 
 +    * zvolené test design techniky. 
 + 
 +=== Základní části metody ==
 +  * **Test goals (testovací cíle)** 
 +    * Overall test goals (např. od investora, senior managementu). 
 +    * Departmental test goals (např. od budoucích koncových uživatelů). 
 +    * Pomáhají sjednotit očekávání kvality a odhalit rozpory mezi investorem a uživateli. 
 +  * **Popis testovaného systému** 
 +    * Přehled funkcí systému a jejich vazba na požadavky, procesy a kvalitativní aspekty (funkčnost, výkon, bezpečnost). 
 +  * **Analýza rizik** 
 +    * Hodnocení pravděpodobnosti selhání a možného dopadu. 
 +    * Určení tříd rizika podle kombinace těchto faktorů. 
 +  * **Určení priorit** 
 +    * Podle tříd rizika určujeme, co testovat intenzivněji. 
 +    * Priorita je odvozena z byznysového dopadu selhání, nikoliv jen z technického pohledu. 
 +  * **Test levels** 
 +    * Definujeme úrovně testování (např. vývojářské testy, systémové testy, UAT, testy v produkci). 
 +    * Určujeme, jakou intenzitou se bude testovat na které úrovni. 
 +  * **Intenzita testování** 
 +    * Přizpůsobujeme intenzitu podle rizik a dostupných zdrojů. 
 +    * Např. pro vysokorizikové oblasti vyšší pokrytí a intenzita, pro nízkorizikové nižší. 
 + 
 +=== Souvislosti mezi částmi === 
 +  * Test goals určují, co je potřeba ověřit → vazba na funkce systému a požadavky. 
 +  * Analýza rizik určuje priority a intenzitu testování pro jednotlivé oblasti. 
 +  * Test levels rozdělují testy podle fází a týmů. 
 +  * Intenzita testování se přizpůsobuje prioritám, rozpočtu a časovým omezením. 
 +  * Celý proces je propojený v hlavní řídicí tabulce, která zajišťuje přehlednost, konzistenci a trasovatelnost.
Navigation

Playground

QR Code
QR Code statnice:bakalar:b6b36ts1 (generated for current page)