Skip to main content

Co je to automatizované testování softwaru?

Software je testován, aby se potvrdilo, že všechny platné vstupy jsou správně interpretovány a prováděny, zatímco nesprávné vstupy jsou vyhozeny.Testy také ověřují, že výsledky jsou generovány efektivně, a že s velkým množstvím dat lze zpracovat bez škytavek.Testování lze provádět ručně nebo elektronicky.Automatizované testování softwaru zahrnuje použití specializovaného softwaru pro testování vývoje kódu.Takové testování prospívá procesu vývoje softwaru, pokud jsou aplikovány uvážlivě.

Manuální testy závisí na pečlivosti lidí provádějících testování.Manuální testování softwaru je časově náročné a pro většinu aplikací potřebuje významný poměr testerů k vývojářům.To zvyšuje náklady na rozvoj.Kromě toho manuální testování má omezení, že velké množství dat nebo velké množství současných uživatelů nebo vstupů nelze snadno testovat.

Automatizované testování softwaru programově řídí provádění testů a vyhodnocení výstupu.Testovací software poskytuje vstupy, které odpovídají různým podmínkám, hodnocenému softwaru.Pro každou sadu podmínek porovnává testovací software skutečné výsledky s požadovanými výsledky a udržuje statistiky agregovaného chování cílového softwaru.Po „běhu“ testovací software obvykle poskytuje souhrnné výsledky, aby lidé mohli rychle určit, co napravit.V každém běhu lze testovat obrovské kombinace podmínek.Protože automatizované testování zahrnuje použití počítačů a softwaru, umožňuje také simulaci velkých zatížení vstupních dat nebo extrémně rychlých vstupů.Každý běh řady zkušebních podmínek může být dokončen během několika hodin.Automatické testování je proto velmi užitečné pro regresní testování, což zajišťuje, že nová funkce nebo oprava chyb neúmyslně nepřerušila dříve pracovní kód.

Některé nedávné metodiky vývoje, jako je extrémní programování, zdůrazňují, že testy budou k dispozici před kódováním.Metodiky vývoje zdůrazňují, že regresní testování se provádí několikrát každý den, aby se zajistila správnost softwaru při vývoji.Pokud musí softwarový tým dodržovat tuto metodologii pro jakýkoli významný software, je povinné, aby se použilo automatizované testování softwaru.Jedním ze způsobů, jak toho dosáhnout, je uložit manuální testovací podmínky do softwaru.Dalším způsobem je napsat kód pro generování různých podmínek v rámci přijatelných limitů softwaru, který má být testován.Základem automatizovaného testování softwaru je tedy rozhodně lidské úsilí.Automatizovaný testovací software nemůže překročit tento samostatně.

Automatizované testování softwaru má značné náklady, pokud jde o získání softwaru, a to také při jeho používání.Klíčovými rozhodnutími jsou tedy, zda automatizovat a jakou část testování pro automatizaci.Automatizované testování není vhodné pro funkce a prostředí, u nichž se očekává, že se výrazně změní.Ve většině aplikací je vhodná kombinace manuálního a automatizovaného testování.