Using the City Metaphor for Visualizing Test-Related Metrics

Gergő Balogh, Tamás Gergely, Árpád Beszédes and Tibor Gyimóthy
Software visualization techniques and tools play an important role in system comprehension efforts of software developers in the era of increasing code size and complexity. They enable the developer to have a global perception on various software attributes with the aid of different visualization metaphors and tools. One such tool is CodeMetropolis which is built on top of the game engine Minecraft and which uses the city metaphor to show the structure of the source code as a virtual city. In it, different physical properties of the city and the buildings are related to various code metrics. Up to now, it was limited to represent only code related artifacts. In this work, we extend the metaphor to include properties of the tests related to the program code using a novel concept. The test suite and the test cases are also associated with a set of metrics that characterize their quality (such as coverage and specialization), but also reveal new properties of the system itself. In a new version of CodeMetropolis, gardens representing code elements will give rise to outposts that  characterize properties of the tests and show how they contribute to the quality of the code.