How to create development/test environment of TB reporting database in SQL Server
The best option is to have a separate Dev/Test server where you can have a full instance of  your Data Warehouse.  If you don't have a seperate server, you might use an Azure Virtual Machine (or similar) that can be turned off when not in use.
And you should also have a local dev environment, probably with a subset of the data.  This allows teams to work in parallel without stepping on each other.
If you have only one server, you can co-locate the Dev/Test database and the production database, but you have to be careful to not over-tax the resources on the server.
It's also completely appropriate to perform some Dev/Test activities directly against the production data warehouse.  For instance when you're building or modifying reports, but not when you're modifying tables, views, or stored procedures, or working on your ETL jobs.  A good rule of thumb is that if the work requires more than SELECT privileges, it shouldn't be done directly on production.