Čo je STLC – životný cyklus testovania softvéru?

Ak by si niekedy chcel dať laikovi mimo IT sektora sofistikovanú odpoveď na to, čo robí IT tester, mohlo by to byť: dozerá na životný cyklus testovania softvéru. Znie to trochu šalamúnsky, ale je to pravda. Čo to vlastne znamená?

Testovanie sa nenachádza na priamke ani úsečke, nie je lineárne. Testujeme kontinuálne, opakovane, hľadáme nové aj prehliadnuté chyby. Preto testujeme v cykloch. Aby sme v testovaní nevynechali nič podstatné a zachovali rovnaké podmienky, má každý cyklus stanovené fázy. A to je práve životný cyklus testovania softvéru. Než si ho vysvetlíme podrobnejšie, pozrime sa na iný životný cyklus, ktorý je tomu testovaciemu nadradený.

Životný cyklus vývoja softvéru a testovanie – SDLC vs. STLC

Agilná metodológia je spojená s vývojom softvéru, ktorý si vyžaduje množstvo iterácií a zmien v každom šprinte. Súčasťou agilného vývoja musí byť aj rovnako pružné testovanie. To je v SDLC, teda v Software Development Life Cycle, 5. krokom, testovanie prichádza na rad po vývoji. Jednotlivé fázy vyzerajú takto:

  1. 1. Plánovanie,
  2. 2. Definovanie problémov,
  3. 3. Návrh riešenia,
  4. 4. Vývoj,
  5. 5. Testovanie,
  6. 6. Nasadenie.

Životný cyklus testovania softvéru (STLC)

Pre nás je však podstatnejší Software Testing Life Cycle. Tak ako spomínaný cyklus vývoja, testovane má svoj vlastná cyklus. Jeho fázy sú samozrejme odlišné a nereflektujú ciele vývoja a nasadeniu výsledného softvéru, ale v prvom rade zabezpečujú kontrolu kódu, funkčnosti a bezchybnosti.

Fázy životného cyklu testovania softvéru (STLC)

Tým IT testerov analyzuje softvérové požiadavky
Cyklus STLC má svoje presné fázy.

1. Analýza požiadaviek

Testovací tím v tejto fáze skúma softvérové požiadavky, z ktorých vyplynú kritériá pre testovanie. Požiadavky na softvér môžu byť funkčné aj nefunkčné, teda testovať sa budú nie len funkcionality vyvíjaného riešenia, ale napríklad aj jeho zabezpečenie pred únikom dát. Analýza prebieha aj vďaka inputom od zákazníkov, developerského tímu, či používateľov. V niektorých prípadoch sa analyzuje aj to, či je možné automatizovať testovanie.

2. Fáza plánovania

V tejto fáze koordinátor testovania, napríklad manažér alebo konzultant, odhaduje časový a finančný aspekt testovania, stratégiu testovania, timeline testov a cyklu. Tento plán a jeho časová os sa dáva do kontextu osi celého projektu – keďže STLC je podmnožinou SDLC.

3. Vývoj testovacieho prípadu

Vytvárajú sa testovacie prípady a pripravujú sa podmienky aj pre automatizáciu testovania, ak to projekt umožňuje. Podľa zadefinovaných kritérií a požiadaviek z analýzy sa do testov zahŕňa všetko podstatné pre správnu funkčnosť výsledného produktu.

4. Nastavuje sa testovacie prostredie

Fáza, v ktorej sa určujú softvérové a hardvérové podmienky, ktoré simulujú reálne použitie. Táto fáza môže prebiehať súbežne s vývojom testovacieho prípadu, keďže testovací prípad musí byť použiteľný v danom testovacom prostredí. Aby testovací tím zistil, či je prostredie vhodné a pripravené, vykoná dymové testy stability.

5. Fáza implementácie

Testeri spúšťajú testy podľa testovacích plánov na pripravených testovacích prostrediach. Nájdené chyby posúvajú cez tickety vývojárom, ktorí ich následne zapracujú. Regresným testovaním (ktoré je väčšinou automatizované) sa priebežne zisťuje, či zmeny nespôsobili ďalšie chyby a v prípade potreby sa bugy opätovne hlásia developerom.

6. Uzatváranie testovacieho cyklu

Cyklus sa uzatvára úspešným otestovaním softvéru alebo kódu. Tím testerov zhodnotí projekt a jeho prekážky, ak nastal v procese nejaký aha moment, zaznamená sa do dokumentácie, guidelines alebo best practices pre ďalšie použitie.

Hoci skončil jeden cyklus, v rámci dlhodobého projektu je to stále len koliesko v celej mašinérii. Continuous integration a continuous delivery sú dva pojmy, ktoré sa úzko viažu s agilným vývojom aj testovaním softvéru. Keďže je softvér „živým organizmom“ a neustále sa mení, vyvíja, treba ho tiež neustále testovať a integrovať zmeny, ktoré z testov vyplývajú. Jeden cyklus strieda druhý – posledná fáza cyklu je preto veľmi dôležitá. Správna sumarizácia môže ďalší cyklus výrazne zefektívniť alebo zjednodušiť.

Ruka držiaca papier kde je vystrihnutý symbol opakovania
Softvér sa bude naďalej aktívne testovať aj po poslednej fáze cyklu.

STLC a testeri: kto má aký prínos pre životný cyklus testovania softvéru?

Každý IT tester si svoj plat musí zaslúžiť dôkladnou prácou, vďaka ktorej celý cyklus testovania funguje ako dobre namazaný stroj. Svoje miesto majú v cykle juniori, konzultanti, aj špecialisti na automatizáciu.

IT testeri

IT tester junior – študent s dostatočnými skúsenosťami – sa do životného cyklu testovania softvéru zapája vytváraním testovacích prípadov. Podieľa sa teda na manuálnom testovaní, na ktoré využíva niektorý z dostupných nástrojov manuálneho testovania.

IT testeri – konzultanti

IT tester konzultant musí vedieť klientovi vysvetliť ľudskou rečou, v ktorej fáze testovania sa produkt práve nachádza, a zároveň s kolegami komunikovať o fázach, prípadných prekážkach a celý proces si dať do kontextu projektu a projektovej časovej osi. Koordinuje proces testovania, preto je jeho úloha veľmi dôležitá.

IT špecialisti pre automatizované testovanie

Ak je testovací prípad správne manuálne nastavený a projekt to umožňuje, špecialista pre automatizované testy vďaka znalosti automatizácie s testovacími nástrojmi nastaví testy. Extrémne tým urýchli regresné testovanie a kolegovia – manuálni testeri sa budú môcť vďaka tomu sústrediť na vytváranie nových testovacích prípadov a odhaľovanie nových bugov.

Pridaj sa do tímu msg life Slovakia aj ty

Chceš byť pri testovaní digitálnych poistných riešení a vidieť, ako vyzerá životný cyklus našich aplikácií na vlastné oči? Pozri si voľné pracovné miesta v msg life Slovakia a prihlás sa k nám. Ak váhaš, možno ťa presvedčia firemné benefity, ktoré sú nastavené v prospech tvojho work-life balansu aj kariérneho rastu.

Daj nám o sebe vedieť