Zpět

Automatizace testů: ušetří čas i finance!

18. 04. 2023
CoreApp Technologies s.r.o.
web
server
firemní život
Testování aplikací

Automatické testy jsou důležitou součástí vývojového cyklu softwaru. Pomáhají minimalizovat chyby, zrychlit proces vývoje a zlepšit kvalitu produktu. Co si pod pojmem automatické testování představit? Co přináší za výhody? A kde dochází k největší úspoře času a financí?

Automatizace testů: ušetří čas i finance!

Efektivní využívání času je jeden z předpokladů k tomu, aby se dalo za vývoj ušetřit něco i na straně financí. Jedním z nástrojů, který výrazně pomůže k vyšší efektivitě je automatizování testů a testovacích scénářů. Automatizace testů umožní programátorům rychle a opakovaně ověřit, zda jejich kód pracuje správně a to bez nutnosti manuálního (lidského) ověřování každého kusu kódu. To vede ke zvýšení kvality vývoje softwaru, zkrácení doby na vývoj a snížení nákladů a to ať už na vývoj nebo následnou údržbu a opravu chyb. 

Co je to automatické testování?

Automatické testování softwaru je proces, při kterém se vytvoří skript nebo skupina skriptů (programů), které reprezentují testovací scénaře. Testovací scénář je konkrétní interakce s aplikací s konkrétním výsledkem:

Tato automatizace umožní snadnou a rychlou kontrolu softwarových funkcí a zajišťuje, že se software chová tak, jak bylo definováno v dokumentaci. Automatické testování jde použít na různých úrovních vývoje softwaru jako jsou například unit testy, integrační testy, systémé testy nebo výkonnostní testy.

Kde je největší úspora času a financi?

Představme si scénář, kde máme vývojový tým, který je složený ze 3 programátorů a jednoho manuálního testera. Tento tým nepíše testy, protože si to přece poklikají a to stačí. Případně si to přece pokliká klient.

Programátoři každý den udělají nějakou změnu ve zdrojovém kódu a funkčnosti aplikace. Manuální tester by měl tedy při každé změně ověřit správnou funkčnost přidávané změny a současně ověřit, že přidávaná změna nerozbila to, co funguje ve zbytku aplikace.

Jakmile se aplikace rozroste a bude mít více funkcí k ověřování jako například, správné nahrání a uložení fotky, uživatelské role, odesílání e-mailů, notifikace, více obrazovek s obsahem. Začnou manuální testy trvat dlouho. Tím, že se prodlouží čas lidské práce, tak se začne zvedat i cena projektu. Tím, že tester začne být zavalený testováním jak starých, tak přibývajících nových věcí, tak se začne zvyšovat chybovost a klesat kvalita projektu.

Řešením je automatizace testů a křížové testování

Prvním krokem k řešením problému popsané výše je ověření, zda si vývojáři pišou alespoň unit testy. Jsou to úplně základní testy, které ověřují funkčnost jednotlivých části kódu. 

Následovat by měla automatizace testovacích scénářů. Například se může jednat o scénář, kdy uživatel otevře přihlašovací obrazovku,  vyplní správnou kombinaci e-mailu a hesla. Následně mu aplikace umožní přistoupit k jeho uloženým datům. Zatím co manuální tester by k tomuto scénaři potřeboval při každé změně funkčnosti projektu 2 minuty, správně napsaný automatizovaný test ověří správnou funkcionalitu v řádu vteřin. Navíc se dá pustit kdykoliv - v týdnu, o víkendu, ve dne, v noci. Zkušenější automatizovaný tester zvládne takový test v základním rámci napsat v řádech minut. 

Poté automatické testy řeší, že existující části systému fungují jak mají. Manuální tester je k ruce pro vývojáře pro první kolo testování převážně nových věcí, případně může ověřovat reprodukční scénaře k chybám od klienta. Automatický tester postupně pokrývá nové funkcionality a udržuje existující testy ve stavu, aby měli vypovídající hodnotu.

Best practices v oblasti testování

Následující 3 best practices, kromě automatického testování, se nám osvědčili v průběhu vývoje našich projektu. 

Jak je vidět, automatické testy funkcionality jsou důležitou součástí vývojového procesu a neměli by se opomíjet a zanedbávat. Automatizace může pracovat a testovat software 24 hodin denně, 7 dní v týdnu, nepotřebuje dovolenou a odpočinek. Při správně napsaných testech ověří několikanásobně více scénářů než manuální tester při stejné časové dotaci. Na druhou stranu existují specifické snénaře, kdy se nasazení manuálního testera nevyhneme a je lepší testovat manuálně - příkladem může být ověření reprodukčních scénářů k nahlášeným chybám.

Pokud byste měli zájem o spolupráci v oblasti vývoje nebo testování, tak se na nás neváhejte obrátit.

Mohlo by Vás zajímat:

Zaujali jsme Vás nebo si ještě nejste jistí?
Neváhejte nás kontaktovat!

Další články

5 důvodů, proč si nechat vytvořit profesionální webové stránky

5 důvodů, proč si nechat vytvořit profesionální webové stránky

20. 05. 2023
CoreApp Technologies s.r.o.
web

Mnoho firem a živnostníků, co jsou na trhu už delší dobu, zapomínají na aktualizaci svých webových stránek a svoji webovou prezentaci. I když webové stránky nemusí být jejich hlavním komunikačním a prodejním kanálem, tak zapomínat na online nástroje a komunikaci se může vymstít.

3 nejčastější útoky na WordPress weby

3 nejčastější útoky na WordPress weby

30. 04. 2023
CoreApp Technologies s.r.o.
web
zajímavost

V dalším článku se zaměříme na 3 nejčastější hackerské útoky na Wordpress weby. Popíšeme jak probíhají a v čem jsou nebezpečné. Zmíníme možnou obranu proti nim a taky co dělat, když se s nějakým takovým útokem na našem webu potkáme.

Jaký je rozdíl mezi Alfa a Beta testováním?

Jaký je rozdíl mezi Alfa a Beta testováním?

19. 04. 2023
CoreApp Technologies s.r.o.
zajímavost
Testování aplikací

Alfa a beta testování je součástí vývojového cyklu každého projektu a je jednou z finání fází při při dokončování softwarového produktu před jeho uvedením na trh. Jaký je ale rozdíl mezi těmito testovacími fázemi? A kdo tyto testy provádí?