Kvalifikační standard

Autorizující orgán: Ministerstvo vnitra
Skupina oborů: Informatické obory
Povolání: Softwarový tester
Platnost standardu: Od 7.10.2020 do neomezeně
Kvalifikační úroveň: 5

Kvalifikační standard

Název odborné způsobilosti Úroveň

Orientace v základech automatizace testování

Kritéria hodnocení Způsob ověření
a Vysvětlit rozdíly v použití manuálních a automatizovaných testů Ústní ověření
b Přiřadit k fázi vývoje softwaru (sběr požadavků, vysokoúrovňový návrh, nízkoúrovňový návrh, implementace) odpovídající úroveň testů (akceptační, systémové, integrační, jednotkové) Písemné ověření
c Z předložených testovacích scénářů vybrat a zdůvodnit ty, které jsou vhodné pro automatizaci Ústní ověření
d Popsat typy nástrojů pro automatizaci testování a jejich použití Písemné ověření
e Předvést instalaci zvoleného nástroje pro automatizaci testování a předvést jeho typické použití na zvoleném příkladu Praktické předvedení a ústní ověření
f K uvedeným typům testů (jednotkový test, test uživatelského rozhraní, zátěžový test) přiřadit typický testovací nástroj (XUnit, Selenium, Apache Jmeter) Písemné ověření
g Popsat rozdíly mezi testovacím a produkčním prostředím Písemné ověření
h Popsat výhody využití nástrojů pro virtualizaci při přípravě testovacího prostředí Písemné ověření
i Uvést na zadaném příkladu aplikace nejdůležitější komponenty testovacího prostředí Písemné ověření
j V pseudokódu napsat příklad jednotkového testu, který ověří správnost implementace zadané funkce, zapsané v pseudokódu, jež provádí matematickou operaci nad zadanými vstupními parametry a vrací její výstup Praktické předvedení a ústní ověření
k Na základě zadané instrukce vytvořit SQL dotaz typu SELECT nad zadaným databázovým schématem Praktické předvedení a ústní ověření
Je třeba splnit všechna kritéria.
5

Testování kvality zdrojových kódů

Kritéria hodnocení Způsob ověření
a Porovnat a zařadit jednotkové testy do správné úrovně testování podle předloženého V-modelu Ústní ověření
b Vybrat mezi uvedenými možnostmi základní principy při tvorbě jednotkových testů Písemné ověření
c Vyjmenovat alespoň 3 frameworky (rámce) pro jednotkové testování Písemné ověření
d Na předložených příkladech zadaného testu v pseudokódu určit a zdůvodnit, zda se jedná o pozitivní nebo negativní jednotkový test Písemné ověření
e Vyjmenovat alespoň 3 assert metody typicky používané v jednotkovém testu při kontrole návratových hodnot z volání metod Písemné ověření
f Vysvětlit, k čemu slouží u jednotkového testu metody setUp a tearDown Písemné ověření
g Na předloženém příkladu implementace jednotkového testu určit, zda test obsahuje zásadní chyby v implementaci a pokud ano, tyto chyby popsat Praktické předvedení a ústní ověření
h Na předložené implementaci třídy v pseudokódu a jejich testů určit orientačně procento pokrytí jednotlivých příkazů testy Praktické předvedení a ústní ověření
i V předloženém seznamu chyb identifikovat takové chyby, které se dají typicky nalézt použitím nástrojů pro statickou analýzu zdrojových kódů Praktické předvedení a ústní ověření
j Vyjmenovat alespoň 2 hlavní nevýhody použití nástrojů pro statickou analýzu Písemné ověření
Je třeba splnit všechna kritéria.
5

Integrační testování zdrojových kódů

