Co je testování na základě dat?

⚡ Chytré shrnutí

Testování řízené daty (Data Driven Testing) je metoda testování softwaru, která ukládá testovací data do tabulek nebo tabulek, takže jeden skript může ověřit mnoho vstupních kombinací. Odděluje testovací logiku od dat, čímž snižuje duplicitu skriptů a úsilí o údržbu.

  • 📊 Základní koncept: Jeden testovací skript čte vstupy ze zdrojů .xls, .csv, .xml nebo databází a automaticky spustí každou datovou sadu.
  • 🧱 Návrh rámce: Identifikujte testovací případy, jednou zapište běžné kroky, externalizujte data a poté skript smyčkou proveďte pro každý řádek dat.
  • ⚙️ Zvýšení účinnosti: Testování 1000 kombinací přihlašovacích údajů vyžaduje jeden parametrizovaný skript místo 1000 samostatných skriptů.
  • 🛠️ Nástroje: Platformy jako Testsigma, Testiny, a Testpad spravovat parametrizované datové sady a hlásit selhání pro každý řádek dat.
  • (Tj. Nejlepší praxe: Používejte realistická data, zohledňujte pozitivní i negativní výsledky a vytvářejte dynamická tvrzení z datových sad.
  • ⚠️ Kompromis: Kvalita testů závisí na automatizačních dovednostech a velké datové sady zvyšují náročnost validace a údržby.

Co je testování řízené daty

Data řízené testování

Data řízené testování je metoda testování softwaru, při které jsou testovací data uložena ve formátu tabulky nebo tabulky. Testování řízené daty umožňuje testerům vložit jediný testovací skript, který může provádět testy pro všechna testovací data z tabulky a očekávat výstup testu ve stejné tabulce. Nazývá se také testování řízené tabulkou nebo parametrizované testování.

Data Driven Framework

Data Driven Framework je framework pro automatizované testování, ve kterém se vstupní hodnoty načítají z datových souborů a ukládají do proměnných v testovacích skriptech. Umožňuje testerům sestavit pozitivní i negativní testovací případy do jednoho testu. Vstupní data v frameworku řízeném daty mohou být uložena v jednom nebo více zdrojích dat, jako jsou .xls, .xml, .csv a databáze. Níže uvedený diagram ukazuje, jak vstupní hodnoty proudí z datového souboru do testovacího skriptu.

Data Driven Framework

Proč datově řízené testování?

Data řízené testování je důležité, protože testeři často mají pro jeden test více datových sad a vytváření samostatných testů pro každou datovou sadu může být časově náročné. Testování řízené daty pomáhá oddělit data od testovacích skriptů a stejné testovací skripty lze spustit pro různé kombinace vstupních testovacích dat, zatímco výsledky testů se generují efektivně.

Příklad:

Předpokládejme, že chceme otestovat přihlašovací systém s více vstupními poli na 1000 různých datových sadách.

Chcete-li to otestovat, můžete použít následující různé přístupy:

Přístup 1) Vytvořte 1000 skriptů, jeden pro každou datovou sadu, a spusťte každý test samostatně jeden po druhém.

Přístup 2) Ručně změňte hodnotu v testovacím skriptu a několikrát jej spusťte.

Přístup 3) Importujte data z excelového listu. Postupně načtěte testovací data z excelových řádků a spusťte skript.

Z uvedených tří scénářů jsou první dva pracné a časově náročné. Proto je ideální zvolit třetí přístup.

Třetí přístup tedy není nic jiného než rámec založený na datech.

Typy testovacích dat v testování řízeném daty

Hodnota testování řízeného daty přímo závisí na kvalitě datových sad, které zadáváte do testovacích skriptů. Dobře navržený datový soubor kombinuje několik kategorií testovacích dat, takže jeden skript dokáže v jednom běhu ověřit normální chování, ošetření chyb a limity:

  • Pozitivní (platná) data: Správné vstupy, jako například platné uživatelské jméno a heslo, používané k potvrzení, že aplikace akceptuje to, co by měla akceptovat.
  • Negativní (neplatná) data: Nesprávné nebo chybně zadané údaje, které by měly být odmítnuty, například nesprávné heslo nebo speciální znaky v číselném poli.
  • Hraniční údaje: Hodnoty na okrajích povolených rozsahů, jako například uživatelské jméno o délce 1 nebo 255 znaků, které často odhalují skryté vady.
  • Prázdná nebo nulová data: Prázdná pole, která ověřují ověření povinných polí a chybové zprávy.
  • Velkoobjemová data: Hromadně nebo náhodně generované záznamy používané ke kontrole výkonu a stability při realistickém zatížení.

