Pouze tento týden sleva až 80 % na e-learning týkající se C# .NET. Zároveň využij akci až 30 % zdarma při nákupu e-learningu - Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Tester? Co že budeš na této pracovní pozici dělat? I.

Testeři jsou často profesní odrazový můstek nově příchozích do IT. Tato pozice totiž nevyžaduje hluboké znalosti programovacích jazyků a některých nástrojů typických pro programátorské pozice, ale lze se z ní pak časem vypracovat na programátora. Nemusíš tedy umět perfektně programovat, abys byl v IT a vydělával fajnové peníze. Náplň práce testerů je opředena mnoha mýty a ani sami lidé v IT někdy netuší, co všechno testeři musí umět a znát. Přitom jsou nesmírně důležitou součástí celého procesu vývoje softwaru a uvádění aplikací na světlo světa.

Co všechno tedy dělají? Co musí tester umět a znát? Jaké testy používají? A jak výsledky zaznamenávají?

Co dělá softwarový tester?

Tester může aplikaci manuálně proklikávat. Nebo může s přesahem do programování psát automatizované testy, které aplikaci proklikávají samy. Může vymýšlet testovací scénáře a výsledkem jeho práce jsou test reporty. Může mít přesah i do managementu a vymýšlet testovací strategie.

Softwarový tester je IT profesionál zodpovědný za testovací fázi vývoje softwaru. Zajišťuje, aby systémy, programy a aplikace fungovaly podle očekávání, píše server indeed.com.

Zřícené letadlo – Nejhorší nehody způsobené špatným testováním

V historii je zaznamenáno několik příkladů, které mluví samy za sebe, proč je testování důležité:

  • Automobilka Nissan stáhla z trhu více než 1 milion vozů kvůli softwarové závadě v senzorických detektorech airbagů. V důsledku tohoto selhání softwaru byly hlášeny dvě nehody.
  • Společnost Starbucks byla nucena uzavřít přibližně 60 % prodejen v USA a Kanadě kvůli selhání softwaru v pokladním systému. V jednu chvíli obchod podával kávu zdarma, protože nebyl schopen zpracovat transakci.
  • Dne 26. dubna 1994 se kvůli softwarové chybě zřítil Airbus A300 společnosti China Airlines a zahynulo 264 lidí.
  • V roce 1985 se v důsledku softwarové chyby porouchal kanadský přístroj pro radioterapii Therac-25, který pacientům dodával smrtelné dávky záření, při čemž zemřeli 3 lidé a 3 další byli těžce zraněni.
  • V dubnu 1999 způsobila softwarová chyba selhání startu vojenského satelitu za 1,2 miliardy dolarů, což byla nejnákladnější nehoda v historii.
  • V květnu 1996 softwarová chyba způsobila, že na bankovní účty 823 klientů jedné z největších amerických bank bylo připsáno 920 milionů amerických dolarů.

O co se tester stará?

Umožňuje odborníkům využívat svou kreativitu a schopnost řešit problémy, aby pomohl uvést do chodu funkční programy a služby.

  • určuje, co je vhodné a nevhodné chování systému
  • sám si vybírá, jaké typy testů a nástrojů je třeba použít
  • vytváří a dokumentuje plán a výsledky testů
  • komunikuje se členy týmu IT a dalšími zainteresovanými stranami společnosti o stavu projektu, rozpočtu a komplikacích
  • píše i návrhy, jak software zlepšit
  • pomáhá zefektivnit aplikaci či software a šetří firmě peníze

Staň se testerem nebo se rekvalifikuj na junior programátora. Vyber si, zda chceš kombinované intenzivní studium, které ti proplatí Úřad práce a získáš osvědčení a juniorské pozice vezmi útokem. Nebo studuj e-learning z pohodlí domova ve vlastním tempu a staň se testerem.

Testovat manuálně, automatizovaně či kontinuálně?

Existují asi 3 hlavní způsoby, jak testeři testují. Jaké nástroje tedy můžeš používat?

Manuální testování – Požíváš to, s čím jsi se narodil

Manuální testování je nejpraktičtějším a také stále nejpoužívanějším způsobem testování. Jednoduše budeš proklikávat klíčové funkčnosti a hlásit chyby, na které jsi narazil. V dnešním rychlém životním cyklu vývoje softwaru je ovšem obtížné manuální testování rozšiřovat.

Automatizované testování – Počítač pracuje a ty...

