Sobes.tech
Junior

Znáš nějaké typy testů?

sobes.tech AI

Odpověď od AI

Ano, vím.

Hlavní typy testování:

  • Funkční testování:

    • Test kouře (Smoke Testing)
    • Test rozumnosti (Sanity Testing)
    • Integrační testování (Integration Testing)
    • Systémové testování (System Testing)
    • Regresní testování (Regression Testing)
    • Přijímací testování (Acceptance Testing) - včetně alfa a beta testování.
  • Nefunkční testování:

    • Výkonnostní testování (Performance Testing) - zahrnuje zátěžové, stresové a objemové testování.
    • Bezpečnostní testování (Security Testing)
    • Testování použitelnosti (Usability Testing)
    • Testování kompatibility (Compatibility Testing)
    • Testování spolehlivosti (Reliability Testing)
    • Testování přístupnosti (Accessibility Testing)
    • Testování lokalizace (Localization Testing)
    • Testování internacionalizace (Internationalization Testing)
  • Testování související se změnami:

    • Test kouře (Smoke Testing)
    • Regresní testování (Regression Testing)
  • Strukturální testování (na základě kódu):

    • Modulové testování (Unit Testing)
    • Testování bílého boxu (White Box Testing)
  • Testování na základě zkušeností:

    • Vyšetřovací testování (Exploratory Testing)
    • Testování na základě kontrolního seznamu (Checklist-based Testing)
    • Testování na základě scénářů (Scenario-based Testing)

Příklady použití některých typů:

Typ testování Krátký popis Kdy se používá
Test kouře Kontrola hlavních funkcí po sestavení nebo nasazení. Každé nové sestavení.
Regresní testování Kontrola, že změny nezpůsobily nové vady v existující funkčnosti. Po každé změně nebo opravě vady.
Zátěžové testování Kontrola chování systému při očekávané zátěži. Před spuštěním do provozu, při změnách architektury.
Modulové testování Testování jednotlivých komponent nebo modulů kódu. Ve fázi vývoje, vývojáři.

V automatizaci testování často automatizujeme regresní testy, integrační testy a někdy i testy výkonu a bezpečnosti.

// Příklad jednotkových testů (JUnit)
public class Calculator {
    public int add(int a, int b) {
        return a + b;
    }
}

import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;

class CalculatorTest {
    @Test
    void testAdd() {
        Calculator calculator = new Calculator();
        assertEquals(5, calculator.add(2, 3), "Součet 2 a 3 by měl být 5");
    }
}
# Příklad testu Selenium Webdriver (Python)
from selenium import webdriver

driver = webdriver.Chrome()
driver.get("https://www.google.com")
print(driver.title)
driver.quit()