Testing framework

This is what the markus automated test team has done over this term.