Procesy DevOps se brzy neobejdou bez umělé inteligence

Z pravidelného průzkumu World Quality Report 2018–19 vyplývají nové trendy v kontrole kvality (QA) a testování softwaru. I do testování softwaru ve stále větší míře zasahuje automatizace, která je založena na umělé inteligenci. Ta začne brzy prorůstat procesy vývoje, nasazování a provozu softwaru (DevOps) jako celek.

Automatizace dnes ale stále představuje úzké hrdlo, i kvůli tomu, že specialisté na testování softwaru obvykle nebývají současně specialisty na umělou inteligenci a i zde se pak projevují měnící se požadavky na kvalifikaci. 51 % respondentů průzkumu z řad vývojářů a testerů uvádějí, že mají problém propojit systémy AI s dalšími aplikacemi, které používají při práci. World Quality Report dále uvádí, že na rozhraní AI a DevOps vzniknou proto nové pracovní pozice, např. stratég AI QA, což bude současně technická i obchodní pozice, dále pak „vědecké“ pozice pro testování softwaru, kde se budou vyžadovat hlubší znalosti matematiky/statistiky. Studie doporučuje vytvářet nové týmy, respektive rozšířit stávající skupiny testerů.

James Kobielus, dříve evangelista pro data science v IBM a nyní analytik společnosti Wikibon, ve svém komentáři pro InformationWeek uvádí, že umělá inteligence vylepšuje procesy testování softwaru, respektive CI/CD prakticky ve všech oblastech, ať už jde o plné pokrytí (pokrývají se všechny scénáře, AI lze i vyladit pro speciální sledování statisticky nepravděpodobných událostí, které se např. zneužívají při útocích), rychlost, kvalitu (ve smyslu kvality samotných testů, kdy AI např. zkoumá, nakolik jsou testy opakovatelné a účinné, zjišťuje a analyzuje jejich selhání apod.). Speciálně se umělá inteligence v porovnání s jinými metodami automatizace může uplatnit i při testech uživatelského rozhraní (např. zkoumá, zda jsou jednotlivé prvky rozhraní vždy viditelné a přístupné; též viz dále). AI dokáže také testy softwaru orchestrovat (srovnávat s výsledky testů předcházejících verzí, pomáhat při změně priorit…) a u složitých nebo nějak subjektivních testů také pomoci s vyhodnocením výsledků.

Nástroje pro automatizaci softwarových testů poháněné umělou inteligencí jsou však v tuto chvíli ještě nezralé, připouští J. Kobielus. Zmiňuje produkty AI Testbot, Appdiff, Applitools, Appvance, Autify,  Functionize, Infostretch, Mabl, ReTest, Selenic, Test.ai a Testim.io, ty se však mezi vývojáři dosud prosadily pouze v omezené míře – a když tak v DevOps procesech pro mobilní a webové aplikace spíše než v obecných projektech podnikového softwaru nebo komplexních cloudových aplikací. Kobielus očekává, že dodavatelé nástrojů pro práci s kódem na nízké úrovni začnou už brzy do svých nástrojů přidávat komponenty, které umožní, respektive optimalizují testování vyvíjeného kódu pomocí systémů umělé inteligence.

Z druhé strany se podle World Quality Report výzvou stávají testy implementace systémů umělé inteligence, stejně jako řešení pro IoT nebo blockchain. 97 % respondentů má ve svých produktech nějak zapojen systém IoT a řeší především otázku, co zpracovávat centrálně a co přímo u příslušných zařízení (edge computing). Překvapivě již 66 % respondentů uvádí, že v jejich podniku se již nějak využívá blockchain, což opět znamená změnu procesů testování/zajišťování kvality. Zajímavostí je i to, že jako hlavní příčina testování softwaru se letos poprvé uvádějí nikoliv technické parametry (bezpečnost, správné fungování algoritmu…), ale to, aby software zlepšoval zákaznickou zkušenost, čili důraz se klade na uživatelské rozhraní, respektive ještě obecněji na to, jak software pomáhá plnit obchodní cíle podniku.

Nejnižší využití nových technologií i samotného přístupu DevOps je podle průzkumu charakteristické pro veřejný sektor. Zde existují nejmenší požadavky na agilitu, respektive konkurenční boj nevyžaduje rychlejší uvádění nových produktů a služeb na trh.

Exit mobile version