Zpět na znalosti

Zkušenosti

Testování a kvalita kódu

Kvalitu kódu neberu jako poslední krok před odevzdáním. Testy, statická analýza a architektonické kontroly mi dávají rychlou zpětnou vazbu už během vývoje.

  • PHPUnit 13
  • PHPStan Max
  • PHPStan Strict Rules
  • ECS
  • Deptrac

Každý typ kontroly má jinou úlohu.

Unit testy chrání pravidla a hraniční případy v malé části systému. Integrační testy ověřují skutečné chování na hranicích — například spolupráci s databází, Redisem nebo externí infrastrukturou.

PHPStan, coding standards a Deptrac doplňují testy o věci, které se při ruční kontrole snadno přehlédnou: nesprávné typy, nechtěné závislosti, porušení vrstev nebo nekonzistentní styl.

Co jednotlivé kontroly pokrývají

Více vrstev ochrany pro různé druhy chyb.

  1. Unit testy

    Pravidla, rozhodování a hraniční případy

    Jednotkové testy používám pro malé, rychlé a dobře izolované ověření. Hodí se pro doménová pravidla, value objects, převody dat a scénáře, u kterých chci mít jistotu při každé změně.
  2. Integrační testy

    Databáze, Redis a infrastruktura

    Když je důležitá skutečná spolupráce komponent, samotný mock nestačí. Integrační testy ověřují kontrakty na hranicích aplikace, včetně databázových operací, Redis locků nebo HTTP vrstvy.
  3. Statická analýza

    Typy a chyby před spuštěním

    PHPStan na vysoké úrovni a strict rules zachytí mnoho problémů ještě před spuštěním aplikace. Má význam zejména při změnách rozhraní, refaktoringu a práci s komplexnějšími datovými typy.
  4. Architektura a styl

    Dlouhodobě čitelný a udržitelný kód

    CodeSniffer, ECS a Deptrac hlídají společná pravidla a závislosti mezi vrstvami. E2E testy v Playwrightu pak doplňují obraz o skutečné cestě uživatele v prohlížeči.

Průběžná zpětná vazba

Kontroly volím podle rizika a povahy změny.

Ne každá úprava potřebuje kompletní sadu testů. U změny doménového pravidla upřednostním unit test, u úpravy infrastruktury integrační test a u uživatelského toku ověření v prohlížeči.

Statická analýza, standardy a architektonická pravidla běží vedle testů — nenahrazují je, ale zachycují jiný druh chyb.

Aplikační změna

Rychlá zpětná vazba při vývoji

  1. Unit test relevantního pravidla
  2. Integrační test hranice
  3. PHPStan a coding standards
  4. Deptrac pro architektonické závislosti

Uživatelský tok

Ověření chování navenek

  1. HTTP nebo feature test
  2. Kontrola databázového výsledku
  3. Playwright pro prohlížeč
  4. Automatizovaná kontrola v CI

Používané nástroje

Testování, analýza a architektonické kontroly

  • PHPUnit 13
  • PHPStan Max
  • PHPStan Strict Rules
  • PHP_CodeSniffer
  • Slevomat Coding Standard
  • ECS
  • Deptrac
  • Playwright

Chcete bezpečněji rozvíjet existující aplikaci?

Rád pomohu zavést smysluplné testy a kontroly kvality nebo projít, kde dnes v aplikaci chybí důležitá zpětná vazba.

Zavolejte mi

Zavolám vám následující pracovní den mezi 9:00 a 17:00.

Můžete mi také zavolat rovnou.

+420 605 181 728

Nechte mi telefonní číslo a pošlete žádost o zpětné zavolání.

Odesláním souhlasíte se zpracováním údajů pro vyřízení žádosti.