Skip to main content

LUP Student Papers

LUND UNIVERSITY LIBRARIES

Test case selection based on code changes and risk of regression

Larsson, Christoffer LU and Olofsson, Alexander LU (2022) EITL05 20221
Department of Electrical and Information Technology
Abstract
Test case selection is an important part of the quality assurance process in a software project. Since time and resources are limited, test cases have to be prioritized in order to maintain efficiency and meet deadlines. This thesis researches the possibility of improving the development process at Axis Communications by partly automating the test case selections. In this thesis, an algorithm called the 'Test Selection Algorithm' is developed. The algorithm contains two methods for selecting test cases based on recent code changes and their risk of introduced errors or regression. The first method draws a connection between test cases that have previously found errors and reported them and the commits that solves the errors. The second... (More)
Test case selection is an important part of the quality assurance process in a software project. Since time and resources are limited, test cases have to be prioritized in order to maintain efficiency and meet deadlines. This thesis researches the possibility of improving the development process at Axis Communications by partly automating the test case selections. In this thesis, an algorithm called the 'Test Selection Algorithm' is developed. The algorithm contains two methods for selecting test cases based on recent code changes and their risk of introduced errors or regression. The first method draws a connection between test cases that have previously found errors and reported them and the commits that solves the errors. The second method makes use of text analysis and keyword extraction and matches test cases to commits by analysing the commit messages. The resulting algorithm combines the two methods and produces suggestions on which test cases that should be included in upcoming test runs. A graphical interface containing the suggested test cases was created for the user of the algorithm to easily look at the results from the algorithm.

The result of this thesis is an algorithm that help partly automate the quality assurance process by suggesting test cases that the test leader should include. (Less)
Abstract (Swedish)
Urval av testfall är en viktig del av processen för kvalitetssäkring i ett projekt. Eftersom tid och resurser är begränsade behöver testfallen prioriteras för att upprätthålla effektivitet och för att möta deadlines. Detta examensarbete utforskar möjligheten att förbättra utvecklingsprocessen på Axis Communications genom att delvis automatisera utväljandet av testfall. I detta examensarbete har en algoritm som kallas 'Test Selection Algorithm' utvecklats. Algoritmen innehåller två metoder för att välja ut testfall baserat på nyligen gjorda kodändringar och deras risk för nya fel eller regression. Den första metoden drar en direkt koppling mellan testfall som tidigare hittat fel och rapporterat dessa, till kodändringar som löser felen. Den... (More)
Urval av testfall är en viktig del av processen för kvalitetssäkring i ett projekt. Eftersom tid och resurser är begränsade behöver testfallen prioriteras för att upprätthålla effektivitet och för att möta deadlines. Detta examensarbete utforskar möjligheten att förbättra utvecklingsprocessen på Axis Communications genom att delvis automatisera utväljandet av testfall. I detta examensarbete har en algoritm som kallas 'Test Selection Algorithm' utvecklats. Algoritmen innehåller två metoder för att välja ut testfall baserat på nyligen gjorda kodändringar och deras risk för nya fel eller regression. Den första metoden drar en direkt koppling mellan testfall som tidigare hittat fel och rapporterat dessa, till kodändringar som löser felen. Den andra metoden använder textanalys och nyckelord för att matcha testfall till kodändringar genom att analysera meddelandena i kodändringarna. Den resulterande algoritmen kombinerar de två metoderna och producerar förslag på vilka testfall som borde inkluderas i kommande testrundor. Ett grafiskt användargränssnitt som innehåller de föreslagna testfallen skapades för att användaren av algoritmen enkelt skall kunna få en överblick över resultaten från algoritmen.

Resultatet av detta examensarbete är en algoritm som delvis automatiserar processen för kvalitetssäkring genom att föreslå testfall som testledare borde inkludera i testrundor. (Less)
Please use this url to cite or link to this publication:
author
Larsson, Christoffer LU and Olofsson, Alexander LU
supervisor
organization
alternative title
Val av testfall baserat på kodändringar och risk för regression
course
EITL05 20221
year
type
M2 - Bachelor Degree
subject
keywords
Quality Assurance, Test Case Selection, Keyword Extraction, Text-analysis, Application Programming Interface.
report number
LU/LTH-EIT 2022-879
language
English
id
9091934
date added to LUP
2022-06-23 12:00:35
date last changed
2022-06-23 12:00:35
@misc{9091934,
  abstract     = {{Test case selection is an important part of the quality assurance process in a software project. Since time and resources are limited, test cases have to be prioritized in order to maintain efficiency and meet deadlines. This thesis researches the possibility of improving the development process at Axis Communications by partly automating the test case selections. In this thesis, an algorithm called the 'Test Selection Algorithm' is developed. The algorithm contains two methods for selecting test cases based on recent code changes and their risk of introduced errors or regression. The first method draws a connection between test cases that have previously found errors and reported them and the commits that solves the errors. The second method makes use of text analysis and keyword extraction and matches test cases to commits by analysing the commit messages. The resulting algorithm combines the two methods and produces suggestions on which test cases that should be included in upcoming test runs. A graphical interface containing the suggested test cases was created for the user of the algorithm to easily look at the results from the algorithm.

The result of this thesis is an algorithm that help partly automate the quality assurance process by suggesting test cases that the test leader should include.}},
  author       = {{Larsson, Christoffer and Olofsson, Alexander}},
  language     = {{eng}},
  note         = {{Student Paper}},
  title        = {{Test case selection based on code changes and risk of regression}},
  year         = {{2022}},
}