Automated Analysisof Unit Teststo Improve Understandingof Software Systems
Room: BBL room 471
Title: Automated Analysis of Unit Tests to Improve Understanding of Software Systems
Faster time to market and increased quality demands force software developers to use all available assets to their full potential. The test suite of a software system is a commonly overlooked asset; analyzing the execution and results of unit tests can reveal valuable information of, and relations within, a software system. Tools currently available on the market typically ignore this source of information.
This thesis presents a tool that helps software developers to increase their insight in a software system and its test suite by creating documentation based on analysis of unit tests. The documentation contains enhanced code coverage information; this code coverage data not only shows what code
is tested, but also by which tests
, with what values
, and how specific
a line is tested. Using this data, a more precise quality assessment of software can be formulated. Furthermore, the generated documentation contains hints and warnings generated by third party tools. Combining this information allows developers to browse, comprehend, and guard their system using one single set of tightly integrated documents.
Several real-world case studies have been performed to evaluate the value of this tool in daily life. Results from these case studies indicate that developers highly appreciate the documentation and indeed use it to improve their test suite and software. The documentation helps them to find and fix weaknesses in the test suite that would otherwise remain hidden and unresolved.
Keywords: unit testing, code coverage, software quality, metrics, documentation generation, tool integration
- 23 Dec 2005