Thesis Details
System for Automatic Filtering of Tests
The goal of this thesis is to create a system that automatically determines a set of tests that must be run when a change is done in the ComplianceAsCode project. The proposed method selects a set of tests based on static analysis of the changed sources, taking into account the internal structure of ComplianceAsCode. The created system is divided into four parts - obtaining changes from the versioning system, static analysis of different types of files, computing the set of files affected by the change, and computing the set of tests that must be run to test the given change. We implemented analysis of several types of files and our system is designed to be easily extended by other analyses for other file types. The created implementation is deployed on the server where it automatically analyzes new contributions to the ComplianceAsCode project. The automatic running informs contributors and developers about changes that it found and recommends which tests should be run for the change. This saves the time spent on verifying the correctness of contributions as well as the time spent on running tests.
Filtering of tests, ComplianceAsCode, SCAP, OpenSCAP, Git, Github, changes in files, file analysis, YAML, Ansible, Bash, Python, OVAL, XML, Jinja, testing, Jenkins
Grégr Matěj, Ing., Ph.D. (DIFS FIT BUT), člen
Hrubý Martin, Ing., Ph.D. (DITS FIT BUT), člen
Kekely Lukáš, Ing., Ph.D. (DCSY FIT BUT), člen
Kořenek Jan, doc. Ing., Ph.D. (DCSY FIT BUT), člen
Vojnar Tomáš, prof. Ing., Ph.D. (DITS FIT BUT), člen
@mastersthesis{FITMT23098, author = "Milan Lyson\v{e}k", type = "Master's thesis", title = "System for Automatic Filtering of Tests", school = "Brno University of Technology, Faculty of Information Technology", year = 2020, location = "Brno, CZ", language = "english", url = "https://www.fit.vut.cz/study/thesis/23098/" }