Evaluation of a prioritization algorithm for test suite generation

Autor: Begovic, Adnan, Holmelin, Viktor
Jazyk: angličtina
Rok vydání: 2019
Předmět:
Druh dokumentu: Text
Popis: Programvara skapas för att lösa ett visst definierat problem. I denna process sker vanligtvis inkrementella steg mot den färdiga produkten. När programvara har skrivits eller ändrats måste man verifiera att programvaran fortfarande är funktionell och beter som förväntat. Denna verifiering görs vanligtvis genom regressions testning. Allt eftersom antalet tester som körs i en regressions- testsvit ökar, desto längre tid tar det att exekvera. Eventuellt oönskad lång tid för utvecklarna av programvaran. Inte alla regressionstester interagerar med den nya eller ändrade programvaran och därför är det således mindre nyttofulla ur ett testperspektiv. Om det är möjligt att veta hur man ordnar regressionstestens ordning så att testen som interagerar med den nya programvaran kommer först i testpaketet, så kan den förväntade tiden till återkoppling till utvecklaren att något test falerar sänkas. Denna tidsminskning medför ett jämnare arbetsflöde för utvecklaren. Denna uppsats undersöker en metod för att förutsäga vilka tester som ska köras först givet de ändringar som gjorts i programvaran. Den bakomliggande ideen till metoden är att använda historiska testdata och ändringar som gjorts i programvara för att beräkna en korrelation mellan test och programvara. Denna idé testas i ett hypotesters för att avgöra om det har någon prediktiv kraft. Detta val av metod görs eftersom det är icke-påträngande och kräver ingen instrumentering av programvaran utan endast kunskap om historiska testdata. Eventuella alternativa metoder är begränsade till vilken typ av data som finns och bestäms genom datautforskning. Metoder för mätning av prestanda och kvalitet bestäms genom en kombination av en litteraturundersökning och intressenternas önskemål. Resultatet indikerar att detta är en genomförbar metod.
Software is created to solve some defined problem. In this process incremental steps are usually taken towards the complete product. Once a piece of software has been written or changed, it has to be verified that the software is still functional and performs as expected. This verification is usually done through regression testing. As the number of tests to run in a regression test suite increase, the longer time it takes to execute. Possibly undesirable long time for the developers of the software. Not all regression tests interact with the new or changed piece of software and are thus less useful from a testing perspective. If it is possible to know how to arrange the order of regression tests so that the tests interacting with the new software come first in the test suite, then the expected time until feedback to the developer that something is broken can be reduced. This reduction in time makes for a smoother work flow for the developer. This thesis investigates a method for predicting which tests to run first given the changes made to the software. The underlying idea of the method is to use historical test data and changes made to software in order to compute a correlation between tests and software. This idea is tested in a hypothesis test to determine if it has any predictive power. This choice of method is made as it is non-intrusive and does not requiring any instrumentation of the software but only knowledge of the historical test data. Possible alternative methods are limited to what kind of data there exists and determined through data exploration. Methods for measuring performance and quality is determined through a combination of a literature survey and the desires of the stakeholder. The result indicates that this is a feasible method.
Databáze: Networked Digital Library of Theses & Dissertations