1. diel - Úvod do automatizovaného testovania softvéru
Vitajte v prvej lekcii kurzu automatizovaného testovania, v ktorom sa naučíme vytvárať automatizované testy pomocou Selenia. Vyskúšame si testovanie backendovej časti REST API, zoznámime sa so základmi CI/CD a vyskúšame si prácu s GitHub Actions.
V tomto tutoriáli kurzu praktického testovania projektov si predstavíme hlavné výhody automatizovaného testovania oproti manuálnemu prístupu. Pripomenieme si, ako pracovať s nástrojom Jira, a zoznámime sa s konkrétnymi testovacími prípadmi, na ktoré sa v priebehu kurzu zameriame. Ukážeme si tiež, ako vyzerá testovací projekt a ako spustíme jeho klientsku aj serverovú časť.
Úvod do automatizovaného testovania softvéru
S rastúcou zložitosťou softvérových systémov a zrýchľujúcim sa vývojovým cyklom sa testovanie stáva neoddeliteľnou súčasťou moderného vývoja. Manuálne testovanie je síce dôležité, ale býva časovo náročné, náchylné k ľudským chybám a horšie škálovateľné. Práve tu prichádza k slovu automatizované testovanie, ktoré umožňuje efektívne, rýchle a opakovateľné overovanie funkčnosti aplikácií.
Automatizované testy výrazne skracujú čas potrebný na regresné testovanie, minimalizujú riziko opomenutia chýb a celkovo zvyšujú kvalitu softvéru. Navyše umožňujú vývojárom aj testerom rýchlo reagovať na zmeny v kóde a ihneď overiť, či nové úpravy neovplyvnili súčasnú funkcionalitu.
Minimálne požiadavky
Na úspešné absolvovanie kurzu je nutná znalosť jazyka Python aspoň v rozsahu našich kurzov:
Z oblasti testovania predpokladáme aj znalosti z kurzov:
Na posledný z uvedených kurzov tento kurz priamo nadväzuje. Aj keď si niektoré kľúčové princípy z oblasti manuálneho testovania krátko pripomenieme, bez základnej orientácie v problematike praktického testovania nebude možné plne porozumieť preberaným témam.
Očakávame, že účastníci už majú skúsenosti s návrhom testovacích prípadov, orientujú sa v Jire a rozumejú základom testovacieho procesu, na ktoré v tomto kurze priamo nadväzujeme a ďalej ich rozvíjame smerom k automatizácii.
Ak máte za sebou kurz Praktické testovanie projektov - Manuálne testovanie, zostávajúcu časť lekcie preskočte.
Sprevádzkovanie testovacieho projektu
Pracovať budeme s projektom fakturačného systému, ktorý si o chvíľu predstavíme. Zatiaľ si ho stiahneme v archíve pod touto lekciou a rozbalíme.
Predstavenie projektu
Fakturačný systém sa skladá z dvoch častí:
- Klientska časť, ktorá spravuje užívateľské rozhranie (front-end) a je napísaná v javascriptovom frameworku React.
- Serverová časť, ktorá riadia hlavne ukladanie a získavanie dát (back-end) a ktorá je napísaná v Python frameworku Django.
Databáza faktúr obsahuje osoby (podnikateľov), ktoré vystupujú ako odberatelia alebo dodávatelia:

Na obrázku vyššie vidíme zoznam týchto osôb s možnosťou zobrazenia detailu, úpravy alebo zmazania záznamu. Samozrejme, môžeme pridať aj novú osobu.
Pod záložkou Invoices nájdeme prehľad všetkých faktúr:

Faktúry je možné filtrovať podľa ceny, názvu odberateľa, dodávateľa alebo textu v popise. K dispozícii je aj prehľadná súhrnná a ročná bilancia.
Obe časti projektu (klient aj server) sú k dispozícii na stiahnutie v archíve tejto lekcie.
Spustenie projektu
Začneme spustením serverovej časti postavenej na Django REST Frameworku v Pythone.
Vzhľadom na to, že Python je prerekvizitou tohto kurzu, predpokladáme, že ho už máte nainštalovaný. Ak nie, môžete si ho stiahnuť z oficiálnych stránok https://www.python.org/downloads/.
Node.js
Na spustenie klienta na našom lokálnom počítači budeme potrebovať Node.js. Ide primárne o prostredie umožňujúce tvorbu serverovej časti webových aplikácií v JavaScripte a tiež o mocného správcu balíčkov, prostredníctvom ktorého sa inštalujú najrôznejšie javascriptové knižnice. My nebudeme mať klienta nahraného nikde na internete, ale na našom lokálnom počítači ako serverovú časť aplikácie. A pretože webové prehliadače z bezpečnostných dôvodov neumožňujú pracovať z JavaScriptu s lokálnymi súbormi, potrebujeme aj klienta spustiť cez lokálny server, kde bude mať povolené pracovať s danou zložkou. Pobežia nám teda dva servery:
- jeden s klientom,
- druhý s API.
Inštalácia Node.js
Stiahneme si inštalátor pre náš operačný systém z https://nodejs.org/ a program podľa pokynov nainštalujeme:

Ak sa chcete o Node.js dozvedieť viac, prejdite na samostatný kurz Node.js.
Spustenie servera
V rozbalenej zložke s projektom klikneme pravým tlačidlom myši na
podpriečinok invoice_server/ a zvolíme možnosť Otvoriť v
Termináli. Ak sme s projektom ešte vôbec nepracovali, bude nutné
nainštalovať potrebné balíčky. Na to využijeme príkaz:
pip install -r requirements.txt
V príkazovom riadku nakoniec spustíme Django projekt príkazom:
python manage.py runserver
Spustenie klienta
Teraz sprevádzkujeme klientsku časť aplikácie. Klikneme pravým
tlačidlom myši na podpriečinok invoice-client/ a opäť zvolíme
Otvoriť v Termináli.
Potrebné knižnice nainštalujeme príkazom:
npm install
Po dokončení inštalácie spustíme klienta príkazom:
npm start
V prehliadači zadáme adresu http://localhost:3000, kde
aplikácia pobeží, a zobrazí sa nám zoznam faktúr:

Obe časti aplikácie (klienta aj server) ukončíme v príslušnom termináli stlačením klávesovej skratky Ctrl + C.
V nasledujúcej lekcii, Testovacie prípady, si predstavíme testovacie prípady v Jira, na ktorých budeme v kurze pracovať.
Mal si s čímkoľvek problém? Stiahni si vzorovú aplikáciu nižšie a porovnaj ju so svojím projektom, chybu tak ľahko nájdeš.
Stiahnuť
Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkami
Stiahnuté 19x (141.71 kB)
Aplikácia je vrátane zdrojových kódov



