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ť:
- API na základe dokumentácie (Dredd)
- Prítomnosť changelogu v každom merge requeste
- Či sú preložené všetky kľúče do všetkých podporovaných jazykov (Translation automatization)
- Niektoré pravidlá z PHP Mess Detectora
- Porušenie spätnej kompatibility (Backward Compatibility Check)
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?