This is really an Important question.
One way (there might be a better way) to create the seperate environment is you can create multiple projects with name
Development, Testing, QA, and Production on a site and publish the same workbook with the separate data source for each of the environment.
And always use the suffix or prefix of the environment name while publishing the workbook, that will be helpful for you to identify the workbook even from urls and you will not face the issue of same URLs while publishing the workbook.
Use a separate data source (4 data sources) within each of the project, and once you have completed the development, copy and paste the development workbook in a testing folder and simply change the database name from development to testing and so on for further stages.
Hope this helps.
Please find the answers
- How do you make updates to previously deployed dashboards?
You can either do web edit and redeploy the latest
- What will be the data source if we are dealing with different phases? Like all of the Live data will be extracted or only a test data will be given?
if you have different data sources per different environments, you need to change it manually
- How do manage the revisions of these dashboards? Does Tableau have any method of keeping a version of each workbook?
Tableau Server gives you versioning. Howerver you can use third party tools like SVN, bamboo,,etc
- How do you deploy an updated dashboard into the production area if the name already exists? Does Tableau let you overwrite?
It will ask you while publishing with same name whether to overwrite or not