With increasing number of tests, their execution time increases as well. Currently, various tools provide metrics of test code coverage. These metrics however do not help identify duplicate test coverage, that leads only to unnecessary increase of test execution time without any benefit to effective code coverage. Information about duplicate coverage and execution time of duplicate tests would be a valuable help for subsequent refactoring of test code base.
The objective of this thesis is to design and implement an enhancement of a well-known open-source code coverage tool for Java that will identify duplicate tests and time spent in test execution.
- Explore existing open-source code coverage tools for Java and choose one for implementation of the enhancement
- Explore a data file format the chosen code coverage tool uses for keeping code coverage data
- Extend the data file format to include data about
- Caller (test invoking the piece of code*)
- Time spent in the piece of code
- Enhance the code coverage tool to store information described in point 3
- Enhance the tool’s reporting capabilities to present information about
- Duplicate code coverage
- Time spent in running tests
* Let be the piece of code either line, branch, method, class,… of the system under test.