Automatizované testovanie merge requestov

Naspäť

Pri prezeraní merge requestov by sa mal reviewer sústrediť hlavne na to, či je business logika správne implementovaná a neriešiť, či je kód správne odsadený, či sú balíčky aktualizované, či autor niekde nezabudol debug výpisy, alebo či nepoužil nesprávnu PHP syntax. S týmto mu môžu pomôcť rôzne nástroje, ktoré spomínaný proces zautomatizujú.

Všetko, čo sa dá zautomatizovať, zautomatizujte. Nemusíte to robiť naraz, ale postupne presúvajte zodpovednosť za jednotlivé úlohy z reviewera na automatizované testy. U nás beží množstvo takýchto testov. Niektoré sme napísali sami pre naše potreby a vydali ako open source balíčky, iné sme len nainštalovali a použili.

Testujeme nasledovné veci:

  • PHP syntax - PHP 7.1 až PHP 7.4 (php -l) (keďže používame na rôznych environmentoch rôzne verzie PHP, musíme kontrolovať všetky verzie)
  • Latte syntax + PHP syntax skompilovaných šablón - PHP 7.1 až PHP 7.4 (Latte syntax checker)
  • Validnosť *.neon súborov (Neon checker)
  • Aktuálnosť balíčkov v composeri - PHP 7.1 až PHP 7.4 (Composer)
  • Validnosť composer.lock súboru (Composer)
  • Bezpečnosť balíčkov v composeri (SensioLabs Security Checker)
  • Coding style (PHP_CodeSniffer)
  • Statická analýza (PHPStan)
  • Zabudnuté debug výpisy var_dump, bardump a pod. (PHP VarDump Check)
  • Výskyt "magických čísel" (PHP Magic Number Detector)
  • Test vygenerovania configu zo šablóny
  • Test databázových migrácii (Phoenix)
  • Výskyt tabov (všade používame medzery) (grep)
  • Či máme všetky PHP rozšírenia použité v kóde spomenuté v composeri (PHP extensions finder)

Radi by sme zaviedli aj ďalšie nástroje, ktoré by nám umožnili testovať:

Vymyslieť sa toho dá naozaj veľa. A hoci zo začiatku sa vám budú zdať niektoré testy otravné, budete im vďační, keď nájdu chyby, ktoré ste si vy ako autor ani reviewer nevšimli.

A čo testujete vy? Podeľte sa s nami v komentároch a inšpirujme sa navzájom.

Komentáre

Kontaktujte nás

Neviete správne uchopiť online prezentáciu Vašej spoločnosti? Potrebujete konzultáciu alebo audit doterajších aktivít?