Po přípravě správných dat je dalším krokem vytvoření samotného rámce.

Jak vytvořit Data Driven Automation Framework

Data Driven Automation Framework

Představte si, že chcete otestovat funkcionalitu přihlášení do aplikace. Výše ​​uvedený vývojový diagram ukazuje kompletní cyklus: identifikace testovacích případů, napsání společného testovacího skriptu, přesun dat do externího souboru a smyčka skriptu pro každý řádek dat.

Krok 1) Identifikujte testovací případy

  • Zadejte správné uživatelské jméno a heslo – přihlášení bylo úspěšné
  • Zadejte nesprávné uživatelské jméno a správné heslo – Selhání přihlášení
  • Zadejte správné uživatelské jméno a nesprávné heslo – přihlášení se nezdařilo

Krok 2) Vytvořte podrobné testovací kroky pro výše uvedené 3 testovací případy

Modelový případ# Description Testovací kroky Testovací data očekávané výsledky
1 Zkontrolujte přihlášení pro platné přihlašovací údaje
  1. Spusťte aplikaci
  2. Zadejte uživatelské jméno heslo
  3. Klikněte na OK
  4. Zkontrolujte výsledky
Uživatelské jméno: platné heslo: platné Úspěch přihlášení
2 Zkontrolujte přihlášení, zda neobsahují neplatné přihlašovací údaje
  1. Spusťte aplikaci
  2. Zadejte uživatelské jméno heslo
  3. Klikněte na OK
  4. Zkontrolujte výsledky
Uživatelské jméno: neplatné heslo: platné Přihlášení se nezdařilo
3 Zkontrolujte přihlášení, zda neobsahují neplatné přihlašovací údaje
  1. Spusťte aplikaci
  2. Zadejte uživatelské jméno heslo
  3. Klikněte na OK
  4. Zkontrolujte výsledky
Uživatelské jméno: platné heslo: neplatné Přihlášení se nezdařilo

Krok 3) Vytvořte testovací skript

Pokud si všimnete, kroky testování zůstávají společné ve všech 3 testovacích případech. Pro provedení těchto kroků je třeba vytvořit testovací skript:

// This is Pseudo Code

// Test Step 1: Launch Application
driver.get("URL of the Application");

// Test Step 2: Enter Username
txtbox_username.sendKeys("valid");

// Test Step 3: Enter Password
txtbox_password.sendKeys("invalid");

// Test Step 4: Check Results
If (Next Screen) print success else Fail

Krok 4) Vytvořte soubor Excel/CSV se vstupními testovacími daty, jak je znázorněno v níže uvedeném vzorovém listu.

Data Driven Automation Framework

Krok 5) Upravte skript tak, aby smyčkou procházel vstupní testovací data. Vstupní příkazy by měly být také parametrizovány.

// This is Pseudo Code
// Loop 3 Times
for (i = 0; i & lt; = 3; i++) {
    // Read data from Excel and store into variables
    int input_1 = ReadExcel(i, 0);
    int input_2 = ReadExcel(i, 1);

    // Test Step 1: Launch Application
    driver.get("URL of the Application");

    // Test Step 2: Enter Username
    txtbox_username.sendKeys(input_1);
    // Test Step 3: Enter Password

    txtbox_password.sendKeys(input_2);
    // Test Step 4: Check Results
    If(Next Screen) print success
    else Fail
}

Výše jsou jen 3 testovací případy. Testovací skript lze použít k opakování následujících testovacích případů pouhým připojením hodnot testovacích dat vynikat

  • Zadejte nesprávné uživatelské jméno a nesprávné heslo – přihlášení se nezdařilo
  • Zadejte správné uživatelské jméno a heslo prázdné – přihlášení se nezdařilo
  • Zadejte prázdné uživatelské jméno a prázdné heslo – přihlášení se nezdařilo

A tak dále

💡 Tip pro profesionály: Uložte očekávaný výsledek pro každý řádek do stejného datového souboru jako vstupy. Váš skript pak může automaticky porovnat skutečné a očekávané výsledky, čímž datový soubor promění v kompletní, samoověřující se sadu testů.