Ani testování se trend automatizace nevyhnul. Využívá testovací skripty a specializované nástroje.

Automatizované testování pomáhá testerům provádět více testovacích případů a zlepšovat pokrytí testů, což je jaká část z aplikace je testy kontrolována. Při porovnání manuálního a automatického testování platí, že manuální testování trvá déle. Automatizované testování je efektivnější. Proklikávání aplikace provádí počítač podle kroků, které specifikuješ ty jako tester.

Průběžné testování – Fyzická přítomnost se nevyžaduje

Tento způsob testování jde ještě dál a uplatňuje principy automatizovaného testování škálovaným, kontinuálním způsobem. Tyto testy se samy spouští pokaždé, když programátor přidá svůj kód do aplikace. Informace o chybě tedy vůbec nečeká na lidského testera. To je přece super, ne? 😉

Testy ze 3 pohledů

Jednotlivých druhů testů je mnoho. Záleží na konkrétních požadavcích. Vyjmenujeme si ty nejběžnější.

Testování funkčnosti

Kontroluje aplikaci, zda dělá přesně to, co má.

Patří sem:

  • Interaktivní testování (Interactive testing = manual testing) - testování manuálně, tzn. proklikáváš
  • Akceptační testování (acceptance testing) - testuješ, zda koncoví uživatelé (zákazníci) mohou dosáhnout cílů stanovených v obchodních požadavcích = uživatelské akceptační testování (UAT); typicky testuješ aplikace tak, jak s ní pracuje uživatel
  • Integrační testování (Integration testing) - celý integrovaný systém splňuje sadu požadavků a provádí se v integrovaném hardwarovém a softwarovém prostředí; zkoumáš, jak spolu moduly spolupracují jako v celku (např. když kontrolujeme funkce přihlášení a registrace v aplikaci elektronického obchodu, vnímáme je jako samostatné jednotky.)
  • Testování zabezpečení (Security testing)
  • Testování jednotek (Unit testing) - testuješ jednotlivé součásti aplikace zvlášť (např. test jednotky na validaci hesla by obsahoval, zda nejde zadat moc dlouhé heslo, moc krátké heslo, heslo bez speciálních znaků, že se nelze přihlásit se špatným heslem, s nevyplněným heslem apod.)
  • Testování od konce ke konci (End-to-end testing) - testuješ celý určitý proces v aplikaci od začátku do konce včetně všech podsystémů, např. nakoupení v internetovém obchodě
  • Testování černé skříňky (Black-box testing) - testuješ vnější funkčnost sytému, aniž by ses zabýval tím, jak uvnitř funguje; patří sem například Akceptační testy (např. zda se při zadání nesprávného hesla uživateli zobrazí chybová zpráva)
  • Testování bílé skříňky (White-box testing) - testuješ vnitřní funkčnost podle toho, jak je systém uvnitř naprogramovaný; patří sem například Unit testy

Testování výkonu

Ověřuješ připravenost systému podle nefunkčních parametrů (výkon), kterými se funkční testování nikdy nezabývá.

Patří sem:

  • Výkonnostní testování - zkoumáš rychlost, stabilitu, spolehlivost, škálovatelnost a využití zdrojů softwarové aplikace při určitém pracovním zatížení
  • Testování výkonu jedním uživatelem - zajímá tě, zda testovaná aplikace funguje dobře podle zadané prahové hodnoty bez jakéhokoli zatížení systému
  • Smoke testování - ověřuješ kritické funkce programu a tím pádem stabilitu celé aplikace
  • Zátěžové (Load) testování - zjišťuješ, jak se softwarová aplikace chová při současném přístupu velkého množství uživatelů
  • Zátěžové (Stress) testování - testuješ nad rámec běžné provozní kapacity

Testování údržby

  • Regresní testování - testuješ, zda aplikace opět funguje po nějaké změně

Příště

V druhém díle si probereme testerskou dokumentaci. Proč je nutné vše evidovat? Kdo má k čemu přístup? Jak pomáhá zaznamenávání průběhů testů a výsledků společnosti? Jak naopak pomáhá testerovi? To a mnohem více se dozvíš ve druhé části.

Další zajímavé články


 

Všechny články v sekci
Blog ITnetwork.cz
Článek pro vás napsala Tereza Blažková 22. března 19:40
Avatar
Autorka ráda zkouší nové formy online marketingu a má blízko k IT businessu. Díky home officu zvládá mateřství i sledovat rychlý svět technologií.
Aktivity