SQL základy – tvoja cesta k efektívnejším testom

Ak sa pohybuješ v oblasti softvérového testovania, mal by si vedieť, že databáza a SQL nie sú len doménou databázových administrátorov alebo back-end vývojárov. V ére digitálnej transformácie sú databázy kľúčové a SQL je základným nástrojom na ich správu a pochopenie. V článku sa pozrieme na základy SQL, jeho prepojenie s databázami, ukážeme si základné SQL príkazy a povieme si niečo o MS SQL.

Databáza: Úložisko dát

Databáza je miesto, kde sú všetky dáta uložené. Je to komplexný systém, ktorý ti umožňuje ukladať, načítať, upravovať a spravovať informácie. Ak testuješ aplikáciu, ktorá komunikuje s databázou (a väčšina z nich tak robí), potrebuješ vedieť, ako dáta putujú medzi databázou a aplikáciou a ako s databázou komunikovať – týmto sa dostávame k podstate SQL.

SQL: Jazyk databáz

SQL, čo je skratka pre Structured Query Language, je štandardizovaný programovací jazyk používaný pre prácu s databázami. Umožňuje ti vykonávať rôzne operácie s dátami, ako sú vytváranie, čítanie, aktualizácia a mazanie dát (CRUD – Create, Read, Update, Delete) vo veľmi efektívnej a flexibilnej forme.

Využitie SQL v testovaní

Použitie SQL (Structured Query Language) v testovaní softvéru je kľúčové pre overenie integrity a presnosti dát, ktoré sú základom pre správnu funkčnosť aplikácií. Nižšie sú uvedené niektoré z hlavných oblastí, kde sa SQL používa v kontexte testovania softvéru:

Overenie dát

  • SQL príkazy umožňujú testerom overiť, či sú dáta v databáze správne uložené, aktualizované alebo odstránené podľa požiadaviek.
  • Tester môže vytvoriť SQL požiadavky na kontrolu konzistencie dát medzi rôznymi databázovými tabuľkami a systémami.

Manipulácia s dátami

  • Tester môže použiť SQL príkazy na vytvorenie, aktualizáciu alebo odstránenie dát, aby overil, ako systém spracováva rôzne dátové scenáre.
  • Pomocou SQL je možné simulovať rôzne dátové podmienky, ktoré môže byť ťažké dosiahnuť inými spôsobmi.

Analýza dát

  • SQL umožňuje analýzu veľkých objemov dát, čo je užitočné pri identifikácii problémov alebo trendov, ktoré by mohli ovplyvniť výkon a spoľahlivosť systému.
  • Tester môže použiť SQL príkazy na získanie užitočných štatistík a metrík, ktoré pomôžu zlepšiť kvalitu softvéru.

Testovanie výkonu a optimalizácia

  • SQL príkazy môžu byť optimalizované pre rýchlejší výkon, čo je kľúčové pri testovaní databázových operácií a výkonnosti systému.
  • Tester môže identifikovať a odstrániť úzke miesta v databázových operáciách, čo prispieva k celkovej výkonnosti a škálovateľnosti systému.

Automatizácia testovania

  • Integrácia SQL príkazov do automatizovaných testovacích scenárov umožňuje efektívne a presné testovanie databázových operácií.
  • SQL príkazy môžu byť použité na validáciu výsledkov testov automaticky a na generovanie reportov o testovaní.

Monitorovanie a logovanie

  • SQL môže byť použité na vytváranie a analýzu logov a monitorovacích dát, čo je dôležité pre zistenie problémov a zlepšenie kvality softvéru.

Bonus: Spolupráca s tímom

Keď rozumieš SQL a databázam, stávaš sa hodnotnejším členom tímu. Môžeš efektívne komunikovať s vývojármi, analytikmi a databázovými administrátormi. Rozumieš technickým detailom, ktoré sú zásadné pre úspešné dokončenie projektu.

Málo čo je v softvérovom testovaní tak univerzálne uplatniteľné, ako práve znalosť SQL a databáz. Táto znalosť ti umožní nahliadnuť pod kapotu aplikácií, ktoré testuješ, a umožní ti rozvíjať schopnosti, ktoré siahajú ďalej, než len klikanie na tlačidlá a sledovanie výstupov.

SQL syntax a základné príkazy

V SQL sa pracuje s entitami zvanými tabuľky, ktoré sú tvorené stĺpcami a riadkami. Stĺpce predstavujú rôzne atribúty (napríklad meno, vek, adresa), kým riadky predstavujú jednotlivé záznamy.

