Exploring granular test coverage and its evolution with matrix visualizations