Role manuálního testera v softwarovém vývoji | robot_dreams Czech
should_authorize_via_email
email.input_code tel.input_code
 
email.code_actual_for tel.code_actual_for
apply_exit_text
session_ended
to_homepage
Role manuálního testera v softwarovém vývoji

Role manuálního testera v softwarovém vývoji

Má manuální tester budoucnost ve světě automatizace?

Rozvoj technologií jde neustále kupředu a řada úkolů se dnes automatizuje. Automatizované testování dává smysl v rámci rutinních úloh, ale dá se zcela nahradit lidský faktor při vývoji softwaru? V článku se proto zaměříme na to, proč je manuální tester stále nepostradatelnou součásti vývoje softwaru.

Co je podstatou testování softwaru?

Testování softwaru přichází na řadu ve finální fázi vývoje. Nejčastěji se provádí před uvedením produktu na trh. Jde o klíčovou součást v celém procesu, a tak se nedá ověření bezchybnosti a funkčnosti softwaru jen tak přeskočit. Kdyby se ale firmy řídily pouze touto poučkou, tak by v dnešním světě neobstály, protože řada společností provádí manuální i automatické testování v každém vývojovém sprintu.

Testování softwarového produktu se provádí především proto, aby bylo zajištěno, že vše funguje správně i jako celek, pokud se aplikace nebo software rozšiřuje. V celém procesu pak důležitou roli hraje manuální tester, který lépe chápe jednotlivá pojítka.

Proč je manuální testování při vývoji softwaru stále důležité?

Ačkoliv při vývoji softwarové týmy používají pokročilé automatizované testovací nástroje, které dokážou optimalizovat aplikaci, manuální tester zůstává nezbytnou součástí procesu. Proč je tento člověk v týmu důležitý, ti povíme na následujících řádcích.

Automatizované testování není vždy 100%

Ačkoliv to může být překvapivé, tak automatizované testování softwaru není vždy stoprocentně přesné. Stejně jako u každého softwaru mohou i tyto nástroje dělat chyby a občas se jim nepodaří otestovat aplikaci tak, jak je potřeba.

Špatně navržený testovací skript nadělá více chyb, než aby pomohl při kontrole softwaru. Jedním z častých neduhů špatně navržených automatizací je považování správných funkcí za nefunkční a naopak chybných za správné. 

Třebaže automatizované testování softwaru představuje spolehlivý způsob, jak zefektivnit opakující se postupy a eliminovat nadbytečné úkoly pro softwarové tester, nemůže plně nahradit lidský intelekt a logiku při testovacích postupech. Automatizované testy jí umí pouze napodobit, ale už nedokážou vytvářet inovativní skripty pro řešení složitých anomáliích. Pro tyto případy bude vždy potřeba manuální tester.

Manuální tester chápe lidské potřeby

Důvod, proč společnosti vyvíjí softwarová řešení, je, aby uspokojily lidskou potřebu. Právě manuální testeři předčí jakýkoliv algoritmus v situaci, kdy je potřeba odhadnout chování uživatelů. To může zahrnovat: jak se software používá a zdali je tu prostor k tomu, aby se uživatel v aplikaci choval jinak, než se od něj očekává.

Manuální tester dokáže rozpoznat, jaké cesty jsou při používání softwaru pro uživatele klíčové a které naopak může přehlížet. Na základě těchto poznatků pak může určit, v jaké fázi se člověk zasekne, kdy je toho na něj moc (po stránce funkcí a možností) a v jakém kroku rezignuje na používání softwaru.

Vizuální instinkt vs. algoritmus

Designové zpracování softwaru, jako je barva, písmo, velikost, kontrast nebo tlačítka, nedokáže algoritmus posoudit. Pouze člověk může určit, zdali barvy odpovídají požadavkům, navržené prvky fungují správně a vše je v souladu s vizuálním zpracováním, které klient nebo uživatel očekává.