SQL má relatívne jednoduchú a ľahko čitateľnú syntax. Tu je zopár základných pravidiel:

  • Príkazy sa obvykle píšu veľkými písmenami, napríklad SELECT, FROM, WHERE.
  • SQL je nezávislý na veľkosti písmen, ale štandardná konvencia je používať veľké písmená pre príkazy a malé pre názvy tabuliek a stĺpcov.
  • Príkazy sa ukončujú bodkočiarkou.

Teraz si predstav, že testuješ databázový systém jednej strednej firmy, ktorý obsahuje tabuľku zamestnancov. Aké základné SQL príkazy by si využil v reálnych testovacích scenároch?

SQL SELECT

Toto je asi najjednoduchší a najpoužívanejší príkaz. S jeho pomocou môžeš vyberať dáta z tabuľky.

SELECT * 
FROM Zamestnanci;

V tomto prípade by si získal kompletný zoznam všetkých zamestnancov.

SQL INSERT

Ak potrebuješ do databázy pridať nové dáta, použiješ príkaz INSERT.

INSERT INTO Zamestnanci 
(ID, Meno, Priezvisko, Pozicia) 
VALUES 
(5, 'Jozef', 'Novák', 'Developer');

Týmto vložíš nového zamestnanca s menom Jozef Novák na pozíciu Developer.

SQL UPDATE

Príkaz UPDATE ti umožní zmeniť existujúce dáta.

UPDATE Zamestnanci 
SET Pozicia='Senior Developer' 
WHERE ID=5;

Pozíciu zamestnanca s ID 5 zmeníš na ‚Senior Developer‘.

SQL DELETE

Ako názov napovedá, príkaz DELETE odstráni dáta z databázy.

DELETE FROM Zamestnanci 
WHERE ID=5;

Vymažeš zamestnanca s ID 5.

SQL JOIN

Tento príkaz je trochu zložitejší a slúži na spojenie viacerých tabuliek.

SELECT Zamestnanci.Meno, Oddelenia.Nazov 
FROM Zamestnanci 
JOIN Oddelenia 
ON Zamestnanci.OddelenieID = Oddelenia.ID;

Získaš zoznam zamestnancov spolu s názvom ich oddelenia.

SQL GROUP BY

Príkaz slúži na zoskupenie dát podľa určitého kritéria.

SELECT Pozicia, COUNT(*) 
FROM Zamestnanci 
GROUP BY Pozicia;

V tomto prípade získaš počet zamestnancov zoskupený podľa ich pozícií. Napríklad, koľko je developerov, analytikov, atď.

Existuje mnoho ďalších príkazov a funkcií v SQL, ktoré ti umožnia vykonávať komplexnejšie databázové operácie. Pre hlbšie pochopenie a získanie kompletného zoznamu SQL príkazov ti odporúčame oboznámiť sa s oficiálnou dokumentáciou.

Microsoft SQL Server (MS SQL)

Microsoft SQL Server, často označovaný ako MS SQL alebo jednoducho SQL Server, je relačná databázová platforma od spoločnosti Microsoft. Je to jedno z najpopulárnejších databázových riešení na trhu a je známa svojou robustnosťou, škálovateľnosťou a širokou ponukou funkcionalít.

Základné Funkcie MS SQL

  • ACID Kompatibilita: Podporuje transakcie, ktoré spĺňajú ACID (Atomicita, Konzistencia, Izolácia, Trvanlivosť) pravidlá.
  • Zabezpečenie: Ponúka rozsiahle možnosti zabezpečenia vrátane autentifikácie, autorizácie a šifrovania dát.
  • Škálovateľnosť: Môže byť rozšírený na viaceré servery a vysoko dostupné riešenia.
  • Integrácia s inými nástrojmi: Lepšie integrovaný s ostatnými produktmi od Microsoft, napríklad s Windows Serverom, Active Directory a .NET frameworkom.

Verzie a Edície

Existuje niekoľko edícií MS SQL Serveru, vrátane:

  • Express: Bezplatná verzia s obmedzenými funkciami a výkonom, ideálna pre malé aplikácie.
  • Standard: Cieľová verzia pre stredné podniky.
  • Enterprise: Najrobustnejšia verzia, ktorá ponúka všetky dostupné funkcie a je určená pre veľké podniky.

Jazyková podpora

  • MS SQL používa vlastnú verziu SQL jazyka nazývanú T-SQL (Transact-SQL), ktorá rozširuje štandardné SQL funkcie o procedurálne programovanie a lokálne premenné.

SQL Server Management Studio (SSMS)

SQL Server Management Studio (SSMS) je integrálne riešenie, ktoré ti zjednodušuje správu, prístup a používanie prvkov v databázach MS SQL Server. Ak si softvérový tester, je to nástroj, ktorý ti umožní pohodlne interagovať s databázovým systémom, ktorý testuješ.

