After some investigation into the matter at hand I have come to the conclusion that Cobertura is not a viable option when it comes to code coverage when exercising the code with functional tests.
It is a major pain to instrument the code with Maven. Cobertura does no play well when the instrumented code is living inside any kind of server container and it incurs a hefty performance penalty.
However, I haven’t run out of options yet. There is a code coverage framework named JaCoCo. It reportedly plays nicely inside server containers. So now it is just a matter of integrate JaCoCo into Maven.
Things are looking up and up…
Unit testing is only part of the solution when it comes to testing. Functional testing of the finished product is equally important. There are however a number of problems associated with functional testing. One of those problems are that we can often get a code coverage report from our tools when we run our unit tests. This is something that functional testing is lacking.
How do we remedy this shortcoming? Let’s do what the guys doing the unit testing are doing. Instrumenting the code with Cobertura and exercise the code by running our automated tests.
There are a number of steps that needs to be completed in order for this to work.
- Instrument the code with Cobertura
- Deploy the application to a staging environment
- Run your automated tests
- Evaluate coverage report
This idea is currently half baked, but I’m working on a solution and an update on the subject will come… eventually.
I’ve added eleven new files in the download section. Each file contains 1024 patches generated from respective category.
Note however that some patches does not necessary have the content described on the tin due to the fact that though the patches are based on a selection from respective category the process of generating a patch has an element of randomness. Most of them are useful, some are down-right amazing.
So ’til next time. Happy exploring.
When I bought my very own Waldorf Blofeld I soon realised that the software support was at best lacking. Editing patches through the hardware interface on the synthesizer was acceptable but far from enjoyable. The built-in randomiser in the Waldorf Blofeld is frankly rubbish. So there was room for improvement.
One thing that can be said about Waldorf Music is that their documentation is a gleaming pearl of perfection. I have never seen a more comprehensive documentation to any synthesizer that I have come in contact with.
So I set out to implement an object model based on the documentation that Waldorf Music provided. After a couple of month of on and off implementation I finally have an object model with nearly 100% code coverage.
I’ve done some preliminary work on the randomiser and you can download some sample patches to test out on your own equipment.
Next thing is to slap a GUI on the editor and package it for Mac and Windows.
That it for now.