Spoléhat se nedá ani na automatizované testovací sady, které mají za úkol určit, zda umístění prvků na stránce vypadá stejně na všech mobilních zařízeních, v prohlížečích a operačních systémech – často totiž nefungují dobře. Některé automatizované skripty vyžadují testy založené na souřadnicích X a Y prvků, které se mění v závislosti na rozlišení obrazovky.

Průzkumné testování

Průzkumné testování spadá do kategorie, kdy vývojáři chtějí plně otestovat potenciál aplikace nebo softwaru. Při tomto procesu se používají různé scénáře, které pomáhají identifikovat, zdali se stane něco, co se nedá předem předvídat. V takovém případě bývá obtížné vybrat automatizovaný testovací scénář, který by danou situaci ověřil nejlépe. Při komplexním testování je výrazně lepší dávat přednost manuálnímu testování.

Kdy potřebuje software otestovat manuálně?

Manuální testování je užitečné v mnoha situacích, a to zejména u projektů, kde to automatizované není možné. Níže ti proto uvádíme příklady projektů, které se bez lidské kontroly neobejdou.

1) Aplikace a funkce, které se nedají otestovat počítačem

Existují i scénáře, při kterých automatické testování nebude k užitku. Zejména pak ve chvíli, kdy je potřeba lidský vstup, který počítač nedokáže bezchybně vyhodnotit. Příkladem je fitness tracker nebo testování ovládání, které vyžaduje dotyk, například testování gest v mobilní aplikaci. Automatizovaný test nedokáže přesně napodobit pohyb prstů po obrazovce nebo správnost hodnot, které se měří.

2) Testování uživatelské zkušenosti

Uživatelská zkušenost (často označována jako UX) je neodmyslitelnou součástí každého softwaru. K jejímu vyhodnocení vždy budou zapotřebí lidští testeři, kteří dokážou přesně vyhodnotit to, jestli je aplikace přívětivá, jak snadno se používá a zda se v ní nenacházejí místa, která je potřeba vyladit.

3) Při agilním vývoji softwaru

V agilním prostředí musí testeři softwaru pracovat s neustálou zpětnou vazbou a přizpůsobovat se měnícím se požadavkům na uživatelské rozhraní, vývoj produktu a v nejhorších případech i na základní funkce. Tyto změny často ovlivňují i skripty pro regresní testování v agilním prostředí.

Není tedy překvapením, že i typické příklady automatizovaného testování mohou nakonec v agilním prostředí vyžadovat různé změny. Riziko změny požadavků navíc může vést i k plýtvání cennými zdroji, obzvlášť pokud musí testovací tým kompletně přepsat předem napsané testovací případy.

4) U malých projektů

Software pro automatizované testování není zdarma. Kromě toho je potřeba počítat s náklady na správu a údržbu těchto nástrojů. Na celkové ceně se pak také promítnou nové testovací skripty.

Projektoví manažeři musí menší projekty realizovat s omezeným rozpočtem. Náklady spojené s automatizovaným testováním mohou u malých projektů výrazně snížit příjmy. Investice do tohoto řešení se vyplatí pouze tehdy, pokud se plánuje dlouhodobý projekt, a to zejména s vysokou prodejností.

Proč to zatím bez manuálního testování nepůjde?

Manuální testeři zkoumají aplikace, které jsou navrženy pro lidi a jsou jimi používány. Jako takové jsou vytvářeny s ohledem na emoce, potřeby a myšlenkové vzorce, které ovlivňují, jak uživatelé přeskakují z jedné funkce na druhou. U herního softwaru jsou tyto nuance ještě důležitější kvůli faktoru zábavy.

 Dokážeš si představit roboty, kteří tyto faktory vyhodnocují? Proto je budoucnost manuálního testování softwaru důležitá součást celkového procesu testování, ve kterém najdeš místo i ty. Pokud se chceš stát součástí vývoje v IT, rozhodně prozkoumej naše kurzy.

Autor: Martin Šlat

Více článků
A proč je užitečná pro každého, kdo pracuje s computer vision
Kde můžeš začít navazovat vztahy s lidmi se zájmem o IT?