5 research outputs found
Analysis of static and dynamic test-to-code traceability information
Unit test development has some widely accepted guidelines. Two of them concern the test and code relationship, namely isolation (unit tests should examine only a single unit) and separation (they should be placed next to this unit). These guidelines are not always kept by the developers. They can however be checked by investigating the relationship between tests and the source code, which is described by test-to-code traceability links. Still, these links perhaps cannot be inferred unambiguously from the test and production code. We developed a method that is based on the computation of traceability links for different aspects and report Structural Unit Test Smells where the traceability links for the different aspects do not match. The two aspects are the static structure of the code that reflects the intentions of the developers and testers and the dynamic coverage which reveals the actual behavior of the code during test execution. In this study, we investigated this method on real programs. We manually checked the reported Structural Unit Test Smells to find out whether they are real violations of the unit testing rules. Furthermore, the smells were analyzed to determine their root causes and possible ways of correction
Utilizing static and dynamic software analysis to aid cost estimation, software visualization, and test quality management
The main results presented in the thesis are related to the semi- or fully-automated analysis
of the software and its development processes. My overall research goal is to provide
meaningful insights, methods, and practical tools to help the work of stakeholders during
various phases of software development. The thesis statements have been grouped into
three major thesis points, namely "Measuring, predicting, and comparing the productivity
of developer teams"; "Providing immersive methods for software and unit test visualization";
and "Spotting the structures in the package hierarchy that required attention using
test coverage data"