Weavers Wednesday Feature Services & Test Coverage Reports
Ensuring we have good test coverage is vital to our business, as we continually develop and deploy new features and fixes our tests give us confidence in our changes.
Working in an environment like this makes me wonder how businesses without automated testing ever feel comfortable delivering new functionality. With this in mind, ensuring we have a high level of test coverage has always been a high priority and never more so than now given our desire to launch new features and products whilst continuing to work with our existing partners and clients.
During the last few Weavers Wednesday, Tom and Mike (with a little UI styling from Sam) have been busy working away on increasing the visibility of our test coverage and the services our various applications are capable to offering.
Firstly, Tom integrated JetBrains dotCover reports to run each hour across our entire code base. This runs on our Continuous Integration server, alongside the build process which ensures it is always producing test coverage reports against our latest code changes. dotCover produces some great report HTML pages as well as JSON output, this in itself has already allowed us to quickly and easily identify any problem areas as well as the best areas of our code base.
The JSON output from dotCover was taken by Mike and consumed in a new WebApp that also parses through our applications to identify the different services that the applications offer. This will allow us to quickly see the coverage over each application as well as what each application is capable of. The main goal behind this is to help us identify where each applications responsibilities lie and to try not to dilute these. Seeing this is eye-opening in some areas and has identified a number of other improvements we could make to reduce the responsibilities of some applications.
And as a little cherry on top, Tom also stores the dotCover test coverage history in a database which has allowed Mike to generate graphs that will help us see trends over time.