Jakmile je váš rámec připraven, správný nástroj zjednoduší správu dat, jejich provádění a reporting.

Nejlepší nástroj pro testování na základě dat

1) Test sigma

Test sigma je cloudová platforma pro testování řízené daty, kterou jsem shledal neocenitelnou pro maximalizaci pokrytí testy oddělením testovací logiky od testovacích dat. Je speciálně navržena pro týmy, které potřebují validovat aplikace na základě rozmanitých datových sad, okrajových případů a obchodních scénářů, aniž by vytvářely redundantní testovací skripty, a tím zefektivnily celý pracovní postup testování řízeného daty.

Během mých projektů testování založených na datech jsem využil parametrizační možnosti Testsigmy k provádění identických testovacích scénářů na více kombinacích dat z externích zdrojů, jako jsou soubory Excel a CSV. Schopnost platformy iterovat datovými řádky automaticky výrazně rozšířila pokrytí mých testů, zatímco podrobné reporty o výsledcích na úrovni dat mi pomohly rychle identifikovat, které konkrétní vstupní kombinace spustily selhání napříč webovou, mobilní a API vrstvou.

Test sigma

Funkce:

  • Integrace externích zdrojů dat: Tato funkce umožňuje přímé připojení k excelovým tabulkám, souborům CSV a databázovým tabulkám pro centralizovanou správu testovacích dat. Eliminuje pevně zakódované hodnoty a umožňuje vám spravovat testovací data nezávisle na testovací logice. Datové sady můžete aktualizovat bez úpravy testovacích skriptů, což zajišťuje flexibilitu a udržovatelnost. Používám to k efektivní správě stovek datových variací a zároveň udržuji...ping testovací scénáře čisté a znovu použitelné.
  • Automatizovaná iterace víceřádkových dat: Testsigma automaticky spouští testovací scénáře napříč více datovými řádky v rámci jednoho testovacího běhu, čímž dramaticky rozšiřuje pokrytí. Můžete validovat řadu vstupních kombinací, okrajových podmínek a variant obchodních pravidel bez duplikování testovacích případů. Tato funkce transparentně zpracovává sekvencování dat a iterační logiku. Zjistil jsem, že je to obzvláště efektivní pro komplexní regresní testování s minimálními režijními náklady na údržbu skriptů.
  • Parametrizace kroku dynamického testu: Umožňuje nahradit statické hodnoty dynamickými parametry, které během provádění stahují data z externích zdrojů. Kroky testování můžete nakonfigurovat tak, aby se přizpůsobily různým vstupům, podmínkám a očekávaným výsledkům na základě hodnot datové sady. Tato funkce podporuje komplexní transformace dat a podmíněnou logiku. Spoléhám na ni při vytváření flexibilních testovacích scénářů, které vyhovují různým obchodním požadavkům a pracovním postupům uživatelů.
  • Reporting provádění na úrovni dat: Platforma generuje podrobné zprávy, které rozdělují výsledky testů podle jednotlivých kombinací dat a přesně ukazují, které vstupy prošly nebo selhaly. Můžete analyzovat vzory, identifikovat problematické rozsahy dat a tracselhání konkrétních řádků datové sady. Tato funkce poskytuje vizuální řídicí panely a exportovatelné analýzy pro komunikaci se zúčastněnými stranami. Doporučuji tyto poznatky využít k prioritizaci zlepšení kvality dat a zdokonalení strategií testování dat.
  • Podpora datově řízených systémů napříč platformami: Testsigma rozšiřuje datově řízené funkce napříč webovým, mobilním a API testováním v rámci sjednocených pracovních postupů. Stejné datové sady můžete použít k ověření konzistence napříč různými aplikačními vrstvami a technologiemi. Tato funkce zajišťuje komplexní validaci od začátku do konce s parametrizovanými datovými toky. Použil jsem ji k ověření, zda se zpracování dat na backendu správně odráží ve frontendových rozhraních napříč více platformami současně.

Klady

  • Zažil jsem širší pokrytí testy, aniž bych dramaticky zvýšil celkový počet provedených testovacích případů.
  • Připojení k běžným zdrojům dat je jednoduché a zkracuje dobu nastavení pro každodenní testovací pracovní postupy.
  • Podrobné reporty na úrovni dat usnadňují rychlou identifikaci přesných kombinací, které selhávají.

