1 |
Agentbaserad Simulering som Kontinuerlig Testning av API:er : Utveckling av Simulationsbaserad Testning på uppdrag av Coredination ABBoström, Joakim, Risén, Felix January 2017 (has links)
Ett simulationsbaserat testningssystem tas fram i samarbete med molntjänsten Coredination för att testa deras API (Application Programing Interface) och tjänst. Design och utveckling skedde iterativt med en loggbok för informationsinsamling. Arbetet baserade sig i riktlinjer för agentbaserad simulering framtagna av Macal & North (2010). Simulationstestningen bestod av ett antal agenter som med hjälp utav beteendeträd fattade beslut som liknar de beslut en användare av systemet skulle göra. Från detta togs ett antal lärdomar samt en systemarkitektursmodell fram för att underlätta utveckling av simulationsbaserad testning i andra sammanhang. Dessa lärdomar innefattar att göra en tydlig förstudie, arbeta iterativt med projektet, utveckla för modularitet och initialt för kommunikation mellan agenterna, bygg på nodernas funktionalitet i efterhand, avsätt gott om tid för design av beteendeträd, utveckla endast det absolut enklaste fallet först samt var inte rädd att ändra systemarkitekturen utefter agenternas planerade beteenden.
|
2 |
Utveckling av testverktyg för mjukvara med fysiska komponenter / Development of a Testing Tool for Software with Physical ComponentsAndersson, Adam January 2018 (has links)
A lot of time is spent on manual software testing. When software can interact with exponentially more and more components the number of tests required will increase at the same rate. Automation of these manual tests has been previously shown that a time-saving can occur with test automation. When tests need to be done on software that interacts with physical components the results of testing automation are harder to predict. This thesis aims to explain the impact of physical components on the development and the result of test tools developed for use on automated tests on objects with physical components. In this work, a test tool for automatic regression testing for height adjustable table legs were developed. The method used to design the tool was Design Science Research where, for example, TESLA was adapted for use in automated tests with physical components. TESLA is a language for specifying test cases and allowing test automation with embedded systems that was implemented in the test tool's design which could be used to automatically generate scripts and automatically executes test cases. With the development and design of the testing tool, the thesis attempted to answer how a test tool should be designed when physical components are included in the test object and how the measurement accuracy of the tool may affect the test result. Experiments have been carried out during the development process where regression tests have been performed according to a test protocol. During these experiments a test protocol is executed. One manually by hand and one is done automatically with the testing tool. The results of the experiments show that the execution of the test protocol execution with the test tool gave a time saving of 35% compared to the manual tests. The physical components of the test object were shown to affect the automatic execution time negative and further analysis of previous research has shown that this result is insufficient to justify the large initial time that is required to automate tests. / Mycket tid spenderas ofta på manuell testning av mjukvara. Då en mjukvara kan interagera med exponentiellt mer komponenter så kommer antalet tester att öka i samma takt. Automatisering av dessa manuella tester har med tidigare forskning bevisat att en tidsbesparing kan ske med testautomatiseringen. Då tester måste utföras på mjukvara som interagerar med fysiska komponenter så är resultaten av testautomatisering inte lika klara och arbetet syftar på att förklara de fysiska komponenternas påverkan på utveckling och resultatet för testverktyg som används till automatisk testning av testobjekt med fysiska komponenter. I detta arbete så framtogs ett testverktyg för automatiska regressionstest för höj och sänkbara bordsben. Metoden som användes för att utveckla verktyget var Design Science Research där till exempel TESLA anpassades för användning i automatiska tester med fysiska komponenter. TESLA är ett språk för att specificera testfall och möjliggöra testautomatisering i inbyggda system implementerades i testverktygets design och kunde då automatisk generera skript och automatiskt exekvera testfall. Med utvecklingen och design av testverktyget så försökte arbetet svara på hur ett testverktyg bör vara designat när fysiska komponenter ingår i testobjektet och hur testverktygets mätnoggrannhet kan påverka testresultatet. Experiment har utförts under arbetets gång där regressionstester har utförts enligt ett testprotokoll. Under experimenten utfördes ett testprotokoll manuellt för hand och ett automatiskt med testverktyget. I båda situationerna så mättes testprotokollets utförande i tid. Testverktyget gav en tidsbesparing på 35% visavi de manuella testerna. Testobjektets fysiska komponenter hade en negativ påverkan på den automatiska exekveringstiden och vidare analys av tidigare forskning har visat att detta resultat inte räcker för att motivera den stora initiala tidsinvestering som krävs för att automatisera tester.
|
3 |
Evaluation of tools for automatedacceptance testing of webapplications / Utvärdering av verktyg förautomatiserad acceptanstestningav webbapplikationerAl-Qaysi, Bashar, Björk, Sara January 2016 (has links)
Auddly provides a music management tool that gathers all information about a musical piece in oneplace. The acceptance testing on their web application is done manually, which has become bothtime and money consuming. To solve this problem, an evaluation on automated acceptance testingwas done to find a testing tool suitable for their web application. The evaluation was performed byfinding the current existing testing strategies to later compare the tools implementing these strategies.When analyzing the results it was found that two testing strategies were best suited for automatedacceptance testing. The Visual Recognition strategy that identifies components using screenshotsand the Record and Replay strategy that identifies them by their underlying ID. The choice betweenthem depends on which of these properties are modified more often.It was also found that automating acceptance testing is best applied for regression testing, otherwiseit should be performed with a manual approach.It was made clear that the Selenium tool, which uses the Record and Replay strategy, was best suitedfor Auddly’s acceptance testing. Selenium is able to test AJAX-calls with a manual modificationand is a free and open source tool with a large community. / Auddly tillhandahåller ett musikverktyg som samlar all information om ett musikstycke på ett endaställe. Acceptanstestningen på deras webbapplikation sker manuellt, som både blir tidskrävande ochdyrt. För att lösa detta problem har en utvärdering av automatiserade acceptanstestverktyg genomförtsför att hitta det verktyg som passar deras webbapplikation bäst. Utvärderingen utfördesgenom att hitta existerande teststrategier för att sedan jämföra de verktyg som implementerar dessastrategier.I analysen av resultatet framkom det att två av strategierna var mest passande för automatiseradeacceptanstester. Strategin Visual Recognition som identifierar komponenter genom skärmdumparoch strategin Record and Replay som identifierar de via deras underliggande ID. Valet mellan demberor på vilka av dessa egenskaper som ändras oftare.Det framkom även att automatisering av acceptanstester är mest lämpligt i regressionstestning, iandra typer av testning bör det ske manuellt.Det klargjordes att verktyget Selenium, som använder strategin Record and Replay, var det bästpassande för Auddly’s acceptanstestning. Selenium kan testa AJAX-anrop med en manuell modifieringoch är ett gratis verktyg med öppen källkod samt ett stort forum.
|
4 |
Data Visualization of Software Test Results : A Financial Technology Case Study / Datavisualisering av Mjukvarutestresultat : En Fallstudie av Finansiell TeknologiDzidic, Elvira January 2023 (has links)
With the increasing pace of development, the process of interpreting software test results data has become more challenging and time-consuming. While the test results provide valuable insights into the software product, the increasing complexity of software systems and the growing volume of test data pose challenges in effectively analyzing this data to ensure quality. To address these challenges, organizations are adopting various tools. Visualization dashboards are a common approach used to streamline the analysis process. By aggregating and visualizing test results data, these dashboards enable easier identification of patterns and trends, facilitating informed decision-making. This study proposes a management dashboard with visualizations of test results data as a decision support system. A case study was conducted involving eleven quality assurance experts with a number of various roles, including managers, directors, testers, and project managers. User interviews were conducted to evaluate the need for a dashboard and identify relevant test results data to visualize. The participants expressed the need for a dashboard, which would benefit both newcomers and experienced employees. A low-fidelity prototype of the dashboard was created and A/B testing was performed through a survey to prioritize features and choose the preferred version of the prototype. The results of the user interviews highlighted pass-rate, executed test cases, and failed test cases as the most important features. However, different professions showed interest in different test result metrics, leading to the creation of multiple views in the prototype to accommodate varying needs. A high-fidelity prototype was implemented based on feedback and underwent user testing, leading to iterative improvements. Despite the numerous advantages of a dashboard, integrating it into an organization can pose challenges due to variations in testing processes and guidelines across companies and teams. Hence, the dashboards require customization. The main contribution of this study is twofold. Firstly, it provides recommendations for relevant test result metrics and suitable visualizations to effectively communicate test results. Secondly, it offers insights into the visualization preferences of different professions within a quality assurance team that were missing in previous studies. / Med den ökande utvecklingstakten har processen att tolka testresultatdata för programvara blivit mer utmanande och tidskrävande. Även om testresultaten ger värdefulla insikter i mjukvaruprodukten, innebär den ökande komplexiteten hos mjukvarusystemen och den växande volymen testdata utmaningar när det gäller att effektivt analysera dessa data för att säkerställa kvalitet. För att möta dessa utmaningar använder organisationer olika verktyg. Visualiseringspaneler är ett vanligt tillvägagångssätt som används för att effektivisera analysprocessen. Genom att aggregera och visualisera testresultatdata möjliggör dessa instrumentpaneler enklare identifiering av mönster och trender, vilket underlättar välgrundat beslutsfattande. Den här studien föreslår en management-panel med visualiseringar av testresultatdata som ett beslutsstödssystem. En fallstudie genomfördes med elva experter inom kvalitetssäkring med olika roller, inklusive chefer, direktörer, testare och projektledare. Användarintervjuer genomfördes för att utvärdera behovet av en panel och identifiera relevanta testresultatdata att visualisera. Deltagarna uttryckte behovet av en visualiseringspanel, som skulle gynna både nyanställda och erfarna medarbetare. En prototyp av panelen med låg detaljnivå skapades och A/B-testning genomfördes genom en enkät för att prioritera funktioner och välja den föredragna versionen av prototypen. Resultaten av användarintervjuerna lyfte fram andel av godkända testresultat, exekverade testfall och misslyckade testfall som de viktigaste egenskaperna. Men olika yrkesgrupper visade intresse för olika testresultatmått, vilket ledde till skapandet av flera vyer i prototypen för att tillgodose olika behov. En prototyp med hög detaljnivå implementerades baserat på feedback och genomgick användartestning, vilket ledde till iterativa förbättringar. Trots de många fördelarna med en instrumentpanel kan det innebära utmaningar att integrera den i en organisation på grund av variationer i testprocesser och riktlinjer mellan företag och team. Därför kräver paneler anpassning. Det huvudsakliga bidraget från denna studie är dubbelt. För det första ger den rekommendationer för relevanta testresultatmått och lämpliga visualiseringar för att effektivt kommunicera testresultat. För det andra ger den insikter i visualiseringspreferenser för olika yrken inom ett kvalitetssäkringsteam vilket saknats i tidigare studier.
|
5 |
Regressionstestning ur agil synvinkel : En studie om testare och mjukvaruutvecklares uppfattning om regressionstestning / Regression testing through an agile point of veiw : A study about software testers and developers perception on regression testingVuckovic, Aljosa January 2022 (has links)
Då mjukvaruutveckling består av testning av mjukvara innebär det attmjukvarutestning ökar i takt med ny mjukvara. En typ av mjukvarutestning ärregressionstestning som innebär testning av befintlig mjukvara i syfte att säkerställaatt mjukvaran fungerar som planerat efter att ny funktionalitet tillkommer. Agilautvecklingsprocesser blir alltmer populära, dock är det brist på generell forskning sombetraktar regressionstestning ur en agil synvinkel. Denna studie ämnar undersöka hur agila mjukvaruutvecklingsteam arbetar medregressionstestning. Syftet med studien var att bidra med teoretisk kunskap kringregressionstestning ur agil kontext. För att genomföra undersökningen tillämpades enkvalitativ ansats med semi-strukturerade intervjuer. Tre testare och tre utvecklare frånett mjukvaruutvecklingsföretag intervjuades. Tematisk analys applicerades sedan tillstudiens resultat. Resultatet indikerar på att testare utgår ifrån sin domänkunskap samt kommunikationför att välja ut och avgöra omfattningen av testfall. Kommunikationen består avfunktionaliteten som tillkommer, förändringar som utvecklare har utvecklat men sominte var en del av den ursprungliga uppgiften samt potentiella riskområden.Mjukvaruutvecklare förlitar sig på befintliga tester för att säkerställa att nyfunktionalitet inte påverkar det befintliga systemet. Det innebär att för varje nyfunktionalitet som tillkommer behöver utvecklare säkerställa att tillräcklig kod täcksav relevanta enhets- och integrationstest. / Since software development consists of software testing the amount of softwaretesting increases in step with new software. One type of software testing is regressiontesting, which involves testing existing software in order to ensure that the softwareworks as planned after new functionality is added. Agile development processes arebecoming increasingly popular, however, there is a lack of general research thatconsiders regression testing from an agile point of view. This study aims to investigate how agile software development teams work withregression testing. The aim of the study was to contribute with theoretical knowledgeabout regression testing from an agile context. To carry out the survey, a qualitativeapproach was applied with semi-structured interviews. Three testers and threedevelopers from a software development company were interviewed. Thematicanalysis was applied to the results. The result indicates that testers rely on their domain knowledge and communicationto select and determine the scope of test cases. The communication consists of thefunctionality that is added, changes that developers have developed but were not partof the original task and potential risk areas. Software developers rely on existing teststo ensure that new functionality does not affect the existing system. This means thatfor every new functionality that is added, developers need to ensure that sufficientcode is covered by relevant unit and integration tests.
|
6 |
System Upgrade Verification : An automated test case study / Verifikation av Systemuppdatering : En fallstudie om automatiserad testningRotting Tjädermo, Viktor, Tanskanen, Alex January 2019 (has links)
We live in a society where automatization is becoming more common, whether it be cars or artificial intelligence. Software needs to be updated using patches, however, these patches have the possibility of breaking components. This study takes such a patch in the context of Ericsson, identifies what needs to be tested, investigates whether the tests can be automated and assesses how maintainable they are. Interviews were used for the identification of system and software parts in need of testing. Then tests were implemented in an automated test suite to test functionality of either a system or software. The goal was to reduce time of troubleshooting for employees without interrupting sessions for users as well as set up a working test suite. When the automated testing is completed and implemented in the test suite, the study is concluded by measuring the maintainability of the scripts using both metrics and human assessment through interviews. The result showed the testing suite proved maintainable, both from the metric point of view and from human assessment.
|
7 |
The role of regression testing metrics in software quality: A thematic analysis : A case study with Nasdaq Technology AB / Betydelsen av Regressiontestnings mätvärden för mjukvarukvalitet: En tematisk analys : En fallstudie med Nasdaq Technology ABAcar, Gabriel January 2023 (has links)
This thesis presents an in-depth exploration of regression testing metrics and their relationship with software quality, based on a qualitative case study within a global technology organization. By applying a thematic analysis to empirical data collected through interviews and a survey with the organisations Quality and Assurance team, this study identifies three primary themes: foundation of credibility, organic test maintenance, and defect management. The research highlights key metrics underlying each theme, including requirement coverage, code coverage, historical pass-rate, test flakiness, and code complexity. These metrics, especially when implemented in the early stages of a project, emerged as indicative of the overall software quality and stability. Through this research, a deeper understanding of regression testing metrics and their critical role in increasing the software quality is achieved. However, it is apparent that further research is necessary, including broader case studies, investigation into the application of machine learning algorithms, and exploration of additional metrics, to fully understand their universal applicability. The insights in the findings from this thesis are aimed at contributing to the field of software quality assurance academically and also provide actionable insights to industry professionals in the field of software quality. / Denna avhandling presenterar en djupgående utforskning av regressionstestnings metriker och deras relation till programvarukvalitet, baserat på en kvalitativ fallstudie hos en global organisation aktiv inom teknologi. Genom att tillämpa en tematisk analys på empirisk data insamlad genom intervjuer och en enkätundersökning, identifierar denna studie tre huvudteman: testtillförlitlighet, testunderhåll och testprestanda. Forskningen lyfter fram nyckelmetriker som ligger till grund för varje tema. Dessa inkluderar ”Requirement coverage”, ”Code coverage, ”Historic pass-rate” , ”Test flakiness” och ”Code complexity”. Dessa metriker, särskilt när de implementeras i de tidiga stadierna av ett projekt, framträdde som indikativa för den övergripande programvarukvaliteten och programvarustabiliteten. Genom denna forskning uppnås en djupare förståelse för regressionstestningens metriker och deras kritiska roll i en ökad programvarukvalitet. Det är dock uppenbart att ytterligare forskning behövs, inklusive bredare fallstudier, undersökning av tillämpningen av maskininlärningsalgoritmer och utforskning av ytterligare metriker, för att fullt ut förstå deras universella användningsområden. Insikterna i resultaten från denna avhandling syftar till att bidra till fältet för regressionstestning akademiskt och även ge praktiska insikter till yrkesverksamma inom programvarukvalitet.
|
Page generated in 0.1397 seconds