Towards more effective testing and debugging education in computer science courses