Summary: | Regression testing is important but time consuming. Automating the testing have many benefits. It will save money for companies because they will not have to pay testers to manually test their applications. It will produce better software with less bugs as testing can be done more frequently so bugs will be found faster. This thesis has compared two techniques used to automate regression testing. The more traditional component level record and replay tools and Visual GUI testing tools that uses image recognition. Eight tools in total was tested and compared, four from each technique. The system under test for this project was a fat client application used by Trafikverket. After automating a test suite using all tools, it could be concluded that the component level record and replay had some advantages over visual GUI testing tools, especially when it comes to verifying the state of the system under test. The benefits of visual GUI testing tools comes from their independence from the system under test and that the technique more correctly mimics how a real user interacts with the GUI. === Regressionstestning är en viktig men tidskrävande del av mjukvaruutveckling. Att automatisera testningen har flera fördelar. Det sparar pengar för företag eftersom de inte behöver betala testare för att manuellt utföra testerna. Det resulterar i bättre mjukvara med färre buggar eftersom man kan testa oftare och därmed hitta buggar tidigare. Det här projektet har undersökt och jämfört två tekniker som kan användas för att automatisera regressionstestning och verktyg som använder dessa tekniker. Dels de traditionella verktygen som identifierar objekt på komponentnivå samt verktyg som istället använder sig av bildigenkänningför att identifiera objekt. Totalt testades och uvärderades åtta verktyg, fyra av varje tekniktyp. Systemet som testades under projektet är en skrivbordsapplikation som används av Trafikverket. After att ha automatiserat en testsekvens med varje verktyg kunde konstateras att verktygen som identifierar objekt på komponentnivå har flera fördelar över verktyg som enbart använder bildigenkänning. Detta gäller främst när det kommer till verifiering av systemets tillstånd. Den största fördelen med bildigenkänningsverktygen visade sig vara dess oberoende från systemet, samt att tekniken mer efterliknar en verklig användare.
|