Nevýhody

  • Musel jsem pečlivě spravovat datové sady, protože velké objemy se mohou rychle stát nepřehlednými.

Cena:

  • Cena: Vlastní ceny s možnostmi testování na základě dat zahrnutými v komplexním předplatném
  • Zkušební verze zdarma: 14denní zkušební verze zdarma

Navštivte Testsigmu >>

14denní zkušební verze zdarma


2) Testiny

Testiny je moderní cloudová platforma pro správu testovacích případů, kterou používám k efektivní organizaci testovacích případů založených na datech a zároveň k udrženíping jasné oddělení mezi testovací logikou a parametrizovanými datovými sadami. Je vytvořen pro týmy, které potřebují spravovat rozmanité kombinace dat v rámci mnoha testovacích běhů bez ztráty tracsnadnost.

Při provádění datově řízených projektů s TestinyOcenil jsem, jak hromadné úpravy a funkce šablon usnadňují škálování variant testů napříč stovkami datových řádků. Platforma se integruje s Jirou, GitHubem a GitLabem, takže neúspěšné kombinace dat odkazují zpět na problém. tracautomaticky.

Testiny

Funkce:

  • Úprava hromadných testovacích případů: Testiny Umožňuje upravovat, duplikovat a parametrizovat více testovacích případů najednou, což urychluje vytváření variant řízených daty. Změny napříč složkami můžete aplikovat během několika sekund, aniž byste se museli dotýkat každého případu zvlášť. Na to se spoléhám při rozšiřování pokrytí na nové datové sady bez přepisování skriptů.
  • Vlastní pole pro datové vstupy: Umožňuje definovat vlastní pole pro každý projekt, takže lze atributy datové sady tracpřiřazeno ke každému testovacímu běhu. Vstupní hodnoty, očekávané výsledky a podmínky můžete přehledně zaznamenávat na jednom místě. Tato pole používám k tomu, abych složité parametrizované scénáře usnadnil jejich pozdější audit.
  • Zkušební provoz v reálném čase Tracking: Platforma zobrazuje aktuální stav provádění u všech členů týmu, takže testovací běhy založené na datech zůstávají transparentní. Můžete přiřazovat případy, sledovat procenta úspěšných/neúspěšných testů a identifikovat blokované kombinace dat, jakmile k nim dojde. Považuji to za užitečné pro keeping Vedoucí QA byli informováni bez neustálých schůzek o stavu.
  • PDF a sdílené reporty: Testiny Generuje přehledné PDF reporty s grafy a shrnutími provedení, které můžete sdílet s netechnickými zainteresovanými stranami. Můžete filtrovat podle datové sady, milníku nebo vydání. Tyto reporty rozesílám na konci každého sprintu, abych sdělil kvalitu.
  • Nativní problém TracIntegrace ker: Propojuje se s Jirou, GitHubem, GitLabem, Azure DevOps, lineární, Asana, Confluence, Trello a monday.com, takže se neúspěšné datové řádky rychle promění v tikety. Můžete udržet sladěné pracovní postupy provádění testů a inženýrství. Všiml jsem si, že to dramaticky snižuje tření mezi týmy QA a vývojáři.

Klady

  • Všiml jsem si, že hromadné úpravy udržují údržbu testů řízených daty snadnou, i když datové sady rostou.
  • Spojovací Testiny k naší nástěnce Jira trvalo pár minut a neúspěšné kombinace dat se okamžitě zobrazovaly jako tikety.
  • Real-time tracKing mi dává jasný přehled o tom, které datové kombinace v daném běhu stále čekají na vyřízení.

Nevýhody

  • Chybělo mi zabudování pokročilých automatizačních API hook pro velmi rozsáhlé parametrizované regresní sady.

Cena:

  • Cena: Bezplatný tarif až pro 3 uživatele; placené tarify se škálují podle počtu licencí a přidávají prémiovou podporu.
  • Zkušební verze zdarma: 21denní zkušební verze zdarma

Návštěva Testiny >>

21denní zkušební verze zdarma


3) Testpad

