7 princípov testovania softvéru, ktoré by mal poznať každý softvérový tester

Testovanie softvéru je spôsob na overenie toho, či softvér funguje podľa potrieb koncového používateľa. Základné princípy testovania softvéru sú známe ako piliere testovania a vďaka nim môže tester efektívne odhaliť čo najviac chýb a defektov. V tomto článku sa dozvieš, ako funguje sedem princípov testovania softvéru a prečo by si ich mal osvojiť každý IT tester.

Vývoj softvéru pozostáva z viacerých etáp a zložitých postupov, ktoré so sebou prinášajú aj mnoho softvérových chýb. Pri testovaní softvéru musí IT tester dodržiavať postupy a zásady, ktoré zabezpečia, že softvér bude otestovaný efektívne, za čo najkratší čas a s pozitívnym výsledkom.

Existuje sedem základných princípov testovania softvéru, ktoré prijala Medzinárodná rada pre testovanie softvéru (ISTQB). Tieto zásady slúžia na dosahovanie optimálnych výsledkov bez odchýlenia sa od cieľa testu. Jednotlivé princípy testovania softvéru, ktoré by mal poznať každý profesionálny softvérový tester, sú:

1. Testovanie dokazuje, že v softvéri sú chyby

Každá aplikácia prechádza rôznymi fázami testovania, ako sú napríklad integračné testy, systémové testy, regresné testy alebo akceptačné testy. Primárnym účelom softvérového testovania je identifikovať počet zatiaľ neznámych chýb pomocou zvolenej metódy a testovacích techník. IT tester sa snaží nájsť čo najviac skrytých systémových chýb, na ktorých odstránení následne pracujú vývojári. 

Prvý zo základných princípov testovania hovorí, že žiaden bezchybný softvér neexistuje a testovanie odhaľuje prítomnosť defektov, nie ich neprítomnosť. Dostatočné a opakované testovanie len znižuje výskyt bugov a to, že testeri pri opakovanom testovaní nenachádzajú žiadne softvérové chyby neznamená, že je softvér bez chýb. Niektoré skryté chyby v softvéri odhalí až používateľ v produkčnom prostredí aplikácie či softvéru pri používaní funkcionalít alebo variácií funkcionalít, ktoré sa bežne nepoužívajú. A preto sa testovaním odhaľuje prítomnosť defektov, nie ich neprítomnosť.

IT software testerka identifikuje softvérové chyby za počítačom
Testovanie softvéru poukazuje na prítomnosť chyby, nie na jej neprítomnosť.

2. Úplné testovanie nie je možné

Testovanie každej funkcie pomocou všetkých platných a neplatných vstupov a predpokladov je známe ako úplne alebo vyčerpávajúce testovanie. Počas testovania softvéru je ťažké a takmer nemožné otestovať všetky funkcie a všetky možné kombinácie používania. Namiesto toho sa priorizuje testovanie niekoľkých kombinácií, ktoré sú vyhodnotené ako dôležité.

Úplné testovanie softvéru by si vyžadovalo neobmedzené úsilie, čas a náklady, bez splnenia efektivity testovania. Každý vývoj softvéru má určený rozpočet a konečný dátum spustenia, preto musí byť časovo ohraničené aj jeho testovanie. Druhý princíp testovania softvéru hovorí, že vyčerpávajúce, resp. úplné testovanie nie je možné. Odporúča sa s testovaním začať už v ranných fázach vývoja a softvér testovať pomocou niekoľkých metód ako je ekvivalenčné rozdelenie a analýza hraničných hodnôt. 

3. Princíp včasného testovania

Včasné testovanie znamená, že všetky testovacie aktivity by sa mali začať v počiatočných fázach životného cyklu vývoja softvéru (SDLC). Ak sa IT testeri zapoja do testovania softvéru v rannom štádiu SDLC, softvérové chyby môžu byť identifikované a opravené v počiatočných fázach, čo znižuje náklady na celkovú opravu softvérových chýb.

Vedel si, že...

Dodržiavaním správneho procesu SDLC (Software Development Life Cycle) čiže životného cyklu vývoja softvéru môžu softvérové ​​spoločnosti dobre reagovať na tlak trhu a uvoľniť vysokokvalitný softvér. Tento proces zahŕňa sedem fáz. Je to fáza požiadaviek, analýzy, návrhu, vývoja, testovania, nasadenia a fáza údržby softvéru.

4. Paretovo pravidlo a nahromadenie chýb IT softvéru

Pri testovaní akéhokoľvek softvéru sa IT testeri v zamestnaní stretávajú so situáciou, že väčšina nájdených defektov súvisí s nejakou špecifickou funkcionalitou. Môže to byť spôsobené tým, že je aplikácia veľmi zložitá, programovanie príliš komplikované, prípadne že spravil vývojár softvéru chybu. Určité moduly softvéru obsahujú najväčší počet bugov alebo generujú najviac softvérových chýb. 

