I just started a new job where they only have a development (DEV) server and a production (PROD) server. Every place I have worked before has always had a third server in-between DEV and PROD. Some places called the in-between server Stage, and some called it Test. I'm not sure if a Stage and Test server are one in the same, or if they are actually two different types of servers. But they were always used for the same thing - to give the customer a place to review the site before it went live on the PROD server. For the purpose of this post I will call it a TEST server. I asked my new boss about the possibility of creating a TEST server. He asked me to justify the need for a TEST server. Now, I can't debate myself out of a wet paper bag, so my justifications were extremely weak. I was wondering if anyone had a list of reason to support the need for a TEST server, or knew of a web site or book that I can reference to provide a reason why a TEST server is needed. If the concept of a TEST server is outdated, and no longer needed, then please let me know as well. It wouldn't be the first time I was doing something that didn't need to be done anymore. Thanks.
Well most enterprise-level shops do development locally, push to a QA server for testing, push to a staging server to final testing, and then to production.
Whether you need both a QA server and a staging server may be debatable, but you absolutely need something in between that is the same as (or as close as you can get) to the production environment that you can deploy to in order to confirm that everything works (including the build and deployment process).