Java testing and "test first development"