Paretovo pravidlo hovorí, že 80 % problémov pochádza z 20 % modulov. Preto sa kladie dôraz na testovanie 20 % modulov, kde softvér čelí 80 % chýb. Pravidlo zhlukovania defektov apeluje na to, že oblasť IT softvéru náchylná na defekty sa má dôkladne otestovať, vďaka čomu by mal počet chýb výrazne klesnúť.

Odporúčame ti...

Jednotlivé princípy testovania softvéru pomáhajú IT testerom zefektívniť proces testovania a zvyšujú spokojnosť zákazníkov so softvérom spojenú s kvalitou jeho používania. Preto odporúčame každému softvérovému testerovi implementovať tieto zásady do svojho testovacieho procesu.

Ruky dvoch IT software testerov ukazujú kód na monitoroch pri pravidle zhlukovania defektov
Testovaním modelov, ktoré generujú najviac chýb, sa zníži počet bugov.

5. Pesticídny paradox a jeho negatívny dopad na testovanie 

Keď IT tester softvéru narazí na modul, ktorý vykazuje väčší počet chýb, venuje tomuto modulu ďalšie hodiny testovania. Po odstránení defektov vývojármi a po niekoľkých testovacích opakovaniach sa kvalita kódu zlepší a počet defektov klesne. Môže sa však stať, že pri zvýšenom záujme o jeden modul, môže vývojár zanedbať ostatné moduly. Pesticídny paradox je teda princíp, ktorý hovorí, že pokiaľ sa budú opakovať stále rovnaké druhy testov, tieto testy nenájdu žiadne nové softvérové chyby.

V takomto prípade sa odporúča pridať nové testovacie prípady, ktoré pomôžu pri nachádzaní defektov aj v iných oblastiach softvéru. Jeden zo základných princípov testovania softvéru odporúča vyhnúť sa tomuto problému dvoma spôsobmi:

  1. Napísať novú sadu testovacích scenárov, ktoré sa zamerajú na inú oblasť alebo moduly.
  2. Pridať nové testovacie prípady k existujúcim testovacím prípadom.

Pri použití druhého prístupu je celkový počet testovacích prípadov výrazne vysoký a výsledkom je viac úsilia a času potrebného na vykonanie. Preto je potrebné skontrolovať, ktoré testovacie prípady zlyhali a ktoré už nie sú pre testovanie dôležité. Následne je možné nadbytočné prípady odstrániť

6. Testovanie súvisí s typom softvéru

Vývoj softvérových aplikácií je veľmi progresívny a rýchlo rastúci segment. Medzi najžiadanejšie oblasti vývoja IT patrí poisťovníctvo, bankovníctvo, zdravotníctvo alebo cestovanie. Každý z týchto softvérov má iný účel, požiadavky zadávateľa a iné funkcie, preto si vyžadujú špecifický typ testovania určený výlučne na daný typ softvéru. Nebolo by efektívne, keby IT testeri používali rovnakú techniku a typ testovania na testovanie všetkých typov aplikácií. 

Šieste pravidlo testovania softvéru preto pripomína, že každé testovanie závisí od kontextu aplikácie a softvéroví testeri musia na kontrolu použiť špecifické druhy testovania, rôzne techniky, prístupy a viaceré metódy. 

Vedel si, že...

Ako IT tester si môžeš zarobiť priemerne 2000 € mesačne. Samozrejme, plat sa odvíja od zručností, skúseností a danej pozície. Viac informácií o tom, koľko zarába IT tester na Slovensku sa dočítaš na našom blogu.

7. Neprítomnosť chýb neznamená funkčnosť softvéru

Keď softvér prešiel fázou testovania a pred spustením nie sú zistené žiadne ďalšie chyby v softvéri, znamená to, že je aplikácia na 99 % bez chýb. Môže sa však stať, že je softvér testovaný pri nesprávnych požiadavkách a v tom prípade môže byť stále nepoužiteľný. Okrem bezchybnosti musí softvér spĺňať to najdôležitejšie, a tým sú potreby koncového používateľa

Posledná zásada testovania softvéru hovorí, že identifikácia a oprava chýb by nebola efektívna v prípade, že je aplikácia nepraktická a nie je schopná splniť požiadavky a potreby klienta.

Testovanie softvéru je základným krokom v životnom cykle vývoja softvéru. Overuje, či softvér funguje podľa potrieb koncového používateľa, identifikuje vzniknuté softvérové chyby a zabezpečuje, aby bol softvér bezpečný pre používateľov. Aby bolo testovanie čo najefektívnejšie, každý IT tester by si mal osvojiť základné princípy testovania softvéru a čerpať z nich pri reálnom testovaní. Inak to nie je ani u nás v spoločnosti msg life. Ak chceš začať svoju kariéru ako IT tester, klikni si na najnovšie pracovné ponuky, ktorú pravidelne aktualizujeme, pošli svoje CV a poď testovať poistný softvér ako náš nový software tester. 

Daj nám o sebe vedieť