Ali lahko AI testira namizno programsko opremo?

Zaposleni knjiži prejem blaga v Windows aplikaciji, natisne dobavnico, in preda podatke računovodstvu. Po posodobitvi se pogovorno okno pojavi na drugem mestu, polje izgubi fokus, tiskanje se ne zažene več. Vprašanje "can AI test desktop software" je zato manj teoretično, kot se sliši: ali lahko sistem prepozna take napake pred naslednjo jutranjo izmeno?

Da. Umetna inteligenca lahko testira namizno programsko opremo Windows, še posebej tam, kjer klasična avtomatizacija odpove pri spreminjajočih se vmesnikih, nedoslednih kontrolnikih, ali skriptah, ki so drage za vzdrževanje. Vendar ni nadomestilo za jasne testne cilje, čiste testne podatke, in poslovno odgovornost. Njena vrednost nastane, ko zanesljivo prevzame ponovljivo delo in usmeri ljudi k primerom, ki zahtevajo presojo.

Ali lahko AI testira namizno programsko opremo - in kaj to pomeni v praksi?

Namizni testi ne preverjajo le, ali se okno odpre. V resničnem delovanju gre za popolne delovne tokove: prijava s pravilno logiko blokiranja, vnos naročila, izbira artikla, knjiženje zalog, tiskanje nalepk, sporočila o napakah pri neveljavnih podatkih, in pravilna predaja povezanemu sistemu.

Testno okolje, ki ga poganja umetna inteligenca, lahko izvaja te delovne tokove na računalniku Windows, oceni vidni vmesnik, in ustvari dokaze. Lahko, na primer, prepozna gumbe glede na besedilo in položaj, bere vsebino iz pogovornih oken, in primerja posnetke zaslona s pričakovanim stanjem. Za razliko od toge skripte se bolje spopade z manjšimi vizualnimi spremembami - na primer ko se spremeni ikona, razmik, ali natančen tehnični identifikator kontrolnega elementa.

To je še posebej pomembno pri poslovnih aplikacijah, ki so rasle skozi čas. Mnogi od teh programov nimajo sodobnega API-ja za vsak proces. Nekateri uporabljajo lastniške vmesnike, vgrajene tabele, ali komponente, ki jih je težko nagovoriti s konvencionalno UI avtomatizacijo. Agent umetne inteligence lahko aplikacijo upravlja bolj tako, kot to počne usposobljen uporabnik: prebere zaslon, izbere dejanje, preveri rezultat.

Beseda "bolj" je izbrana namerno. Umetna inteligenca samodejno ne vidi poslovnega procesa za vnosnim poljem. Lahko ugotovi, da je bila dobavnica ustvarjena. Ali je bilo treba za določenega kupca uporabiti pravilen dobavni pogoj, zahteva poslovno opredeljeno pričakovanje.

Kje so AI testi smiselni za Windows aplikacije

Najboljša izhodiščna točka so delovni tokovi, ki se pogosto pojavljajo, so poslovno kritični, in se danes preverjajo ročno. Ekipi za to ni treba avtomatizirati celotnega kataloga testov. Bolje je izbrati tistih nekaj procesov, katerih izpad neposredno stane čas, denar, ali zaupanje.

V skladišču, proizvodnji, in dispoziciji sem pogosto sodijo ustvarjanje in knjiženje prejema blaga, procesi komisioniranja in odpreme, pooblaščene korekcije zalog, tiskanje nalepk, ter procesi uvoza in izvoza. V komercialnih aplikacijah so prijava, sprememba pravic, izdelava računov, vzdrževanje matičnih podatkov, in predaje vmesniku tipični kandidati.

Umetna inteligenca je še posebej koristna tam, kjer izdaja trenutno sproži ročni kontrolni dan. Tester tedaj klika skozi dolg seznam, dokumentira nepravilnosti, in kasneje poskuša rekonstruirati, kaj se je natančno zgodilo. Avtomatizirana izvajanja lahko ta del prenesejo v noč ali v fiksen proces izdaje. Zjutraj ni na voljo samo stanje, temveč testni zapisnik s posnetki zaslona, časovnimi žigi, in razumljivim opisom odstopanja.

Regresijski testi tudi imajo koristi od tega. Ko se v pogovorno okno naročila vgradi nova funkcija, se obstoječi procesi ne bi smeli neopazno pokvariti. Umetna inteligenca ponovi opredeljene scenarije po vsaki relevantni spremembi. To ne odpravi vsakega tveganja, vendar preprečuje, da bi znani ključni delovni tokovi ostali nepreverjeni samo zato, ker manjka časa.

Kaj lahko umetna inteligenca zanesljivo preveri - in kaj ne

Testi vmesnika, ki temeljijo na umetni inteligenci, so močni pri opazljivih pričakovanjih. "Po shranjevanju se pojavi številka naročila." "Ob manjkajočem obveznem podatku se prikaže opozorilo." "Zaloga se zmanjša za pet." "Pogovorno okno tiskanja vsebuje predvideni tiskalnik." Take trditve se prevedejo v konkretne korake preverjanja.

Težje postanejo zahteve, ki so nenatančno formulirane. "Vmesnik naj izgleda profesionalno" ali "program naj bo hiter" nista zadostna testna primera. Tu so potrebni kriteriji: največji čakalni čas pod opredeljeno obremenitvijo, odobrena postavitev, ali jasna pravila sprejemljivosti za sporočila o napakah.