SSMS ti ponúka širokú škálu nástrojov a funkcií, ktoré môžeš využiť v testovacích scenároch. Medzi tieto patria:

  • Dopytovanie: Môžeš vykonávať SQL príkazy v rôznych formátoch, či už chceš získať, upraviť alebo zmazať dáta.
  • Pohľady na schému: Máš možnosť zobrazovať a analyzovať štruktúru databázy, čo ti pomôže lepšie rozumieť, ako sú dáta uložené a spracované.
  • Správa dát: S nástrojmi pre import a export dát môžeš jednoducho manipulovať s testovacími datasetmi.
  • Analytické nástroje: SSMS ti poskytuje analýzy výkonnosti a ďalšie diagnostické funkcie, ktoré ti pomôžu identifikovať problémy alebo výkonnostné obmedzenia.

Aké sú prínosy pre testerov?

  • Efektivita: Vďaka grafickému rozhraniu a bohatej funkcionalite môžeš rýchlo a efektívne testovať databázu bez nutnosti písať komplikované skripty.
  • Presnosť: Funkcie ako bodové obnovenie, sledovanie transakcií a logovanie ti pomáhajú vykonávať testy s vysokou presnosťou.
  • Flexibilita: Môžeš si prispôsobiť pracovné prostredie podľa svojich potrieb, čo ti umožní lepšie sa sústrediť na konkrétne aspekty testovania.

SQL kurzy a vzdelávanie

Na Slovensku existuje niekoľko možností kurzov pre získanie vedomostí a zručností v jazyku SQL. Tu sú niektoré z nich:

  1. IT Academy: V Bratislave ponúka kurz SQL pre začiatočníkov, kde môžeš navštevovať denné, večerné alebo víkendové lekcie. Kurz je určený pre každého, kto sa chce naučiť pracovať s SQL databázami​​.
  2. IT LEARNING SLOVAKIA: Ponúka školenia v oblasti databáz SQL, ktoré sú rozdelené podľa platformy na kurzy MS SQL, MY SQL, ORACLE. Kurzy sú určené pre vývojárov a analytikov, ktorí pracujú s databázami alebo vyvíjajú databázové aplikácie​​.
  3. Skillmea: Ponúka online kurz dátovej analýzy v SQL pre začiatočníkov. Kurz je zameraný na podstatné znalosti potrebné pre prácu alebo osobné účely v oblasti dátovej analýzy v SQL, big data, BI, DWH a business insights​.

Na internete taktiež nájdeš množstvo materiálov o SQL, tu sú niektoré online zdroje dokumentácie a tutoriálov, ktoré ťa učením SQL môžu sprevádzať:

  1. Microsoft SQL Server: Technická dokumentácia, ktorá ti pomôže začať, administrovať, vyvíjať a pracovať so SQL Serverom a súvisiacimi produktmi​.
  2. MySQL: Dokumentácia k MySQL, ktorá obsahuje referenčnú príručku a poznámky k vydaniam pre MySQL 8.0​.
  3. Oracle SQL Developer: Dokumentácia k Oracle SQL Developer, ktorá je bezplatným grafickým nástrojom, ktorý zvyšuje produktivitu a zjednodušuje úlohy vývoja databáz. S týmto nástrojom môžeš prehliadať databázové objekty, spúšťať príkazy SQL a skripty SQL, upravovať a ladenie príkazov PL/SQL, manipulovať a exportovať dáta, či zobrazovať a vytvárať.​
  4. W3Schools SQL Tutorial: Tutoriál, ktorý ti ukáže, ako používať SQL v rôznych databázových systémoch ako MySQL, SQL Server, MS Access, Oracle, Sybase, Informix, Postgres a iné​.

Záver

V dnešnom svete IT je základná znalosť SQL pre testera skôr nevyhnutnosťou než výhodou. Dúfame, že tento článok ti pomôže lepšie pochopiť, prečo je to tak, a ako sa s tým vysporiadať. Základy SQL nie sú vôbec zložité a s trochou praxe sa v nich rýchlo zorientuješ.

Ak vieš po nemecky a si IT tester, pozri si naše firemné benefity a reaguj na pracovné ponuky.

O autorovi

Katarína Kučáková

Software Test Engineer

Moja cesta k testovaniu softvéru sa začala v roku 2019 až po štúdiu ekonómie a pracovných skúsenostiach v iných odvetviach. To mi pomohlo vnímať IT svet v rôznych súvislostiach. Ten totiž ponúka neustále nové výzvy, pre ktoré rada hľadám riešenia. Obľubujem oddych pri čítaní, turistiku alebo lyžovanie. LinkedIn

Daj nám o sebe vedieť