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.
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.
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
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 |
|
Uživatelské jméno: platné heslo: platné | Úspěch přihlášení |
| 2 | Zkontrolujte přihlášení, zda neobsahují neplatné přihlašovací údaje |
|
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 |
|
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.
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.
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
Nevýhody
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
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.
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
Nevýhody
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
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.
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
Nevýhody
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
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:
- Umožňuje testování aplikace s více sadami datových hodnot během Regresní testování
- Testovací data a ověřovací data lze organizovat pouze do jednoho souboru a je oddělený od logiky testovacího případu.
- 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é.
- Akce a funkce mohou být znovu použity v různých testech.
- 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.
- 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.
- Umožňuje vývojářům a testerům jasně oddělit logiku jejich testovacích případů/skriptů od testovacích dat.
- Stejné testovací případy lze spustit několikrát, což pomáhá snížit počet testovacích případů a skriptů.
- 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:
- Kvalita testu závisí na automatizačních dovednostech implementačního týmu.
- Validace dat je časově náročný úkol při testování velkého množství dat.
- Údržba je velký problém, protože pro testování řízené daty je zapotřebí velké množství kódu.
- Vyžaduje se vysoká úroveň technických dovedností. Tester se možná bude muset naučit úplně nový skriptovací jazyk.
- Bude zde více dokumentace, většinou týkající se správy skriptů, testovací infrastruktury a výsledků testování.
- 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.







