Spletne aplikacije vse bolj nadomeščajo lokalno programsko opremo in z njihovo vsakodnevno uporabo na različnih napravah, so se povečale tudi potrebe in zahteve uporabnikov, ki od spletnih storitev upravičeno pričakujejo karseda nemoteno in brezhibno delovanje. Slednje razvijalce vodi k uporabi zahtevnejših in temeljitejših oblik testiranj, med katerimi poseben izziv prav gotovo predstavlja avtomatizacija testnega procesa, zlasti vizualnega vmesnika aplikacij. Z razvojem in rabo naprednih orodij za testiranje si želimo povečati možnost pravočasnega odkrivanja napak, in preprečiti napake v produkcijskem okolju.
Ker je področje avtomatizacije testiranja, še posebej vizualnega dela spletnih aplikacij, takorekoč še v povojih, nam je v veliko veselje, da se lahko s tako zanimivimi izzivi spopadamo skupaj z ekipo iz podjetja Celtra in izvrstnih študentov Fakultete za računalništvo in informatiko v Ljubljani.
Cilji skupnega projekta so izboljšati procese in orodja za testiranje, bistveno zmanjšati obseg ročnega testiranja, posledično pravočasno odkriti in zmanjšati število napak v programski opremi, še posebej napake v obstoječi kodi zaradi dodajanja novih funkcionalnosti, ter s tem zagotoviti brezhibno delovanje celotnega sistema.
Celoten proces izboljšave testiranja vizualnega vmesnika sistema (t.i. področje “front-end” tehnologij in dizajna) smo razbili na več medsebojno povezanih nalog:
• razvoj lastnega procesa z zelo ambiciozno idejo, s trenutnim delovnim imenom WizEye, ki bi imela skoraj čarovniško moč pri kontinuiranem nadzoru nad oblikovnim delom aplikacije. Testiranje poteka s pomočjo primerjave referenčnih, potrjenih izgledov posameznih delov aplikacije z novimi, dinamično nastalimi spremembami, ki so posledica razvoja in sprememb izvorne kode, ki si jo deli celotna platforma,
• implementacija in dodelava orodja, ki omogoča simultan pregled delovanja aplikacije v različnih brskalnikih, in s tem zmanjša čas, ki se nameni ročnemu testiranjem tudi do 300%,
• implementacija primernega orodja kot je npr. odprto-koden UnCSS, za identifikacijo odvečnih opisnih slogov (CSS deklaracije) v aplikaciji, kar omogoča samodejno odkrivanje odvečne kode, hitrejši razvoj, zmanjša velikost datoteke in pohitri delovanje celotne aplikacije ter posledično izboljša uporabniško izkušno,
• zasnova in razvoj Celtrinega repozitorija elementov grafičnega vmesnika (ang. "User Interface Pattern Library”), s katerim bomo zagotovili, da se elementi lažje ponovno uporabijo, prepreči podvajanje elementov, omogoča hitrejši razvoj, olajša vzdrževanje in posledično vpliva na zmanjšanje velikost izvorne kode ter zmanjša možnost napak.