For automated testing we need often to make actions on our modules to setup/teardown our tests. We don't want to have this code on our production environment.
By separating the production code and the test code in different folders it should be able to not deploy and run the test code on the production environment.