Auflistung nach Schlagwort "Software testing"
1 - 4 von 4
Treffer pro Seite
Sortieroptionen
- ConferencePaperAre Unit and Integration Test Definitions Still Valid for Modern Java Projects? An Empirical Study on Open-Source Projects(Software Engineering 2021, 2021) Trautsch, Fabian; Herbold, Steffen; Grabowski, JensThe article "Are unit and integration test definitions still valid for modern Java projects? An empirical study on open-source projects" published in the Journal of Systems and Software in 2020 presents the results of our investigations of the defect detection capability of unit and integration tests. While the software development context evolved over time, the definitions of unit and integration tests remained unchanged. There is no empirical evidence, if these commonly used definitions still fit to modern software development. We evaluate if the existing standard definitions of unit and integration tests are still valid in modern software development context through the analysis of the defect types that are detected, because there should be differences according to the standard literature. We classify test cases according to the definition of the IEEE and use mutation testing to assess their defect detection capabilities. We could not find any evidence that one test type is more capable of detecting certain defect types than the other one. This implies that we need to reconsider the definitions of unit and integration tests and suggest that the current property-based definitions may be exchanged with usage-based definitions.
- KonferenzbeitragDeepHyperion: Exploring the Feature Space of Deep Learning-based Systems through Illumination Search(Software Engineering 2023, 2023) Zohdinasab, Tahereh; Riccio, Vincenzo; Gambi, Alessio; Tonella, PaoloWe report about recent research on satisfiability solving for variational domains, originally published in 2022 in the Empirical Software Engineering Journal (EMSE) within the special issue on configurable systems[ Yo22]. Incremental SAT solving is an extension of classic SAT solving that enables solving a set of related SAT problems by identifying and exploiting shared terms. However, using incremental solvers effectively is hard since performance is sensitive to the input order of subterms and results must be tracked manually. This paper translates the ordering problem to an encoding problem and automates the use of incremental solving. We introduce variational SAT solving, which differs from incremental solving by accepting all related problems as a single variational input and returning all results as a single variational output. Variational SAT solving automates the interaction with the incremental solver and enables a method to automatically optimize sharing in the input. We formalize a variational SAT algorithm, construct a prototype variational solver, and perform an empirical analysis on two real-world datasets that applied incremental solvers to software evolution scenarios. We show that the prototype solver scales better for these problems than four off-the-shelf incremental solvers while also automatically tracking individual results.
- KonferenzbeitragReinforcement Learning for Automatic Test Case Prioritization and Selection in Continuous Integration(Software Engineering und Software Management 2018, 2018) Spieker, Helge; Gotlieb, Arnaud; Marijan, Dusica; Mossige, MortenThe paper appeared at the International Symposium on Software Testing and Analysis (ISSTA 2017). It is part of a project on test case prioritization, selection, and execution in Continuous Integration (CI). Selecting the most promising test cases to detect bugs is hard if there are uncertainties on the impact of committed code changes or if traceability links between code and tests are not available. This paper introduces Retecs, a new method for automatically learning test case selection and prioritization in CI with the goal to minimize the round-trip time between code commits and developer feedback on failed test cases. Retecs uses reinforcement learning to select and prioritize test cases according to their duration, previous last execution and failure history. In a constantly changing environment, where new test cases are created and obsolete test cases are deleted, the Retecs method learns to prioritize error-prone test cases higher under the guidance of a reward function and by observing previous CI cycles. By application on three industrial case studies, we show for the first time that reinforcement learning enables fruitful automatic adaptive test case selection and prioritization in CI and regression testing.
- KonferenzbeitragSmoke testing for machine learning: simple tests to discover severe bugs(Software Engineering 2023, 2023) Herbold, Steffen; Haar, TobiasWe summarize the article Smoke testing for machine learning: simple tests to discover severe bugs [HH22], which was published in Empirical Software Engineering in 2022.