Čo všetko testovať pri vývoji softvéru?

Ideálne všetko :-)

Áno, ak je to možné, mali by sa vždy otestovať všetky zmeny a všetky nové funkcie vo všetkých možných scenároch. To platí najmä pri kritických aplikáciách, ako napr. zdravotnícke, dopravné, energetické systémy...

Čo to ale znamená?
V niektorých prípadoch to môže znamenať veľké finančné náklady a časovú náročnosť. Pri komplexnejších systémoch môže rozsah testovania predstavovať aj 1-2 násobok úsilia, času a nákladov potrebných na samotný vývoj príslušných zmien.

Pritom ak hovoríme o testovaní, máme na mysli testy:
• správnosti vykonávaných funkčností (teda odhaľovanie funkčných chýb)
• výkonnosti
• integrácie s inými systémami
• bezpečnosti
• inštalácie
• ...

Problematika testovania je už dlhšiu dobu veľmi komplexná. Podobne ako vývoj softvéru, aj testovanie už má svoje definované postupy a metodiky, dokonca aj medzinárodné normy. Avšak správne ho zvládnuť je stále problém.

Kým pri jednoduchších a „nekritických“ systémoch môžu byť chyby softvéru objavované a opravované priebežne aj počas používania aplikácie, kritické systémy si takýto prístup dovoliť nemôžu.

To, kedy akú stratégiu testovania uplatniť, by mal stanoviť Test Manažér. Ten by mal zároveň určiť rozsah testovania, kritériá úspešnosti, metriky a spôsob vyhodnotenia testov, časový plán...

Pri častom opakovaní rovnakých testov navyše prichádza do úvahy automatizácia testovania.

Čo je to automatizácia testovania a na čo slúži?
Je to skvelá vec, ak viete, ako ju použiť. Vďaka automatizácii testovania je možné ušetriť veľa času a odhaliť množstvo chýb. Ale na jej prípravu potrebujete čas a správnych ľudí. Bežní „obyčajní“ testeri ju väčšinou nezvládnu, alebo odmietajú a tí šikovní, čo by ju boli schopní pripraviť, už väčšinou pracujú ako programátori.

Prolematika testovania softvéru je široká a problémov veľa. Nie je však nezvládnuteľná. Dobrý Test Manažér je schopný uriadiť aj komplexné projekty. Ak takého máte, patríte k tým šťastnejším. V opačnom prípade sa obráťte na niekoho spoľahlivého a zverte túto zodpovednú úlohu jemu.