Behovet av tillförlitliga, motståndskraftiga, och beständiga system är uppenbart i vårt samhälle, som i ökande grad blir allt mer beroende av mjukvarulösningar. För att uppnå tillfredsställande nivåer av säkerhet och robusthet måste alla system kontinuerligt genomgå tester. En av de största utmaningarna vid automatisering av programvarutestning är avsaknaden av tillförlitliga orakel kapabla att ge korrekta bedömningar av testfall. Metamorfisk testning är en metod som har visats möjlig att applicera för automatisering av testning, men som däremot kräver identifiering av metamorfiska relationer. Det har gjorts försök att identifiera metamorfiska relationer med hjälp av vissa maskininlärningsmodellers förmåga till mönsterigenkänning. Ett stort problem för sådana tillvägagångssätt är mängden tillgängliga och användbara data som dessa ML-modeller kan tränas på. Det huvudsakliga bidraget denna uppsats levererar är en automatiserad metod för att genomföra utökning av data genom källkodsmutation i syfte att skala befintliga datamängder. Specifikt behandlar denna uppsats producering av icke-ekvivalenta mutanter och deras inverkan på maskininlärningsassisterad identifiering av metamorfiska relationer. Resultaten visar att icke-ekvivalenta mutanter kan genereras effektivt, även om manuell granskning är nödvändig för att härleda korrekta etiketter för varje datapunkt. Det visas också att icke-ekvivalenta mutanter kan påverka klassificeringsprestandan positivt i vissa fall, även om resultaten varierar beroende på mutationsoperator och behandlad metamorfisk relation. Framgångsrika framsteg inom testautomatisering kan potentiellt påverka nuvarande standarder för programvaruutveckling genom att förbättra programvarutestningspraxis. Därmed bidrar denna studie till diskussionen om hur automatiserad programvarutestning kan påverka organisationens prestationsförmåga i ett bredare perspektiv. Diskussionen baseras på ramverket för balanserade styrkort, och slutsatsen visar att testautomatisering kan generera fördelaktiga resultat på flera fronter. Det är dock viktigt att samordna sådana initiativ med organisationens strategiska inriktning och långsiktiga mål. / The need for reliable, resilient, and persistent systems is evident in our society, which is becoming increasingly more dependent on software solutions. In order to achieve satisfactory levels of security and robustness, all systems continuously need to undergo testing to detect faults and unwanted functionality. One of the mayor issues in automating software testing is the lack of reliable oracles capable of deriving test case verdicts. Metamorphic testing has been identified as a testing technique which can be used for test automation, though it requires the identification of metamorphic relations. There have been attempts at identifying metamorphic relations using the pattern recognition capabilities of certain machine learning models. A significant problem for any such approach is obtaining a sufficiently large labeled dataset which the ML models can be trained on. The main contribution of this paper is an automated approach to performing data augmentation through a process of source code mutation with the aim of scaling existing datasets. Specifically, this paper considers the generation of non-equivalent mutants and their impact on machine learning assisted identification of metamorphic relations. The results show that non-equivalent mutants can be efficiently generated, although manual oversight is necessary to derive accurate labels for each sample. It is also shown that non-equivalent mutants can positively impact the classification performance in certain instances, though results vary depending mutation operator and considered metamorphic relation. Furthermore, successful advances in the area of test automation can potentially affect current software development standards by improving software testing practices. As such, this study adds to the discussion on how automated software testing might affect organizational performance. The discussion is based on the balanced scorecard framework, and the discussion concludes that test automation can generate beneficial performance outcomes. However, it is imperative to aligning such endeavours with the strategic direction and long-term objectives of the organization.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:kth-335006 |
Date | January 2023 |
Creators | Götborg, Johan |
Publisher | KTH, Skolan för elektroteknik och datavetenskap (EECS) |
Source Sets | DiVA Archive at Upsalla University |
Language | English |
Detected Language | Swedish |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Relation | TRITA-EECS-EX ; 2023:451 |
Page generated in 0.3699 seconds