Maturitarozbory témat
6

Chyby, testování a ladění programu

📚 PRG
Příprava: 15 min
Zkouška: 15 min
📖

Teorie

Typy chyb: syntaktické, překladové, běhové (výjimky), logické. Prevence: typová kontrola, statická analýza, code review. Testování: jednotkové (unit), integrační, systémové, akceptační, regresní, performance. TDD cyklus: Red → Green → Refactor. Ladění: breakpointy, logging, profilování, trace. Metriky kvality: pokrytí testy, mutační testování.

🎯

Tahák

  • 1AAA vzor testu: Arrange–Act–Assert
  • 2TDD: Red/Green/Refactor
  • 3Unit vs. integrační vs. E2E
  • 4Výjimky a jejich zachytávání

Typické otázky u maturity

  • 1Co je mocking a kdy ho použít?
  • 2Jak poznáte flaky test?
🏷️

Klíčová slova

TDDunit testcoveragedebuggerprofilace

Praktická část

Zadání:

Napište jednotkový test pro funkci oddělující unikátní prvky.

Kroky:

  1. 1Definuj vstup s duplicitami
  2. 2Očekávej bez duplicit
  3. 3Ošetři prázdný vstup

Kód:

unique.test.ts
import { unique } from './unique';
test('unique', () => {
  expect(unique([1,1,2,3,3])).toEqual([1,2,3]);
  expect(unique([])).toEqual([]);
});
unique.ts
export const unique = <T>(a: T[]) => Array.from(new Set(a));