Tudi pri zapletenih poslovnih posebnih primerih ostaja človeško testiranje nepogrešljivo. Če pravilo vračila velja za eno samo okvirno pogodbo, mora nekdo s poznavanjem procesa odločiti, ali je rezultat pravilen. Umetna inteligenca lahko primer pripravi, izvede, in dokumentira. Ne bi smela samovoljno izumljati novih poslovnih pravil.

Druga omejitev je stabilnost okolja. Namizni testi so odvisni od ločljivosti zaslona, uporabniških pravic, omrežne povezave, gonilnikov tiskalnika, testnih podatkov, in, kjer je relevantno, priključene strojne opreme. Če je tiskalnik nalepk brez povezave, je lahko neuspešen test prava napaka - ali težava z okoljem. Dobri testni sistemi ločujejo te primere in jih pregledno poročajo, namesto da vse pavšalno ocenijo kot napako izdelka.

Tehnična osnova odloča o koristi

Uporaben namizni test je več kot zaporedje klikov z miško. Potrebuje nadzorovan računalnik ali navidezno okolje Windows, opredeljene uporabniške račune, ponovljive izhodiščne podatke, in jasna pravila za ponastavitve. Sicer test v torek preveri drugačno stanje kot v ponedeljek in ustvarja razprave namesto gotovosti.

Enako odločilni so dokazi. Zelena kljukica brez konteksta malo pomaga, ko poslovni oddelek prijavi napako. Vsako izvajanje bi zato moralo spremljati izvedene korake, posnetke zaslona na pomembnih mestih, vidna sporočila o napakah, in časovno oznako. Pri odstopanjih mora biti prepoznavno, ali je aplikacija napačno reagirala, pričakovanega elementa ni bilo mogoče najti, ali je bilo testno okolje blokirano.

Pri občutljivih aplikacijah vprašanje o mestu izvajanja ni stranska zadeva. Posnetki zaslona, dostopni podatki, podatki o strankah, in interni procesni zasloni lahko vsebujejo zaupne informacije. Kdor pusti teste teči prek zunanjih storitev, bi moral natančno preveriti, kateri podatki zapustijo lastno okolje, kako dolgo se shranjujejo, in kdo pridobi dostop.

Za ekipe z ustreznimi zahtevami je lahko samostojno gostovano okolje smiselnejše.

softify.pro za to upravlja COCO, lasten strežnik umetne inteligence za avtomatizirano spletno in aplikacijsko testiranje. Izvajanje, testni dokazi, in ocena lahko ostanejo znotraj nadzorovanega poslovnega okolja. To ni potrebno za vsako aplikacijo, vendar je pri notranjih poslovnih sistemih, osebnih podatkih, ali strogih zahtevah IT pogosto čistejša arhitektura.

Kako ekipa začne, ne da bi projekt avtomatizacije testiranja ušel izpod nadzora

Smiseln začetek se ne začne z izbiro orodja, temveč s procesom. Vzemite delovni tok, ki se preverja vsaj tedensko in katerega posledice napak so sledljive. Proces odpreme je bolj primeren kot zbirka dvajsetih naključnih zaslonov.

Nato opišite poslovno pot v jasnih stavkih: izhodiščno stanje, vnose, pričakovana vmesna stanja, pričakovan končni rezultat. Dodajte tudi negativni primer. Kaj se mora zgoditi, če manjka številka serije, uporabnik nima pooblastila, ali zaloga ni zadostna? Prav ta pravila se pri ročnih testih pogosto izpustijo, čeprav lahko v vsakdanjem delovanju postanejo draga.

Nato sledi omejen pilotni projekt s stabilnimi testnimi podatki in opredeljenim okoljem. Ne merite le, ali test deluje. Merite, koliko ročnih kontrolnih minut nadomesti, koliko lažnih alarmov se pojavi, in ali so dokazi zadostni za razvoj in poslovni oddelek. Šele ko ta osnova deluje, se izplača razširitev na nadaljnje procese.

Vzdrževanje k temu sodi od samega začetka. Če se zaslon poslovno spremeni, je treba prilagoditi tudi pričakovanje. To ni argument proti avtomatizaciji. Gre za običajno vzdrževanje programske opreme - primerljivo s posodabljanjem delovnega navodila, ko se spremeni skladiščni proces.

Ne rabi se vsak klik avtomatizirati

Nekatere ekipe od AI testov pričakujejo popolno pokritost. To hitro vodi do visokih stroškov za redke izjemne primere, katerih preverjanje bi bilo ročno hitrejše in zanesljivejše. Dobra testna strategija namesto tega daje prednost glede na tveganje, pogostost, in tempo sprememb.

Redko uporabljeno administratorsko pogovorno okno z nizko posledico napake se lahko še naprej preverja s kratkim ročnim kontrolnim seznamom. Dnevni prejem blaga z več naslednjimi koraki si nasprotno zasluži avtomatizirane regresijske teste in čiste dokaze. Boring, provable reliability tu premaga veliko, a krhko zbirko testov.

Začnite s procesom, pri katerem bi bila napaka naslednji delovni dan resnično opazna. Ko se ta delovni tok preverja avtomatizirano, sledljivo, in ponovljivo v vašem lastnem okolju, avtomatizacija testiranja postane zanesljiva operativna prednost - ne pa še en IT projekt z lepimi diapozitivi.