Kritéria hodnocení Způsob ověření
a Vysvětlit, k jakému účelu slouží integrační testování Písemné ověření
b Na zadaném příkladu zdrojového kódu vytvořeného v pseudokódu určit a zdůvodnit, zda se jedná o integrační test nebo o jednotkový test Ústní ověření
c Posoudit, zda předložený test slouží k ověřování lokálního aplikačního rozhraní (local API) nebo k ověřování vzdáleného aplikačního rozhraní (remote API) Ústní ověření
d Na zadaném zdrojovém kódu vytvořeném v pseudokódu určit a zdůvodnit, zda se jedná o příklad použití Stubu nebo Mocku při izolaci jednotkových testů Ústní ověření
e Seřadit podle náročnosti implementace (vzestupně) následující způsoby izolace testů: Dummy, Stub, Spy, Fake a Mock Písemné ověření
f Vyjmenovat alespoň 3 nástroje nebo frameworky (rámce) používané pro automatizované testování webových služeb Písemné ověření
g Doplnit HTTP metody pro testování webového rozhraní typu REST pro následující akce: čtení, vytvoření, editace a mazání záznamu Písemné ověření
h Popsat, jakým způsobem lze testovat integraci pomocí SQL databáze Písemné ověření
i V předloženém seznamu možných výhod vybrat hlavní výhody využití metodiky Test Driven Development (TDD) Písemné ověření
j Na základě dodaného vývojového cyklu metodiky Test Driven Development (TDD) vysvětlit, k čemu slouží jednotlivé fáze tohoto cyklu Ústní ověření
k V předloženém seznamu možných výhod určit hlavní výhody využití metodiky Behavior Driven Development (BDD) Písemné ověření
l Připravit jednoduchý scénář pomocí jazyka využívajícího klíčových slov Given-When-Then (Pokud-Když-Pak) v metodice Behavior Driven Development (BDD) pro zadaný testovací scénář ve formě volného textu Praktické předvedení a ústní ověření
Je třeba splnit všechna kritéria.
5

Automatizované testování uživatelských rozhraní

Kritéria hodnocení Způsob ověření
a Zařadit testy uživatelského rozhraní do správné úrovně testování podle předloženého V-modelu Písemné ověření
b Určit orientačně procentuální poměr, v jakém by měly být typy automatických testů (testy uživatelského rozhraní, jednotkové testy, komponentní testy) správně zastoupeny při ideálním pokrytí aplikace automatickými testy Písemné ověření
c Popsat výhody a nevýhody použití metody porovnávání obrázků při testování uživatelského rozhraní Písemné ověření
d Z předloženého seznamu nástrojů vybrat ty, které se používají pro testování uživatelských rozhraní Písemné ověření
e U zadaného příkladu HTML kódu, který obsahuje alespoň čtyři jednoznačně identifikovatelné elementy uživatelského rozhraní, napsat pseudokód (za použití libovolného zvoleného frameworku - rámce), který identifikuje tyto elementy Praktické předvedení a ústní ověření
f Navrhnout příklad testovacího frameworku (rámce) pro každou z následujících platforem: Windows, iOS, Android Praktické předvedení a ústní ověření
g Popsat výhody a nevýhody frameworku (rámce) Selenium Písemné ověření
h Popsat výhody a nevýhody spouštění testů v režimu "headless" (např. PhantomJS) Písemné ověření
i Z předloženého seznamu úprav, které je možné provést v automatických testech uživatelského rozhraní nebo v aplikaci, vybrat ty, které povedou ke zvýšení spolehlivosti testů Písemné ověření
Je třeba splnit všechna kritéria.
5

Zátěžové testování zdrojových kódů

