Masinõppel põhinev veebilehtede ühilduvusdiagnostika

Date

2013

Journal Title

Journal ISSN

Volume Title

Publisher

Tartu Ülikool

Abstract

Tulenevalt veebitehnoloogia kiirest arengust ja standardite rakendamise aeglusest, on tulemuseks probleemid veebilehtede ühilduvuses. Veebiarendajad peavad igapäevaselt tegelema ühilduvusprobleemiga, mis seisneb veebilehtede erinevas renderdamises üle laia valiku erinevate veebilehitsejate ja operatsioonisüsteemide. Kuigi standarditele vastav veebileht tagab suurema veakindluse, siis on praktikas renderdusvead siiski väga sagedased ja vahelduvad vähetähtsatest kuni kriitiliste vigadeni, nagu näiteks mõne nupu puudumine veebilehel, mis on renderdatud konkreetse veebilehitseja ja operatsioonisüsteemi konfiguratsiooni koosluses. Tuvastamaks renderdamisest tulenevaid ühilduvusvigu peavad arendajad visuaalselt kontrollima veebilehtede korrektsust üle valiku veebilehitseja ja operatsioonisüsteemi kombinatsioonide. Selline testimisviis on aeganõudev ja vigaderohke. Olemasolevad automaatsed testimislahendused kiirendavad testimise protsessi. Nendes lahendustes renderdatakse esmalt veebileht mitmel konfiguratsioonil, misjärel teostatakse kas dokumendiobjektide mudelil (DOM) või pilditöötlusel põhinev analüüs, tuvastamaks potentsiaalseid vigu. Hetkel olemasolevate lahenduste puuduseks on ülitundlikkus. Selle tulemuseks on suur hulk vale-positiivseid tulemusi. Isegi väikseimad erinevused klassifitseeritakse vigadeks. Vale-positiivsete tulemuste vähendamine on raskendatud, tulenevalt sellest, et vea kriteerium ei ole alati jäigalt objektiivne. Antud magistritöö pakub välja masinõppel põhinevad lahendused, parandamaks veebilehitsejate ühilduvustestide tulemusi, kas pilditöötluse (Browserbite) või DOM analüüsil (Mogotest) põhineva lahenduse näitel. Klassifikaatorite treenimiseks ja testimiseks valiti üle 140 veebilehe, mis renderdati 10 või 14 konfiguratioonil. Klassifitseerimisel kasutati kahte erinevat algoritmi: klassifikatsioonipuud ja tehisnärvivõrke. Ulatuslikud eksperimentaalsed katsed näitasid, et tehisnärvivõrgul põhinev klassifikaator on täpsete omadustega, nii pilditöötlusel kui ka DOM analüüsil põhinevate tulemuste klassifitseerimisel. Lisaks antakse töös ülevaade pilditöötluse ja DOM analüüsi meetodite kombineerimisest veebilehitsejate ühilduvuse testimisel.
Due to the rapid evolution of Web technologies and the failure of Web standards to uniformize every single technology evolution, Web developers are faced with the challenge of ensuring that their applications are correctly rendered across a broad range of browsers and platforms. While abidance to Web standards may reduce the chances of Web documents being inconsistently rendered across multiple browsers, in practice cross-browser compatibility issues are recurrent and range from minor layout bugs to critical functional failures such as a button being invisible in a given browser-platform combination. To detect cross-browser incompatibilities, developers often resort to visually checking that each document produced by their application is consistently rendered across all relevant browser-platform combinations. This manual testing approach is time consuming and error-prone. Existing cross-browser compatibility testing tools speed up this process by automating the rendering of a Web document in multiple browsers and platforms, and applying either image analysis or Document Object Model (DOM) analysis to highlight potential cross-browser incompatibilities. However, existing tools in this space suffer from over-sensitivity, meaning that they produce a large number of false positives as they tend to classify even insignificant differences as potential incompatibilities. Reducing the number of false positives produced by cross-browser compatibility testing tools is challenging, since defining criteria for classifying a difference as an incompatibility is to some extent subjective. This Master's thesis presents a machine learning approach to improve the accuracy of two techniques for cross-browser compatibility testing – one based on image analysis (Browserbite) and one based on DOM analysis (Mogotest). To this end, we selected over 140 Web pages, each rendered in 10 to 14 browser-system combinations and built statistical classifiers to differentiate between true incompatibilities and false alarms. Two classification algorithms were used, namely classification trees and neural networks. An extensive experimental evaluation shows that neural networks produce highly accurate classifiers, both when post-processing the outputs of the image-based and the DOM-based technique. An attempt to combine image and DOM-based analysis is also reported.

Description

Keywords

Citation