A PROD enviornment is all objects that are in your PRODUCTION enviornment. This for not to be used for testing.
A TEST enviornment is alll the necessary objects required for testing programming changes. This way when you are testing changes that update files, you are not effecting your production files.
Your TEST enviornment does not necessarily need to have all files and programs. If your test library(s) are ahead of the prodctuon libraries in your library list you should be OK. When I do this, I all do a STRDBG before I begin testing.
I heve the attributes of my libraries set to *PROD or *TEST.
This ensures I do not accidently update a prodcution library.
The ideal situation is that you do your testing on a differnt box or partition.