Kritéria hodnocení Způsob ověření
a Vysvětlit účel zátěžového testování Ústní ověření
b Označit, které z uvedených parametrů jsou základní parametry zátěžového testu Písemné ověření
c Podle zadaného popisu testu určit, zda se jedná o zátěžový test (load test), test hraniční zátěže (stress test), test odolnosti (soak test), test selhání (failover test) nebo výkonnostní test (performance test) Písemné ověření
d Zdůvodnit, proč je třeba spouštět zátěžové testy ve speciálním testovacím prostředí a proč nelze tyto testy spouštět v produkčním nebo běžném testovacím prostředí Ústní ověření
e Určit alespoň jeden nástroj pro zátěžové testování, alespoň jeden nástroj pro testování výkonu a alespoň jeden nástroj pro monitorování aplikací Písemné ověření
f Určit, které ze zadaných charakteristik softwaru lze ověřit pomocí profileru Písemné ověření
g Popsat, jak lze sledovat klíčové charakteristiky softwaru (zatížení CPU, využití paměti, počet aktivních vláken) při zátěžovém testování pomocí monitorovacích nástrojů Písemné ověření
h Na zadaném diagramu zakreslujícím prostředí pro zátěžový test určit, zda se jedná o vhodné testovací prostředí Písemné ověření
i V předloženém seznamu určit důležité parametry testovacího prostředí Písemné ověření
j Na dodaném grafu závislosti průměrné doby odezvy testované aplikace (osa y) na čase (osa x) určit, zda se jedná o: 1. náběh zátěžového testu, 2. stabilizovaný zátěžový test, 3. pád testované aplikace Praktické předvedení a ústní ověření
k Seřadit zátěžové testy do správné úrovně testování podle předloženého V-modelu Písemné ověření
l V předloženém seznamu možných parametrů určit a zdůvodnit, které parametry jsou klíčové pro vyhodnocení průběhu zátěžového testu Ústní ověření
Je třeba splnit všechna kritéria.
5

Používání průběžné integrace

Kritéria hodnocení Způsob ověření
a Popsat, jaké problémy pomáhá řešit průběžná integrace Písemné ověření
b Z předloženého seznamu principů používaných při vývoji softwaru vybrat a zdůvodnit ty, které se využívají při průběžné integraci Ústní ověření
c Z předloženého seznamu softwarových nástrojů vybrat systémy pro správu verzí Písemné ověření
d Uvést alespoň dva příklady distribuovaných systémů pro správu verzí (Version Control System - VCS) a popsat jejich výhody oproti systémům centralizovaným Písemné ověření
e Popsat, jakou funkci plní integrační server při průběžné integraci Písemné ověření
f Uvést příklady alespoň dvou běžně používaných integračních serverů a porovnat jejich silné a slabé stránky Písemné ověření
g Přiřadit předložené typy testů (jednotkový test, funkční test, aj.) k odpovídajícím částem procesu průběžné integrace (např. kompilace komponenty, sestavení funkčního celku, atd.) Písemné ověření
h Uvést příklad tří chyb, které neodhalí systém průběžné integrace obsahující pouze jednotkové testy Písemné ověření
i Určit z předloženého seznamu změn v systému průběžné integrace takové, které povedou k jeho vylepšení Písemné ověření
Je třeba splnit všechna kritéria.
5

Pokyny k realizaci zkoušky

Autorizovaná osoba informuje, které doklady musí uchazeč předložit, aby zkouška proběhla v souladu s platnými právními předpisy.

Před zahájením vlastního ověřování musí být uchazeč seznámen s pracovištěm a s požadavky bezpečnosti a ochrany zdraví při práci (BOZP) a požární ochrany (PO), o čemž bude autorizovanou osobou vyhotoven a uchazečem podepsán písemný záznam.

 

Autorizovaná osoba, resp. autorizovaný zástupce autorizované osoby, je oprávněna předčasně ukončit zkoušku, pokud vyhodnotí, že v důsledku činnosti uchazeče bezprostředně došlo k ohrožení nebo bezprostředně hrozí nebezpečí ohrožení zdraví, života a majetku či životního prostředí. Zdůvodnění předčasného ukončení zkoušky uvede AOs do Záznamu o průběhu a výsledku zkoušky. Uchazeč může ukončit zkoušku kdykoliv v jejím průběhu, a to na vlastní žádost.

 

