1 |
Processen att välja ett verktyg för automatiserad GUI-testning : En fallstudieHallnemo, Martin January 2013 (has links)
Grafiska användargränssnitt (GUI) utgör en viktig del hos många programvaror. En vanlig verifieringsteknik för programvara är testning, vilket ofta upptar mycket tid inom utvecklingsprojekt. En ansats till en effektivare testning med högre kvalitet är testautomation. Att automatisera tester för GUI:n är ofta svårt men värdefullt. Ett vanligt problem är att verktyg med otillräcklig funktionalitet införskaffas för automatiseringen, vilket kan bero på bristfälliga utvärderingar. I den här rapporten presenteras kriterier som kan användas vid en utvärdering av automatiserade GUI-testningsverktyg, vilka kan öka chanserna för att rätt verktyg införskaffas. Dessa kriterier har identifierats genom en litteraturstudie och fallstudie. Kriterier för urval av verktyg för utvärdering, selektionskriterier, har kategoriserats enligt ISO/IEC 9126, och utvärderingskriterier utifrån testprocessen. Delar av kriterierna har utvärderats i en fallstudie för två Capture & Replay verktyg. Utifrån fallstudien går det att konstatera att åtminstone delar av kriterierna kan användas, och att de ger värdefull information vid en utvärdering.
|
2 |
Automatiserad symboltestning i det grafiska gränssnittet på Gripen NG / Automated testing of symbols in the graphical interface in Gripen NGForsberg, Martin, Lindroth, Linnea January 2020 (has links)
Saab är i slutfasen av utvecklingen av Gripen Next Generation och söker därför en metod för att autonomt kunna regressionstesta symboler i det grafiska gränssnittet i cockpit. Detta examensarbete fokuserar på att utvärdera befintliga metoder av automatiserad GUI-baserad testning för att automatiskt kunna jämföra det grafiska gränssnittet på en skärm och implementera den mest lämpade metod för att ta fram ett bevis av koncept. Målet med implementationen är att kunna visa att metoden kan hitta de problem som kan uppstå vid mjukvaruuppdateringar och försäkra att ingen uppdatering av mjukvara påverkar symbolerna i det grafiska gränssnittet på ett negativt sätt. Implementationen är en metod av Visuell GUI Testning vilket är den tredje generationen av automatiserad GUI-baserad testning och har gjorts i C++ med OpenCV bibliotek för bildhantering och bildjämförelse. Det testmaterial som använts är i form av bilder och en video som insamlats med en intern funktion för skärminspelning i det grafiska gränssnittet. Slutsatsen av resultatet från testerna som genomförts visar att det är möjligt att verifiera statiska symboler i det grafiska gränssnittet men att verifiering av dynamiska symboler kräver vidare arbete då förutsättningarna för identiska tester inte är möjligt i dagsläget. / Saab is in the final phase of development of the new Gripen Next Generation and is therefore looking for a method to autonomously test the graphical interface in the cockpit for visual regressions. This thesis evaluates existing methods of automated GUI-based testing to automatically compare the graphical interface on a screen and implement the most suitable method to produce a proof of concept. The goal of the implementation is to show that the method can solve the problems that can arise in software updates and ensure that no software updates adversely affect the symbols in the graphical interface. The implementation is a method of Visual GUI Testing which is the third generation of the automated GUI-based testing and has been made in C++ with OpenCV-library for image recognition and comparison. The test material that has been used is images and videos collected with an internal screen recording function in the graphical interface. The results indicate that it is possible to verify static symbols in the graphical interface, yet that verification of dynamic symbols require further work as the conditions for identical test are not possible in the current situation.
|
3 |
Robotic Process Automation in automated GUI testing of Web Applications / Robotic Process Automation i automatiserad GUI-testning av webbapplikationerHeiskanen, Andreas January 2021 (has links)
To ensure that the web applications we use in our daily life work as intended, thorough testing is essential. Testing of the Graphical User Interface (GUI) is one of the more challenging parts of software testing and is often a manual process. There are several ways to automate GUI testing. Robotic Process Automation (RPA), a recent technology where a software robot mimics the actions of a human operator, has been suggested as a method of improving automated GUI testing. This thesis study investigates the viability of using an RPA-based approach for automated GUI testing of web applications by evaluating how well it compares to a dedicated software tool developed specifically for automated GUI testing in terms of performance and user experience. This thesis study presents an RPA-based approach using UiPath for testing the GUI of web applications and compares it with an approach using Selenium IDE. To compare the two approaches, a web application provided by Sellpy is used as the application under test. A set of test cases is created based on a user-flow analysis. The test cases are implemented using each approach and performance in terms of execution time, number of flaky tests, and code footprint is evaluated for each approach. In addition, a user study is conducted to evaluate and compare the user experience when using each approach. The results show that an RPA-based approach can be used for automated GUI testing of web applications. The RPA-based approach managed to achieve the same amount of testing coverage. In terms of performance, the results in this study show that the approach using Selenium IDE outperforms the RPA- based approach in both execution time and code footprint. On the other hand, the RPA-based approach had fewer number of flaky tests. The test subjects preferred the RPA-based approach, but the study showed that the difference was not statistically significant. Based on the results, we draw the conclusion that an RPA-based approach using UiPath can be used in automated GUI testing of web applications. However, we suggest more research aimed at investigating long-term usage. / För att säkerställa att de webbapplikationer vi använder i vårt dagliga liv fungerar som planerat är ordentlig testning nödvändig. Testning av det grafiska användargränssnittet (GUI) är en av de mer utmanande delarna inom mjukvarutestning och är ofta en manuell process. Det finns dock sätt att automatisera denna process. Robotic Process Automation (RPA) är en ny teknik där en mjukvarurobot härmar mänskligt beteende och har föreslagits som en metod att förbättra automatiserad GUI-testning. Denna studie undersöker hur väl ett RPA-baserat tillvägagångssätt kan användas för automatiserad GUI-testning av webbapplikationer genom att jämföra den med ett programvaruverktyg som utvecklats specifikt för automatiserad GUI-testning. Jämförelsen sker genom att undersöka exekveringstid, antal odeterministiska tester och storleken av testfilerna. Denna studie redogör ett RPA-baserat tillvägagångssätt där UiPath används och jämför den med ett tillvägagångssätt där Selenium IDE används. För att jämföra det två tillvägagångssätten används en webbapplikation som tillhandahålls av Sellpy och används som applikation-under-test (AUT). En användarflödesanalys utförs och resultatet används för att skapa en uppsättning testfall. Testfallen implementeras med de båda tillvägagångssätten och en prestandaanalys genomförs, där exekveringstid, antal odeterministiska tester och filstorlek undersöks. Dessutom genomförs en användarstudie för att undersöka och jämföra tillvägagångssättens användarupplevelse. Resultaten visar att ett RPA-baserat tillvägagångssätt kan användas för automatiserad GUI-testning av webbapplikationer. Den RPA-baserade metoden lyckades uppnå samma testtäckning. Vad gäller prestanda så visar resultaten i denna studie att Selenium IDE presterar bättre än UiPath både när det gäller exekveringstid och filstorlek. Däremot hade UiPath färre odeterministiska tester. Användarstudien visade ingen signifikant skillnad mellan de två tillvägagångssätten, men testpersonerna föredrog det RPA-baserade tillvägagångssättet. Baserat på resultaten från denna studie drar vi slutsatsen att ett RPA-baserat tillvägagångssätt med UiPath kan användas som ett alternativ vid automatiserad GUI-testning av webbapplikationer. Vi föreslår dock mer forskning där långsiktig användning undersöks.
|
4 |
Automatiserade GUI-tester i praktiken : En fallstudie på Triona AB / Automated GUI-testing in practice – a case study at Triona ABDahl Thomas, Eva, Borg, Robin January 2020 (has links)
Testning är en nödvändig men kostsam del av mjukvaruutveckling. Test utförs på olika abstraktionsnivåer och kan vara manuella eller automatiserade. På lägsta abstraktionsnivå, enhetsnivå, är automatiserad testning vanligt och relativt okomplicerat, medan systemtester är svårare att automatisera. I synnerhet gäller detta tester på ett grafiskt användargränssnitt (GUI) som kräver speciella verktyg. Triona vill undersöka möjligheterna att automatisera regressionstester från GUI:t av sin produkt C-Load, en molnbaserad webbtjänst för avtalsbaserad transportbokning. Det primära syftet med denna fallstudie är att med en anpassad urvalsprocess utvärdera ett möjligt verktyg i förhållande till C-Load-förvaltningens förväntningar på automatiserad GUI testning (AGT) och att utifrån resultatet föreslå hur C-Loadförvaltningen kan gå vidare med val av verktyg för AGT. För att uppfylla syftet användes litteraturstudier, intervjuer och observationer av praktiska test. Verktyg för GUI-testning kan delas in i tre huvudkategorier: skriptbaserade, modellbaserade och skriptlösa. Baserat på tidigare forskning drogs slutsatsen att ett skriptbaserat verktyg där koden i testskripten skrivs manuell bäst passar C-Loadförvaltningens krav och förutsättningar. Det mest använda verktyget av denna typ, Selenium WebDriver, utvärderades kvalitativt gentemot identifierade krav. Av tidigare forskning framgår att vanliga utmaningar med skriptbaserade GUI-tester är att arbetsinsatsen för att skapa och underhålla testskript är stor och att testen kan vara opålitliga. Dessa problem framkom också i studiens intervjuer och observationer. Slutsatsen är att det vore möjligt att automatisera regressionstester av C-Load med hjälp av Selenium Webdriver, och att det på sikt skulle kunna frigöra tid. Initialt krävs dock en omfattande insats för att implementera automatiserade tester i förvaltningen och Selenium Webdriver uppfyller bara delvis C-Load-förvaltningens förväntningar på AGT. C-Load-förvaltningen rekommenderas att utvärdera fler verktyg innan beslut fattas. I en kommande urvalsprocess bör Triona beakta hur väl olika verktyg fungerar i förhållande till moderna webbramverk. / Testing is a necessary but costly part of software development. Tests are performed at different abstraction levels and can be either manual or automated. On the lowest level of abstraction, where unit testing is performed, automated testing is commonplace and relatively uncomplicated, whereas system testing is more difficult to automate. This is especially true for GUI-testing, which requires special tools. Triona wished to investigate possibilities to automate regression testing of the GUI for its C-load product, which is a Cloud-based web-service for contract-based transport booking. The purpose of this case study was to evaluate one tool for automated GUI-testing (AGT) against the C-Load team’s expectations on AGT, and based on the result recommend Triona how to proceed in the process of implementing AGT. Literature studies, observations and interviews were conducted to fulfil the purpose. GUI-testing tools can be classified into three categories: script-based, model-based and scriptless. One conclusion was that a script-based tool, where test scripts are manually coded would best suit Triona’s needs. The most used tool in that category, Selenium WebDriver, was tested and evaluated against requirements. Prior research shows that common challenges encountered when using script-based GUItests are the workload required to create and maintain test scripts and that the tests can deliver inconsistent or “flaky” results. These challenges were confirmed during our analysis. Our conclusion is that it is possible to automate C-Load regression tests with Selenium WebDriver, and that it would eventually free up time. However, a considerable effort is initially required to implement automated testing. Selenium Webdriver only partly fulfills the C-Load team’s expectations on AGT. Before a decision is taken, the C-Load team should evaluate more tools. When evaluating tools for AGT, Triona should take note that Selenium Webdriver can be deficient when it comes to testing applications based on modern web frameworks.
|
Page generated in 0.0774 seconds