Testpad je lehký nástroj pro správu testů založený na kontrolních seznamech, na který se spoléhám, když je potřeba datově orientované scénáře rychle zachytit bez zbytečných ceremonií. Je postaven na hierarchických kontrolních seznamech, takže testeři mohou seskupovat varianty dat pod nadřazené případy a rychle je spouštět.

Během mých datově orientovaných setkání s Testpad, použil jsem jeho rozhraní s klávesnicí k otestování desítek variant vstupu najednou. Podpora hostujících testerů mi umožnila přizvat odborníky z dané oblasti k ověření kombinací dat na okraji případu, aniž bych musel platit za další místa.

Testpad

Funkce:

  • Hierarchické kontrolní seznamy testů: Testpad organizuje parametrizované testy do vnořených kontrolních seznamů, takže můžete seskupit související varianty dat pod jeden nadřazený případ. Větve můžete rozbalit a sbalit a zaměřit se na konkrétní datové sady. Používám to k udržení vizuálně přehledných složitých datových matic.
  • Editace ovládaná klávesnicí: Umožňuje vám vytvářet, odsazovat a měnit pořadí testovacích položek pomocí klávesových zkratek, takže vytváření rozsáhlých plánů založených na datech je rychlé. Můžete se přizpůsobit běhu dat, aniž byste museli sahat po myši. Myslím si, že to dramaticky zkracuje čas potřebný k zachycení nových řádků datové sady.
  • Přístup pro hostující testery: Testpad Podporuje neomezený počet hostujících testerů bez poplatků za licencované prostředí, takže si můžete pro specifické kombinace dat přizvat odborníky z dané oblasti. Můžete pozvat zúčastněné strany k ověření okrajových případů bez licenčních režijních nákladů. Na to se spoléhám během schvalování uživateli s parametrizovanými scénáři.
  • Okamžitě sdílitelné zprávy: Platforma generuje jednoduché reporty, které můžete sdílet prostřednictvím odkazu, takže je průběh viditelný bez nutnosti otevírat nástroj. Můžete filtrovat podle testera, stavu nebo testovací větve. Tyto reporty posílám produktovým manažerům na konci každého testovacího běhu založeného na datech.
  • Problém TracPropojení ker: Propojuje neúspěšné testy s tikety Jira nebo GitHub pomocí jednoduchých odkazů, takže selhání datových řádků rychle směrují k vývojářům. Můžete připojit kontext přímo z položky kontrolního seznamu neúspěšných testů. Tester se tak soustředí na provedení a směrování nechává na nástroje.

Klady

  • Díky stylu kontrolního seznamu s klávesnicí jako prvním krokem se rychle pohybuji mezi stovkami variant dat.
  • Zapojení hostujících testerů pro specifické datové scénáře nestojí nic navíc, což šetří skutečný rozpočet.
  • Rozhraní optimalizované pro mobilní zařízení mi umožňuje provádět testy kouře na základě dat během dojíždění nebo stand-upů.

Nevýhody

  • Přál bych si, aby existovaly vestavěné automatizační háčky pro velmi rozsáhlé regresní analýzy řízené daty.

Cena:

  • Cena: Tarify začínají na 59 dolarech měsíčně a pro větší týmy jsou k dispozici vlastní podnikové tarify.
  • Zkušební verze zdarma: 30denní bezplatná zkušební verze

Návštěva Testpad >>

30denní zkušební verze zdarma

Osvědčené postupy testování na základě dat

Níže jsou uvedeny osvědčené postupy pro testování řízené daty:

  • Ideální je používat realistické informace během procesu testování založeného na datech
  • Navigace testovacího toku by měla být kódována uvnitř testovacího skriptu
  • Rozšiřujte virtuální rozhraní API smysluplnými daty
  • Použijte data k podpoře dynamických tvrzení
  • Test pozitivní i negativní výsledky
  • Nové použití funkčních testů zabezpečení a výkonu na základě dat

Výhody testování na základě dat

