← Zpět na obsah

** Kapitola pro maturitní obory

Kapitola 11.1**: Automatizované testování

Co se naučíš: Pochopíš rozdíl mezi manuálním a automatizovaným testováním. Naučíš se psát jednoduché automatizované testy a pochopit jejich výhody.

1. Proč automatizovat testování?

Představ si, že jsi vytvořil aplikaci s 50 funkcemi. Pokaždé, když něco změníš, bys musel ručně vyzkoušet všech 50 funkcí, aby ses ujistil, že stará funkčnost stále funguje. To by ti zabralo hodiny!

Automatizované testy jsou malé programy, které testují tvůj hlavní program. Spustíš je jedním tlačítkem a za sekundy ověří, že vše funguje správně.

Příklad z praxe: Velké firmy jako Google nebo Facebook spouští miliony automatizovaných testů každý den. Kdyby testovali ručně, potřebovali by tisíce testerů a trvalo by to týdny.

Výhody automatizovaného testování

Automatizované testování - pyramida testů
Automatizované testování - pyramida testů

2. Typy automatizovaných testů

Existuje několik typů testů, které se liší v tom, co testují a jak podrobně:

Testovací pyramida

Testovací pyramida ukazuje, kolik kterých testů bychom měli mít:

Kontinuální integrace - automatické testování při změně
Kontinuální integrace - automatické testování při změně

3. Struktura testu

Každý test má tři části – AAA (Arrange, Act, Assert):

  1. Arrange (Připrav): Nastav počáteční stav.
  2. Act (Proveď): Spusť testovanou funkci.
  3. Assert (Ověř): Zkontroluj výsledek.

4. Příklad testu v Pythonu

# Funkce k otestování
def secti(a, b):
    return a + b

# Test
def test_secti():
    # Arrange
    cislo1 = 5
    cislo2 = 3

    # Act
    vysledek = secti(cislo1, cislo2)

    # Assert
    assert vysledek == 8, f"Očekáváno 8, ale bylo {vysledek}"

# Spuštění testu
test_secti()
print("Test prošel! ✅")
    

5. Testovací frameworky

Pokrytí kódu testy - code coverage
Pokrytí kódu testy - code coverage

6. CI/CD – Continuous Integration

V moderním vývoji se testy spouštějí automaticky při každé změně kódu:

** Úkoly pro maturitní obory

  1. Python – První test: Napiš funkci odecti(a, b) a test, který ověří, že odecti(10, 3) == 7 a odecti(5, 5) == 0.
  2. Scratch – Automatický test: Vytvoř ve Scratchi blok "RunTests", který automaticky otestuje tvou kalkulačku: 2+2=4, 10-5=5, 3*4=12. Zobraz "Všechny testy prošly" nebo "Test selhal".
  3. Excel – Testovací report: Vytvoř tabulku pro sledování výsledků testů: ID testu, Popis, Očekávaný výsledek, Skutečný výsledek, Status (PASS/FAIL), Datum. Přidej souhrn.
  4. Word – Testovací strategie: Napiš dokument "Testovací strategie" pro aplikaci. Zahrň: co testovat, typy testů, nástroje, kritéria úspěchu.
  5. PowerPoint – CI/CD: Vytvoř prezentaci "Continuous Integration a Continuous Deployment" (10-12 snímků). Vysvětli pojmy, výhody, nástroje (GitHub Actions, Jenkins).
  6. Canva – Infografika: Vytvoř infografiku "Manuální vs Automatizované testování" s výhodami a nevýhodami obou přístupů.
← Zpět na obsah