Zdravotní způsobilost pro vykonání zkoušky není vyžadována.

Zkouška se skládá ze dvou částí: písemného ověření a praktického předvedení s ústním ověřením. Zkouška probíhá ve dvou etapách - prvně písemná část, poté praktické předvedení s ústním ověřením - vždy chronologicky po jednotlivých kompetencích.

 

Písemné ověření

Písemné ověření probíhá volnou písemnou formou a řešením předložených zadání.

a) V této části písemného ověření se uchazeč vyjadřuje volnou písemnou formou. Jedná se o následující kritéria v rámci níže uvedených kompetencí:

  • Orientace v základech automatizace testování
    • kritéria b), d), g), h)
  • Testování kvality zdrojových kódů
    • kritéria c), e), f), j)
  • Integrační testování
    • kritéria a), e) až k) (kromě j))
  • Automatizované testování uživatelských rozhraní
    • kritéria b), c), g), h)
  • Zátěžové testování
    • kritéria a), d), e), g)
  • Používání průběžné integrace
    • kritéria e), f), h)

 

b) V této části písemného ověření uchazeč vypracovává odpovědi na předložené konkrétní zadání.

Pro níže specifikovaná kritéria vypracuje autorizovaná osoba jedno zadání:

  • Orientace v základech automatizace testování
    • kritérium f)
  • Integrační testování zdrojových kódů
    • kritérium j)
  • Automatizované testování uživatelských rozhraní
    • kritérium a)
  • Zátěžové testování zdrojových kódů
    • kritérium k)
  • Používání průběžné integrace
    • kritérium g)

Pro níže specifikovaná kritéria vypracuje autorizovaná osoba tři zadání:

  • Orientace v základech automatizace testování
    • kritérium i) - každé zadání obsahuje 5 možností, z toho 2 správné. Mezi uvedenými možnostmi musí být verze operačního systému pro aplikaci s uživatelským rozhraním, název a verze prohlížeče webových stránek.
  • Integrační testování
    • kritérium i) - každé zadání obsahuje 5 možností, z toho 2 správné
  • Automatizované testování uživatelských rozhraní
    • kritérium d) - každé zadání obsahuje 5 možností, z toho 2 správné
    • kritérium i) - každé zadání obsahuje 5 možností, z toho 2 správné. Mezi uvedenými možnostmi se musí vyskytovat tyto možnosti: odstranění pauz, optimalizace UI testované aplikace pro testovatelnost, sebezotavení testu.

Pro zkoušku autorizovaná osoba zajistí náhodné vygenerování jednoho zadání pro každé z uvedených kritérií. Splnění každého kritéria vyžaduje určení všech správných možností.

 

Pro níže specifikovaná kritéria vypracuje autorizovaná osoba pět zadání:

  • Testování kvality zdrojových kódů
    • kritérium b) - každé zadání obsahuje 5 možností, z toho 2 správné. Příklad uvedených principů: metody v jednotkovém testu musí být krátké a testovat jeden konkrétní testovací případ; metody v jednotkovém testu musí komplexně testovat co nejvíce testovacích případů; je vhodné vytvářet jednotkové testy během vývoje komponenty; nejvhodnější postup pro vývoj jednotkových testů je vytvořit testy až poté, co je veškerá funkčnost implementovaná; jednotkové testy typicky slouží k testování uživatelských rozhraní
  • Integrační testování
    • kritérium k) - každé zadání obsahuje 5 možností, z toho 2 správné
  • Zátěžové testování
    • kritérium b) - mezi uvedenými možnostmi se musí vyskytovat tyto parametry: počet uživatelů, doba náběhu testu a počet opakování. Každé zadání obsahuje 5 možností, z toho 3 správné
    • kritérium c) - zadání pokrývají všechny typy testů, uvedených v kritériu (jedno zadání - jeden typ testu)
    • kritérium f) - každé zadání obsahuje 5 možností, z toho 2 správné
    • kritérium h) - tři zadání obsahují vhodné testovací prostředí, dvě nevhodné; příklady diagramů: 1. prostředí je pouze lokální (1 PC s vlastním HW, testovací klient běží na tomto PC) - nevhodné, 2. prostředí je virtualizované (testovací klient běží na stejné VM) - nevhodné, 3. klient běží na jiném PC/VM než testovaná aplikace a mezi koncovými body je dobře propustná síť - vhodné.
    • kritérium i) - každé zadání obsahuje 5 možností, z toho 2 správné. Mezi uvedenými možnostmi se musí vyskytovat tyto parametry: výkon klienta, výkon serveru a propustnost sítě.
  • Používání průběžné integrace
    • kritérium c) - každé zadání obsahuje 5 možností, z toho 2 správné
    • kritérium i) - každé zadání obsahuje 5 možností, z toho 2 správné. Mezi správnými odpověďmi musí být na výběr tyto možnosti: zrychlení sestavení (buildu), vyšší pokrytí kódu automatickými testy, zrychlení automatizovaných testů, zlepšení stability testů.

