Combining Dynamic Analysis and Visualization to Explore the Distribution of Unit Test Suites

03/12/2021
by   Amjed Tahir, et al.
0

As software systems have grown in scale and complexity the test suites built alongside those systems have also become increasingly complex. Understanding key aspects of test suites, such as their coverage of production code, is important when maintaining or reengineering systems. This work investigates the distribution of unit tests in Open Source Software (OSS) systems through the visualization of data obtained from both dynamic and static analysis. Our long-term aim is to support developers in their understanding of test distribution and the relationship of tests to production code. We first obtain dynamic coupling information from five selected OSS systems and we then map the test and production code results. The mapping is shown in graphs that depict both the dependencies between classes and static test information. We analyze these graphs using Centrality metrics derived from graph theory and SNA. Our findings suggest that, for these five systems at least, unit test and dynamic coupling information 'do not match', in that unit tests do not appear to be distributed in line with the systems' dynamic coupling. We contend that, by mapping dynamic coupling data onto unit test information, and through the use of software metrics and visualization, we can locate central system classes and identify to which classes unit testing effort has (or has not) been dedicated.

READ FULL TEXT
research
03/27/2021

An empirical study into the relationship between class features and test smells

While a substantial body of prior research has investigated the form and...
research
09/27/2019

Comparing Static and Dynamic Weighted Software Coupling Metrics

Coupling metrics are an established way to measure software architecture...
research
08/05/2019

On the Relationship Between Coupling and Refactoring: An Empirical Viewpoint

[Background] Refactoring has matured over the past twenty years to becom...
research
03/21/2022

Using Evolutionary Coupling to Establish Relevance Links Between Tests and Code Units. A case study on fault localization

Many software engineering techniques, such as fault localization, operat...
research
06/03/2023

On the Empirical Evidence of Microservice Logical Coupling. A Registered Report

[Context] Coupling is a widely discussed metric by software engineers wh...
research
08/02/2022

Mimicking Production Behavior with Generated Mocks

Mocking in the context of automated software tests allows testing progra...
research
06/01/2022

Intelligent UNIT LEVEL TEST Generator for Enhanced Software Quality

Unit level test has been widely recognized as an important approach to i...

Please sign up or login with your details

Forgot password? Click here to reset