Testování řízené daty nabízí mnoho výhod. Mezi ně patří například:

  1. Umožňuje testování aplikace s více sadami datových hodnot během Regresní testování
  2. Testovací data a ověřovací data lze organizovat pouze do jednoho souboru a je oddělený od logiky testovacího případu.
  3. Díky tomuto nástroji je možné mít testovací skripty v jednom repozitáři. Díky tomu jsou testy snadno pochopitelné, udržovatelné a spravovatelné.
  4. Akce a funkce mohou být znovu použity v různých testech.
  5. Některé nástroje generují testovací data automaticky. To je užitečné, když je potřeba velké množství náhodných testovacích dat, což pomáhá šetřit čas.
  6. Testování řízené daty lze provádět v jakékoli fázi vývoje. Testovací případy řízené daty se obvykle slučují do jednoho procesu. Mohou však být použity ve více testovacích případech.
  7. Umožňuje vývojářům a testerům jasně oddělit logiku jejich testovacích případů/skriptů od testovacích dat.
  8. Stejné testovací případy lze spustit několikrát, což pomáhá snížit počet testovacích případů a skriptů.
  9. Jakékoli změny v testovacím skriptu neovlivní testovací data.

Nevýhody Data Driven testování

Některé nevýhody metody testování automatizace na základě dat jsou:

  1. Kvalita testu závisí na automatizačních dovednostech implementačního týmu.
  2. Validace dat je časově náročný úkol při testování velkého množství dat.
  3. Údržba je velký problém, protože pro testování řízené daty je zapotřebí velké množství kódu.
  4. Vyžaduje se vysoká úroveň technických dovedností. Tester se možná bude muset naučit úplně nový skriptovací jazyk.
  5. Bude zde více dokumentace, většinou týkající se správy skriptů, testovací infrastruktury a výsledků testování.
  6. K vytváření a údržbě datových souborů je vyžadován textový editor, jako je Poznámkový blok.

Testování řízené daty vs. testování řízené klíčovými slovy

Začátečníci si často pletou testování řízené daty s testováním řízeným klíčovými slovy, protože obojí odděluje návrh testů od testovacích skriptů. Rozdíl spočívá v tom, co je externalizováno: testování řízené daty externalizuje vstupní hodnoty, zatímco testování řízené klíčovými slovy externalizuje samotné akce jako opakovaně použitelná klíčová slova. Následující tabulka porovnává oba přístupy:

Parametr Data řízené testování Testování pomocí klíčových slov
Co je externalizováno Testovací data (vstupy a očekávané výsledky) Testovací akce (klíčová slova jako Přihlášení, Kliknutí, Ověření)
Zdroj dat Excel, CSV, XML nebo databázové tabulky Tabulky klíčových slov a volitelné datové tabulky
Potřebné dovednosti Střední znalost skriptování Vyšší počáteční úsilí při návrhu; méně kódu pro vytváření nových testů
Nejvhodnější pro Opakování jednoho scénáře s mnoha kombinacemi vstupů Vytváření mnoha scénářů z opakovaně použitelných akčních bloků
Údržba Aktualizace datových souborů bez nutnosti dotýkat se skriptů Aktualizovat knihovnu klíčových slov při změně chování aplikace

Mnoho týmů kombinuje oba přístupy do hybridního rámce, kde klíčová slova definují opakovaně použitelné akce a externí datové soubory poskytují hodnoty pro každý testovací běh.

Nejčastější dotazy

Ano, ale je to neefektivní. Ruční tester může provést stejné kroky s různými vstupy z tabulky, přesto je automatizace preferována, protože zpracovává stovky kombinací dat rychle, konzistentně a bez lidské chyby.

Selenium s TestNG or JUnit, UFTa cloudové platformy, jako např. Test sigma podporují to. Jakýkoli jazyk, který umí číst externí soubory, včetně Java, Pythona C# mohou implementovat datově řízený framework.

Použijte dostatek řádků k pokrytí platných, neplatných, hraničních a prázdných hodnot pro každé vstupní pole. Kvalita je důležitější než kvantita; deset dobře zvolených kombinací obvykle odhalí více vad než tisíc náhodných.

Ano. Nástroje umělé inteligence analyzují aplikační oblasti a automaticky vytvářejí realistické, rozmanité a syntetické datové sady zabezpečené z hlediska soukromí, včetně hraničních případů, které mohou lidští testeři přehlédnout. To zkracuje čas strávený přípravou a údržbou datových souborů.

Umělá inteligence přidává samoopravitelné lokátory, které přežijí změny v uživatelském rozhraní, předpovídají, které datové kombinace s největší pravděpodobností selžou, a upřednostňují řádky s vysokým rizikem. To udržuje stabilitu velkých parametrizovaných sad a zároveň snižuje dobu provádění a úsilí o údržbu.

Shrňte tento příspěvek takto: