< Zpět na články

Jak AI změnila softwarové testování

Ahoj, já jsem Martin!

Jako tester jsem často přemýšlel nad tím, jak zefektivnit a vylepšit proces testování. Odpověď, kterou jsem našel, leží ve světě AI. Dnes se s vámi proto chci podělit o to, že umělá inteligence není jen módní slovo, ale mění hru v oblasti testování.

Jak nám testerům může umělá inteligence pomoct?

Umělá inteligence může být užitečná například při tvorbě testů. Může nám pomoci jak s automatickými, tak i s manuálními testy, čímž zrychlí naši práci a usnadní detekci chyb. Navíc není její přínos pouze v psaní testů. Umělá inteligence může vizuálně sledovat změny v aplikaci nebo nám poskytnout rady při psaní testů. Další výhodou je generování dat potřebných k testování. Představuje nástroj, který zvyšuje naši efektivitu a pomáhá organizovat testování, což vede k lepší kvalitě výsledků.

Generování dat

AI může generovat velké množství různorodých dat. Ty můžeme využít k psaní již zmíněných scénářů, test casů, mind map, dat pro formuláře, uživatelských dat nebo nám může pomoct při psaní dokumentace. Ne vše se ale děje v jednom AI nástroji, je potřeba jich tak znát více, protože každý se zaměřuje na trochu něco jiného.

První nástroj, který bych chtěl představit, je Mockaroo. Je to nástroj, který umí generovat data ve formátech CSV, JSON, SQL takže zvládá vyplňovat data pro formuláře nebo rovnou pro databáze různorodými daty Nástroj nevyžaduje žádné kódění a navíc si můžete nastavit kolik polí pod jakým názvem chcete, aby se generovalo, nebo můžete nahrát nějaký třeba CSV soubor, kde je příklad toho, jak by měla struktura vypadat, pak už jen vyplníte kolik polí k tomu chcete a v jakém formátu vám má Mockaroo vyplivnout výsledek.

Já jsem tento tool využil zrovna nedávno při testování projektu, kde jsem potřeboval vytvářet spoustu formulářů ohledně nemovitostí. Měli jsme možnost importovat nemovitosti z CSV souborů, takže jsem si stáhl vzor souboru, vložil ho do Mockaroo a během chvilky jsem si zvádl vygenerovat 1000 nemovitostí, které jsem pak používal v průběhu testování.

Dalším toolem je Gretel.ai. Ten se specializuje na generování syntetických dat, což znamená, že data, které generuje, se mají podobat reálným, ale jsou uměle vytvořená. Nástroj klade důraz na ochranu soukromí a bezpečnost citlivých informací. Je vhodný pro situace, kde je klíčové zajistit, že žádné skutečné citlivé údaje nejsou vystaveny riziku. Funguje tak, že do něj nahrajeme nějaký soubor, kde jsou reálná data, nástroj je zanonymní tím, že místo nich vytvoří smyšlené., To ve výsledku umožňuje pracovat s daty, aniž by se ohrožovali citlivé informace

Další a dnes velmi oblíbeným toolem je chatGPT. Ten se dá použít ke generování scénářů, dokumentace nebo jako pomoc při psaní test-casů. Já osobně ho používám skoro stejně jako google. Při testování se ho ptám na to, jak můžu otestovat různé funkcionality, například jak otestovat login jako je tady vidět na obrázku, slouží mi to jako pomocník, abych při testování na nic nezapomněl.

Další užitečný nástroj se jmenuje Taskade. Tímto nástrojem se dají vytvářet mindmapy, agendy meetingu nebo třeba sprint planningmně osobně příjde nejvíc užitečný pro vytvoření mind mapy, která se dá použít jako mapa k testování, kde si mohu odškrtávat, co jsem otestoval a co ne. Je potřeba si pak jednotlivé pole upravit podle potřeby, každopádně to pomáhá k prioritizaci a organizaci celkového testování.

AI negeneruje jen data. Funguje také jako našeptávač při kódování nebo dokáže rovnou generovat kód.

Prvním nástrojem co našeptává kódování je Github Copilot. Je dostupný pro spoustu editorů – například pro Visual studio. Jeho hlavní funkcí je, že dokáže při psaní kódu generovat návrhy, což může dost urychlit psaní a lze tím předejít chybám.

Druhým toolem je Blackbox, který se také dá nainstalovat jako doplněk pro Visual studio code a funguje obdobně jako copilot od githubu – našeptává při psaní kódu. Výhodou Blackboxu je, že se s nástrojem můžeme radit stejně jako s chat GPT.

Další pro nás testery užitečnou fukncí je detekce vizuálních změn. A s tím nám taky může AI pomoct.

Aplitools je skvělý pomocník pro detekci vizuálních změn, lze ho integrovat třeba do Cypressu nebo Playwrightu. Po integraci je nutné definovat, kde se mají screenshoty vytářet a pokaždé, co se spustí test, vytvoří se nový screenshot, který se porovná s tím, co se vytvořilo při posledním spuštění testu. Výsledkem je, že se zobrazí, kde přesně nastaly změny a tester pak rozhoduje, jestli to je chyba nebo ne.

Dalším nástrojem pro detekci vizuálních změn je Percy. Narozdíl od Aplitools vytáří při testování historii snímků, což umožňuje lépe sledovat, jak se obsah mění v průběhu času. Tooly nejsou moc rozdílné a je na každém, který si vybere.

To by bylo vše k toolům, které jsem nějakou dobu objevoval a zkoušel. Chci jen říct, že žádný z těchto nástrojů se neobejde bez toho, aby byly nějak ručně nastaveny a upraveny, a to námdocela odpovídá na otázku, jestli nahradí AI testery.

Nahradí AI testery?

Ne, nenahradí. Na AI by se mělo pohlížet spíše jako na nástroj, který zlepšuje schopnosti testerů, než jako na náhradu jejich role. Takže ZATÍM nás nenahradí, nevíme, jak v budoucnu, ale jelikož software vytváříme lidem, myslím si, že to stejně bude muset vždy kontrolovat nějaký člověk.

Martin Votýpka
Martin Votýpka
QA TesterMartin se zabývá hardwarem a testováním aplikací, mimo práci zvedá železo v posilovně, hraje videohry nebo jezdí na bruslích. Když by si měl vybrat mezi testováním na Android nebo iOS zařízení, bez váhání by sáhl po Apple výrobku.

Máte zájem o spolupráci? Pojďme to probrat osobně!

Napište nám >