Lekce 1 - Úvod do automatizovaného testování softwaru
Vítejte v první lekci kurzu automatizovaného testování, ve kterém se naučíme vytvářet automatizované testy pomocí Selenia. Vyzkoušíme si testování backendové části REST API, seznámíme se s základy CI/CD a vyzkoušíme si práci s GitHub Actions.
V tomto tutoriálu kurzu praktického testování projektů si představíme hlavní výhody automatizovaného testování oproti manuálnímu přístupu. Připomeneme si, jak pracovat s nástrojem Jira, a seznámíme se s konkrétními testovacími případy, na které se v průběhu kurzu zaměříme. Ukážeme si také, jak vypadá testovací projekt a jak spustíme jeho klientskou i serverovou část.
Úvod do automatizovaného testování softwaru
S rostoucí složitostí softwarových systémů a zrychlujícím se vývojovým cyklem se testování stává nedílnou součástí moderního vývoje. Manuální testování je sice důležité, ale bývá časově náročné, náchylné k lidským chybám a hůře škálovatelné. Právě zde přichází ke slovu automatizované testování, které umožňuje efektivní, rychlé a opakovatelné ověřování funkčnosti aplikací.
Automatizované testy výrazně zkracují čas potřebný k regresnímu testování, minimalizují riziko opomenutí chyb a celkově zvyšují kvalitu softwaru. Navíc umožňují vývojářům i testerům rychle reagovat na změny v kódu a ihned ověřit, zda nové úpravy neovlivnily stávající funkcionalitu.
Minimální požadavky
Pro úspěšné absolvování kurzu je nutná znalost jazyka Python alespoň v rozsahu našich kurzů:
Z oblasti testování předpokládáme také znalosti z kurzů:
Na poslední z uvedených kurzů tento kurz přímo navazuje. I když si některé klíčové principy z oblasti manuálního testování krátce připomeneme, bez základní orientace v problematice praktického testování nebude možné plně porozumět probíraným tématům.
Očekáváme, že účastníci už mají zkušenosti s návrhem testovacích případů, orientují se v Jiře a rozumí základům testovacího procesu, na které v tomto kurzu přímo navazujeme a dále je rozvíjíme směrem k automatizaci.
Pokud máte za sebou kurz Praktické testování projektů - Manuální testování, zbývající část lekce přeskočte.
Zprovoznění testovacího projektu
Pracovat budeme s projektem fakturačního systému, který si za chvíli představíme. Zatím si ho stáhneme v archivu pod touto lekcí a rozbalíme.
Představení projektu
Fakturační systém se skládá ze dvou částí:
- Klientské části, která spravuje uživatelské rozhraní (front-end) a je napsána v javascriptovém frameworku React.
- Serverové části, jež řídí hlavně ukládání a získávání dat (back-end) a jež je napsána v Python frameworku Django.
Databáze faktur obsahuje osoby (podnikatele), které vystupují jako odběratelé nebo dodavatelé:

Na obrázku výše vidíme seznam těchto osob s možností zobrazení detailu, úpravy nebo smazání záznamu. Můžeme samozřejmě také přidat novou osobu.
Pod záložkou Faktury nalezneme přehled všech faktur:

Faktury lze filtrovat podle ceny, názvu odběratele, dodavatele nebo textu v popisu. K dispozici je i přehledná souhrnná a roční bilance.
Obě části projektu (klient i server) jsou k dispozici ke stažení v archivu této lekce.
Spuštění projektu
Začneme spuštěním serverové části postavené na Django REST Frameworku v Pythonu.
Vzhledem k tomu, že Python je prerekvizitou tohoto kurzu, předpokládáme, že jej již máte nainstalovaný. Pokud nikoliv, můžete si jej stáhnout z oficiálních stránek https://www.python.org/downloads/.
Node.js
Pro spuštění klienta na našem lokálním počítači budeme potřebovat Node.js. Jedná se primárně o prostředí umožňující tvorbu serverové části webových aplikací v JavaScriptu a také o mocného správce balíčků, prostřednictvím nějž se instalují nejrůznější javascriptové knihovny. My nebudeme mít klienta nahraného nikde na internetu, ale na našem lokálním počítači jako serverovou část aplikace. A protože webové prohlížeče z bezpečnostních důvodů neumožňují pracovat z JavaScriptu s lokálními soubory, potřebujeme také klienta spustit přes lokální server, kde bude mít povoleno pracovat s danou složkou. Poběží nám tedy dva servery:
- jeden s klientem,
- druhý s API.
Instalace Node.js
Stáhneme si instalátor pro náš operační systém z https://nodejs.org/ a program podle pokynů nainstalujeme:

Pokud se chcete o Node.js dozvědět více, přejděte na samostatný kurz Node.js.
Spuštění serveru
V rozbalené složce s projektem klikneme pravým tlačítkem myši na
podsložku invoice_server/
a zvolíme možnost Otevřít v
Terminálu. Pokud jsme s projektem ještě vůbec nepracovali, bude nutné
nainstalovat potřebné balíčky. K tomu využijeme příkaz:
pip install -r requirements.txt
V příkazové řádce nakonec spustíme Django projekt příkazem:
python manage.py runserver
Spuštění klienta
Nyní zprovozníme klientskou část aplikace. Klikneme pravým tlačítkem
myši na podsložku invoice-client/
a opět zvolíme Otevřít
v Terminálu.
Potřebné knihovny nainstalujeme příkazem:
npm install
Po dokončení instalace spustíme klienta příkazem:
npm start
V prohlížeči zadáme adresu http://localhost:3000
, kde
aplikace poběží, a zobrazí se nám seznam faktur:

Obě části aplikace (klienta i server) ukončíme v příslušném terminálu stisknutím klávesové zkratky Ctrl + C.
V následující lekci, Testovací případy, si představíme testovací případy v Jira, na kterých budeme v kurzu pracovat.
Měl jsi s čímkoli problém? Stáhni si vzorovou aplikaci níže a porovnej ji se svým projektem, chybu tak snadno najdeš.
Stáhnout
Stažením následujícího souboru souhlasíš s licenčními podmínkami
Staženo 18x (105.17 kB)
Aplikace je včetně zdrojových kódů