Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Test case prioritization in the context of a video game development project
KTH, School of Electrical Engineering and Computer Science (EECS).
2019 (English)Independent thesis Advanced level (degree of Master (Two Years)), 20 credits / 30 HE creditsStudent thesisAlternative title
Testprioritering inom kontexten av ett spelutvecklingsprojekt (Swedish)
Abstract [en]

Regression testing is an important part of software development and is integral for finding regression errors caused by code changes or issues with revision control. However, executing all test cases in the test suite is often infeasible. One solution to this problem is to use a prioritization technique. Test prioritization techniques are often utilized to rearrange the execution order of test cases, such that the number of software faults found are maximized as early as possible.

A test prioritization heuristic is presented in this report, which uses data regarding a test case’s previous execution history to calculate which test case is most likely to find a failure for the current version of the software. The proposed prioritization strategy uses two different modules. The first module statically prioritizes test cases by calculating a score for each test case, based on previous failure rate and distance of last execution. The second module, which is referred to as the history correlator, compares the test histories of every possible pair of tests and check for similarities in test execution histories. When a test has been executed in the regression testing phase, all test cases with similar test execution histories are given highest priority.

The proposed strategies are tested in an experiment, using a software project from EA DICE as the software under test. The experiment presented in this report compares the performance of the history score calculation compared to the performance of random prioritization. The performance of both modules together is also compared to only using the first module, to decide if the history correlator improves the performance of the history score module. The results shows that the history score prioritization displays some potential to prioritize test cases that results in failure, but needs future improvements to provide results in a consistent basis. The addition of the history correlator does not lead to significant improvements in detecting failures.

Abstract [sv]

Regressionstestning är en viktig del utav mjukvaruutveckling och är väsentlig för att finna regressionsfel. I de flesta fall är det omöjligt att exekvera alla testfall. Därför används ofta testprioriteringstekniker för att arrangera om exekveringsordningen av testfall, på ett sätt så att antalet funna fel maximeras så tidigt som möjligt.

I denna rapport redovisas en prioriteringsheuristik som använder data om föregående körningar från testfall för att avgöra vilka test som mest troligt kommer hitta fel i den aktuella versionen av mjukvaran. Prioriteringsstrategin består av två moduler. Den första modulen prioriterar tester genom att ge varje test prioriteringspoäng baserat på föregående misslyckade körningar och tiden sen senaste exekvering av testfallet. Den andra modulen jämför föregående exekveringar mellan varje möjliga par av testfall och letar efter likheter. När ett testfall har exekverats under regressionstestning, ge högsta prioritet till alla testfall som har liknande exekveringshistorik. Den presenterade strategin testas i ett experiment, där prioriteringsstrategin testas mot ett mjukvaruprojekt från EA DICE. Första delen av experimentet jämför poängkalkyleringsstrategin med slumpmässig prioritering. Andra delen av experimentet jämför prestandan mellan användning av båda modulerna jämfört med endast poängkalkylering, för att undersöka om den andra modulen förbättrar prestandan för poängkalkyleringen.

Resultatet visar att poängkalkyleringen visar potential i att prioritera testfall som resulterar i att fler fel är funna. Dock krävs det flera förbättringar för första modulen för att kunna få ut bra resultat som är konsekventa. Det finns inte tillräckligt med bevis som indikerar att den andra modulen bidrar till ett bättre resultat.

Place, publisher, year, edition, pages
2019. , p. 64
Series
TRITA-EECS-EX ; 2019:697
National Category
Computer and Information Sciences
Identifiers
URN: urn:nbn:se:kth:diva-265653OAI: oai:DiVA.org:kth-265653DiVA, id: diva2:1380585
External cooperation
EA DICE AB
Supervisors
Examiners
Available from: 2020-01-31 Created: 2019-12-19 Last updated: 2020-01-31Bibliographically approved

Open Access in DiVA

fulltext(1106 kB)11 downloads
File information
File name FULLTEXT01.pdfFile size 1106 kBChecksum SHA-512
f7623ab47639bfccf0bfaa9fa8d9d4969761e7f5be9f6db86cf6b86b08a16fc04deaf867d36f180caa0dd2684b56b2c43f9b9c77a6478ac81950c05715e8d6ae
Type fulltextMimetype application/pdf

By organisation
School of Electrical Engineering and Computer Science (EECS)
Computer and Information Sciences

Search outside of DiVA

GoogleGoogle Scholar
Total: 11 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

urn-nbn

Altmetric score

urn-nbn
Total: 56 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf