V dnešní IT éře je testování softwaru lukrativní práce, povinnost ale i zábava. Víte ale, o co doopravdy jde?

Co to tedy to testování softwaru je?

Zjednodušeně řečeno, testování softwaru je odhalování chyb v programech. Představte si firmu, co staví dům. Taková firma potřebuje architekta, zedníky (vývojáře), stavební dozor (testery). Architekt navrhne, jak bude dům vypadat, z jakých částí se bude skládat. Zedníci jej podle toho začnou stavět a stavební dozor kontroluje, zda stavba odpovídá zadání jak podle architekta, tak aby výsledný dům vyhovoval rodině, která si jej objednala. Ve vývoji softwaru je to dost podobné. Softwarový architekt navrhne celý softwarový produkt podle potřeb zákazníka. Vývojáři jej nakódují a testeři – stejně jako stavební dozor u domu – kontrolují, jestli softwarový produkt odpovídá zadání, zda má funkce, které zákazník potřebuje, a zda se bude zákazníkům dobře používat. Ideální tester prověřuje chyby ve všech fázích. Co tím myslím? Pojďme se podívat na příklad.

Příklad: Stavební dozor přijde do práce a zjistí, že zedníci včera postavili příčky v koupelně. Zkontroluje tedy koupelnu a zjistí, že umyvadlo přesahuje nad vanu a tedy pokaždé, když někdo bude vylézat z vany, hrozí nebezpečí, že se bouchne o umyvadlo. Vše začne řešit se zedníky a ti mu oznámí, že vše postavili dle zadání. Stavební dozor tedy musí zkontrolovat, jestli je opravdu chyba v zadání, nebo zedníci špatně pochopili výkresy v zadání. Při testování softwaru jsou situace naprosto totožné. Je třeba pravidelně kontrolovat, že to, co bylo naprogramováno, neobsahuje chyby. A pokud ano, podílet se na analýze, zda je chyba u vývojáře (došlo k ní během realizace), nebo již ve dřívějších fázích, jako třeba chyby vzniklé již ve fázi návrhu (chyba architektury).
Co je testování softwaru odborně:
Pokud máte rádi exaktní vyjádření, pojďme se podívat, co říká o testování softwaru Wikipedie. Podle Wikipedie se jedná o empirický technický výzkum kvality testovaného produktu nebo služby prováděný za účelem poskytnutí těchto informací všem zainteresovaným (=stakeholderům). Testování je tedy zejména o hledání určitých informací o produktu jeho zkoumáním.

Kdo jej využívá?

Běžně se používá jako součást vývoje softwaru a nebo při jeho předávání zákazníkovi, který si vývoj objednal (tzv. akceptační testy). Slouží tedy jak vývojovým týmům, tak zákazníkům.

Jak se provádí?

Základní podstata testování je v hledání úspěchu (pozitivní test) či hledání neúspěchu (negativní test). Co to znamená? Tester musí ověřit, že požadované funkce nastanou a nechtěné funkce nenastanou. Podrobně o tom pojednává článek Jak testovat software.