O kurzu

Vítáme Tě u prvního z kurzů Nauč mě IT,

v tomto kurzu Tě naučíme, kdo je to vlastně tester, jak vypadá základ jeho práce a co je potřeba znát proto, aby ses takovým manuálním testerem webových aplikací mohl stát.

Ve všech našich kurzech vycházíme nejen z vlastních vědomostí a zkušeností, ale taky z už existujících zdrojů. Nelekni se, když narazíš na odkazy na jiné stránky a neboj se je využít. Skrývají se za nimi další a podrobnější informace k tématům, která budeme probírat.

Nebudeš v tom ale sám jen s texty a odkazy. Když si nebudeš vědět rady, obrať se na nás na Discordu, kde se Tě ujme jeden z našich koučů. A nyní už k věci.

Kdo je to tester?

Pro správné pochopení toho, kdo je to tester, si musíme na začátek vysvětlit něco málo ze širší teorie a s tím souvisí několik pojmů.

Prvním z nich je hardware. Hardware je tvořen technickým vybavením počítače, jinak řečeno tou částí, do které můžeme v případě potřeby kopnout.

Druhým pojmem je software, jedná se o programové vybavení počítače, jednoduše vysvětleno je to ta součást, které se nemůžeme dotknout.

Vyvinout software v dostatečné kvalitě, která uspokojí valnou většinu uživatelů, je náročné. Zabývá se tím odvětví informatiky zvané softwarové inženýrství. Proces vývoje softwaru rozhodně není jednotný. Existuje mnoho způsobů, jak k vývoji přistupovat, některé si můžeš prohlédnout například na Wikipedii - Proces vývoje softwaru, my si to vysvětlíme velmi zjednodušeně.

Na začátku je myšlenka. Myšlenka v podobě požadavku zákazníka nebo trhu.

Myšlenku je třeba zformulovat do jasných a srozumitelných vět a než věty dáme na papír a vytvoříme návrh, musíme vyladit chyby v překladu a vysvětlit si nedorozumění. Jinak řečeno získat co nejvíce informací k požadavkům a očekáváním vzhledem k softwaru. Více o analýze požadavků se můžeš dozvědět na Wikipedii a na webu společnosti Algomica.

Na základě vypracovaného návrhu se do práce na vývoji pouští programátor. Vedle samotného softwaru je třeba vypracovat v průběhu vývoje i po něm dokumentaci, která není důležitá jen pro uživatele, ale i třeba právě pro testery. Více o dokumentaci zaměřené na testery si můžeš přečíst na webu Testování softwaru.

Nakonec je vhodné software udržovat.

Proces vývoje softwaru můžeme připodobnit například ke stavbě domu:

  1. Představa domu (myšlenka)
  2. Přednesení představy projektantovi (analýza požadavků)
  3. Projektant vytvoří projekt (vytvoření návrhu)
  4. Zedníci dům postaví (práce programátora)
  5. Stavební dozor průběžně kontroluje kvalitu (práce testera)
  6. Úředník řekne, že je dům vhodný pro bydlení (potřebuje doklady - dokumentaci)
  7. Dům je třeba udržovat aby nezchátral

V naší metafoře je tedy tester onen stavební dozor.

Tester je důležitou součástí procesu vývoje. Lze postavit dům bez dohledu stavebního dozoru? Pravděpodobně ano. Ovšem s rizikem, že nám spadne na hlavu a opravy budou mnohem časově i finančně nákladnější než přizvání onoho dohledu.

Zároveň je dobré podotknout, že o co snadnější je odhalovat chyby před definitivním dokončením prací, o to nákladnější je jejich náprava, jakmile je dům hotový. Nikdo nemá radost, když mu musí elektrikář vysekat díru do stěny v nově vymalovaném pokoji.

Obdobně to funguje i v případě softwaru.

Tester může do projektu naskočit v různých fázích vývoje. Může se zapojit už u samotné specifikace požadavků, zrovna tak může být přizván k již hotovému produktu. V nejlepším možném případě je ovšem přítomen od začátku do konce.

Pokud stále tápeš, kdo je tester si můžeš přečíst ve článku od Radka Kitnera.

Z jakého důvodu je nezbytný?

Ve vývoji platí, že čím později je chyba nalezena, tím víc stojí její oprava.

A cena takové chyby, nemusí být nutně vyčíslena jen ve financích. Utržit může taky reputace firmy a v nejhorším případě hrozí ztráta zákazníka.

Testování je jen jedna disciplína pro zajištění kvality. Odvětví Quality Assurance (zajištění kvality) má velký záběr a v praxi je velmi důležité.

Další důvody, proč řešit kvalitu se dozvíš v článku na webu Kitner.

Proč se stát testerem?

Představ si vědce v laboratoři, který dostal za úkol ověřit vlastnosti nového produktu na trhu. Teď zkouší v té laboratoři, dělá chemická, fyzikální i jiná kouzla. Protože může zkoušet odolnost materiálu, jestli je to elektricky vodivé. Tester je takový zvídavý a pečlivý vědec v laboratoři. Jen jeho laboratoří je prohlížeč. Testerovou prací je provádět podobná kouzla jako výše zmíněný vědec, aby zjistil, jestli vše funguje, jak má. Pokud mu to bouchne pod rukama, je něco špatně a je potřeba s tím něco dělat.

Co se naučíš v průběhu kurzu?

  1. HTML a CSS
  2. Vývojářské nástroje - práce s HTML a CSS
  3. Úvod do programování - JavaScript
  4. Datové typy v JavaScriptu
  5. Vývojářské nástroje - práce s JavaScriptem
  6. Requesty
  7. Pokročilé vývojářské nástroje
  8. Verzování souborů - Git
  9. Pojmy týkající se testování
  10. Testování v praxi

Kurz je koncipován jako série 10 kapitol. První kapitola je zaměřená na úpravu dokumentů (webových stránek) pomocí HTML a CSS, aby to pochopil tvůj prohlížeč. Ve druhé kapitole se seznámíš, s tajnou zbraní testera - vývojářskými nástroji. Uvidíš, jak pomocí nich pracovat s HTML a CSS.

Třetí a čtvrtá kapitola odhalí základy programování. Seznámíš se se základy JavaScriptu - jazyka, kterému rozumí webový prohlížeč. V páté kapitole se dozvíš, jak pomocí vývojářských nástrojů využít JavaScript pro svou práci. Šestá kapitola je zaměřena na HTTP Requesty, na dotazy, kterými prohlížeč získává data pro webovou stránku či aplikaci. V sedmé kapitole se naučíš další kouzla s vývojářskými nástroji. V osmé kapitole se řeší verzování souborů. Seznámíš se s verzovacím systémem Git.

Pojmy týkající se testování se probírají v deváté kapitole. Pojmy nestačí pro představu práce testera. V desáté kapitole dostaneš prostor ukázat své znalosti při testování jednoduché aplikace. Nakonec dostaneš zpětnou vazbu na vypracování desáté kapitoly.