Pro zkoušku autorizovaná osoba zajistí náhodné vygenerování jednoho zadání pro každé z uvedených kritérií. Splnění každého kritéria vyžaduje určení všech správných možností.

 

Praktické předvedení s ústním ověřením

Jedná se o následující kritéria v rámci uvedených kompetencí:

  • Orientace v základech automatizace testování
    • kritéria e), j), k)
  • Testování kvality zdrojových kódů
    • kritéria g), h), i)
  • Integrační testování
    • kritérium l)
  • Automatizované testování uživatelských rozhraní
    • kritéria e), f)
  • Zátěžové testování
    • kritérium j)

Pro níže specifikovaná kritéria vypracuje autorizovaná osoba pět zadání:

  • Orientace v základech automatizace testování
    • kritérium j)
    • kritérium k) - zadání obsahuje instrukci (zadání databázového dotazu typu SELECT ve volném textu), která popisuje, jaký dotaz je potřeba vytvořit; příklad zadání: databázové schéma obsahuje katalog knih v tabulce “katalog” s atributy “id” (integer), “jmeno” (varchar), “autor” (varchar), “datum_vzniku” (date). Instrukce: vytvořte dotaz, který vyhledá všechna jména knih od autora “Franz Kafka”, které byly vytvořené po roce 1915 (včetně).
  • Testování kvality zdrojových kódů
    • kritérium g) - každé zadání obsahuje 5 možností, z toho 3 správné
    • kritérium h)
    • kritérium i) - každé zadání obsahuje 5 možností, z toho 2 správné
  • Integrační testování
    • kritérium l)
  • Automatizované testování uživatelských rozhraní
    • kritérium e)

Pro kritérium j) kompetence "Zátěžové testování" vypracuje autorizovaná osoba 3 zadání. Jednotlivá zadání pokrývají všechny tři typy grafů uvedených v kritériu.

Pro splnění kritéria, které nabízí různé možnosti, musí být vybrány pouze všechny správné možnosti. Pro zkoušku autorizovaná osoba zajistí náhodné vygenerování jednoho zadání pro každé z uvedených kritérií.

Pro splnění kritéria e) kompetence "Orientace v základech automatizace testování" zajistí autorizovaná osoba notebook nebo PC s operačními systémy Windows a Linux a připojením k Internetu.

Na tvorbě standardu se podíleli

Kvalifikační standard profesní kvalifikace připravila SR pro informační technologie a elektronické komunikace, ustavená a licencovaná pro tuto činnost HK ČR a SP ČR.

 

Na tvorbě se dále podílely subjekty zastoupené v pracovní skupině:

Fakulta informačních technologií ČVUT

AVAST Software s. r. o.

OKsystem, a. s.

ICT Unie