Testprioritering med stöd av maskininlärning
Publicerad
Författare
Typ
Examensarbete på kandidatnivå
Program
Modellbyggare
Tidskriftstitel
ISSN
Volymtitel
Utgivare
Sammanfattning
Regression testing is an integral part of the continuous integration software development
practice. As testing suites grow larger and execution time increases the development cycle
slows down. By prioritizing tests within a given test suite development time can be
optimized if tests more likely to fail are executed first. The sooner a failing test can be
discovered the sooner problems with the software can be fixed. This thesis aims at
researching the possibility of using machine learning to look at changes made within a
software build to prioritize tests according to highest likelihood of failure.
The thesis is done in collaboration with Ericsson where resources and data are supplied
from their System Test department. With data collected from their regression testing suites
experimentation were made to evaluate how machine learning can be used to prioritize tests
within their weekly regression testing. The research resulted in some inconclusive results
but a good indication that machine learning can be used to prioritize tests with promising
outcomes.
Beskrivning
Ämne/nyckelord
Test Prioritization, Machine Learning, Regression Testing, Continuous Integration, Optimization, Python