Pojem

Automatizované testovanie

Overovanie správnosti softvéru programami, ktoré po každej zmene samy spustia sadu testov, od jednotkových po celé scenáre používateľa. Umožňuje častejšie a bezpečnejšie nasadzovanie a odhalí, keď zmena pokazí už fungujúcu časť.

Aktualizované

Čo to znamená

Automatizované testovanie znamená, že správnosť softvéru overujú programy, nie ľudia klikaním. Testy sa spúšťajú automaticky po každej zmene kódu a okamžite ukážu, či niečo prestalo fungovať.

Rozlišujú sa jednotkové testy pre jednotlivé funkcie, integračné testy pre spoluprácu častí systému a end-to-end testy, ktoré simulujú celý postup používateľa, napríklad objednávku v e-shope. Spolu tvoria sieť, ktorá zachytí väčšinu chýb.

Testy sú súčasťou CI/CD a kultúry DevOps. Umožňujú nasadzovať zmeny často a bezpečne, lebo každá úprava prejde rovnakou kontrolou ako pri prvom vydaní.

Ako to funguje v praxi

Pri zákazkovom vývoji je dobré dohodnúť v zmluve, že dodávateľ odovzdá aj testy a ich pokrytie bude v určitej miere. Bez nich je každá ďalšia úprava rizikovejšia a drahšia.

Testy bežia v stagingu alebo v izolovanom prostredí s testovacími dátami. Ak systém pracuje s osobnými či finančnými údajmi, testovacie dáta by mali byť anonymizované.

Práca na testoch je nákladom vývoja. Ak firma vyvíja softvér pre seba a aktivuje ho ako nehmotný majetok, náklady na testy pred jeho uvedením do používania môžu byť súčasťou obstarávacej ceny.

Na čo si dať pozor

Zelené testy nezaručujú bezchybný softvér, len to, že funguje to, čo testy overujú. Ak chýbajú testy pre kritické výpočty, napríklad daní či cien, chyba sa dostane k zákazníkom bez varovania.

Zanedbané a nespoľahlivé testy, ktoré náhodne padajú, tím začne ignorovať a stratia zmysel. Ich údržba je súčasťou splácania technického dlhu, nie zbytočným luxusom.

Potrebujete pojem vysvetliť na vašej konkrétnej situácii? Konzultácie od 55 € / hodina bez DPH, podľa témy a zložitosti.