Return to search

Evaluation of a prioritization algorithm for test suite generation

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.

Identiferoai:union.ndltd.org:UPSALLA1/oai:DiVA.org:mau-20932
Date January 2019
CreatorsBegovic, Adnan, Holmelin, Viktor
PublisherMalmö universitet, Fakulteten för teknik och samhälle (TS), Malmö universitet, Fakulteten för teknik och samhälle (TS), Malmö universitet/Teknik och samhälle
Source SetsDiVA Archive at Upsalla University
LanguageEnglish
Detected LanguageSwedish
TypeStudent thesis, info:eu-repo/semantics/bachelorThesis, text
Formatapplication/pdf
Rightsinfo:eu-repo/semantics/openAccess

Page generated in 0.0026 seconds