Jaký typ testování je pro váš projekt ten správný? Manuální nebo automatické.


V článku Proces vývoje software jsme se zmínili, že jedním z procesu vývoje software je TESTOVÁNÍ. Testování můžeme rozdělit na manuální testování softwaru a automatické testování softwaru. Co ovšem testování vůbec znamená?


Pod samotným pojmem TESTOVÁNÍ si méně zainteresovaní lidé mohou představit takové to pouhé “klikání”. Tento pojem je ovšem velice neodborný a nepřesný. Testování je velmi důležitá a vlastně i nepostradatelná součást celého procesu vývoje software. V dnešní době konkurence každodenně narůstá. Je důležité dodat zákazníkovi kvalitní produkt, protože dodání kvalitního produktu vede na jedné straně ke spokojenosti zákazníka a na straně druhé k větší ziskovosti.


Je tedy otázkou, pro jaký typ testování se rozhodnout?


Některé chyby není možné ignorovat. Jako příklad je možné uvést software pro správu pacientů, ve kterém jsou uchovávány záznamy všech pacientů - diagnózy, léky, plánované návštěvy apod. Pokud je v záznamu nějaký nesoulad, může dojít k poškození zdraví pacienta. Takže v tomto případě je testování velmi důležité.

Samotné rozhodnutí mezi automatickým a manuálním testováním závisí na několika faktorech:
  1. Velikost projektu.
  2. Rozpočet projektu.
  3. Lidské zdroje.
  4. Jak často by měly být testy prováděny.
  5. Změny v kódu.
  6. Testovat paralelně nebo postupně.
  7. Jak provést náhodné testování.
  8. Testování obrázků a písma.
  9. Poskytnutý čas.
  10. Počet testerů, kteří chtějí vidět výsledek.
  11. Nalezení skutečných uživatelských problémů.
  12. Layout a použitelnost systému.
  13. Typ softwaru.
  14. Zatížení.
  15. Testování grafického uživatelského prostředí.

Nyní si jednotlivé faktory rozebereme trošku podrobněji…


1.Velikost projektu
Pokud se jedná o velký a složitý projekt, automatické testování se jeví jako nejlepší volba. Ovšem pokud je projekt malý, může být snadno otestován manuálně. Jako příklad si můžeme uvést rozsáhlý interní systém, který může obsahovat spoustu formulářů, filtrů a jiných akcí, ktery je kvůli úspoře času lepší testovat automaticky.


2. Rozpočet projektu
Pokud je rozpočet na projekt malý, je manuální testování upřednostněno před automatickým testováním, které je nákladnější.


3. Lidské zdroje
Je-li dostatečné množství testerů, lze provést manuální testování jednoduše. Pokud je ovšem méně testerů, automatické testování je nejlepší volbou.


4. Jak často by měly být testy prováděny
Pokud musí být webová nebo mobilní aplikace testována často, zvolte raději automatické testování. Jestliže potřebujete otestovat svůj systém/aplikaci jednou za čas, použijte manuální testování.


5. Změny v kódu
Pokud jsou změny v kódu často prováděny, je třeba zvolit automatické testování. Úpravou jedné části systému může dojít k poškození jiné části systému. V tomto případě je žádoucí otestovat veškerou funkcionalitu systému. Toho snadno dosáhnete právě použitím automatického testování.


6. Testovat paralelně nebo postupně
Potřebujete testovat systém ve stejný čas, ale na různých počítačích? Pokud ano, vaší volbou je automatické testování, protože v případě manuálního testování musíte provést testování postupně.


7. Jak provést náhodné testování
V případě, že potřebujete náhodně zkontrolovat nějaké zobrazení, je lepší zvolit manuální testování. Čím víc si při testování pohrajete s funkcí softwaru, tím víc chyb můžete najít. Je potřeba, aby i sám tester byl kreativní.


8. Jak testovat velikost obrázku a písma.
Automatickým testováním není možné otestovat obrázky a velikosti písma. Tyto funkce lze testovat pouze ručně.


9. Poskytnutý čas
Byla vám poskytnuta krátká doba pro testovací fázi? V tomto případě je nejlepší automatické testování, které šetří čas. Zároveň automatické testování vyřešilo problém s vyplňováním stejných formulářů stále znovu a znovu. Ruku na srdce, stále opakující se vyplňování stejných formulářů může být frustrující.


10. Počet testerů, kteří chtějí vidět výsledek
Když jeden tester provádí manuální testování, zbytek týmu nevidí výsledek. U automatického testování se může do systému přihlásit více lidí a sledovat výsledek takového testování.


11. Nalezení skutečných uživatelských problémů
Nástroje pro automatické testování jsou něco jako robot, ve kterém jednou napíšete testovací skripty, které jste provedli podle požadavků. Není zde potřeba žádného lidského úsudku. U manuálního testování je cílem testera najít chyby v softwaru. Je to právě on, kdo používá software jako koncový uživatel. Hledá chyby v softwaru tak, že se pokouší za použití neočekávaných scénářů jej rozbít.


12. Layout a použitelnost systému
Layout a použitelnost jsou testovány pouze manuálně, jelikož je v obou případech nutné pozorování. Při testování systému se tester musí zároveň považovat za koncového uživatele, aby se zjistilo, zda je systém uživatelsky přívětivý.


13. Typ softwaru
Velmi záleží na tom, jaký typ softwaru vyvíjíte. U některých je kladen větší důraz na vizualizaci - zde je lepší zvolit manuální testování. Zatímco v případě softwaru, který je zaměřen na vyplňování formulářů a jiných opakujících se akcí, kde zadáváte ty samé údaje opakovaně - zde je jasnou volbou automatické testování.


14. Zatížení
Automatické testování pomáhá při zátěžových testech, kapacitních testech, stresových testech. Představte si například systém, kde bude současně pracovat 100 uživatelů. Takže abychom zkontrolovali funkčnost systému, zatížíme systém více jak 100 uživateli.


15. Testování grafického uživatelského prostředí
Pro testování grafického uživatelského prostředí je nejlepší zvolit automatické testování. Existuje mnoho nástrojů, které se používají pro nahrávání akcí uživatelů a jejich opakované spouštění. Je to užitečné pro porovnání skutečných a očekávaných výsledků.


ZÁVĚR

Nelze s určitostí říct, jaký typ testování je lepší. Nejdůležitější je použít správné testování na správném místě, ve správný čas a ve správném prostředí. V iQuest provádíme důkladné testování automatizovanými nástroji i precizními testery.

Komentáře

Populární příspěvky z tohoto blogu

Jak vybrat dokonalého vývojáře mobilních aplikací?

Proces vývoje software

Proč Váš startup potřebuje MVP(minimal viable product)?