TU München - Fakultät für
Informatik |
Home | Forschung/Kompetenz | Lehre | Personen | Publikationen | Abschlussarbeiten | Sonstiges | Kontakt | |
Agenda Es sprechen Studenten über ihre abgeschlossenen Arbeiten und Systementwicklungsprojekte. Am Montag, 05.08.2019, ab 16:00 Uhr, im Raum 01.09.014 (Alonzo Church):
Konzeption und Evaluierung von Minimierungsverfahren für Regressions-Testsuites in der PraxisThe increasing size and complexity of software systems leads to an increase in the use of regression testing. With large systems, tests can give confidence to the developer that the project still works after changes have been made or new features have been introduced. However, when not carefully implemented, the cost of testing can get unreasonably high. This can lead to test suites being executed rarely because they are expensive to execute. Oversized test suites also make maintenance difficult which can lead to a lot of failing tests and, again, rarely executed test suites with results that are difficult to evaluate due to the high amount of changed code. Test suite minimization aims to reduce the cost of testing by selecting a subset of relevant tests and removing the remaining, ideally redundant tests. In this thesis, we present a weighted-sum test suite minimization algorithm that aims to find the subset of most relevant tests by selecting test cases which find the most faults in the least amount of time and cover the most code. We evaluate this new algorithm based on open source projects as well as closed source industry projects, to cover as many scenarios as possible. By also comparing our new algorithm to a greedy minimization algorithm, we want to find out, how it matches with a well-established test suite minimization algorithm. We find that, with the new algorithm, we can reduce the runtime of the open source projects’ test suites by 85% while maintaining, on average, 97% of the full test suite’s line coverage as well as 95% of its fault detection capability. For the closed source projects, the algorithm maintained around 90% coverage on average, performing not quite as well as with the open source projects. In both cases, the weighted-sum algorithm outperforms the greedy algorithm in terms of its time savings and, for the open source projects, the mutation coverage. Our experimental results show that the weighted-sum allows us to target a steep runtime reduction of 85% while maintaining good code and mutation coverage. Depending on the requirements, the weights of the individual criteria can be changed, allowing for a more customizable minimization compared to the greedy algorithm. The main hurdle of the algorithm for large projects are mutation score calculations which become infeasible for long running test suites. Formal Characterization and Development of Optimal Testsuites from Requirement ModelsGenerating tests from requirements is a challenging task: Generating tests of high quality, often requires the requirement to be modelled in a specific framework. This, however, creates additional effort. In this thesis, we will introduce a novel approach for generating tests from requirements without needing a structural model. Our method also makes only few assumptions on how the requirement may be implemented. This makes our approach very flexible, allowing for a variety of applications. We achieve this, by considering possible implementations of the requirement and identifying common control flow paths for which we then create testcases. We then compare our method with an established method in model-based testing. This comparison shows that our approach commonly yields fewer testcases than an established method. |