It depends of the required grade of environment isolation/separation:
One Virtual Network and multiple subnets:
All subnets in the same Virtual Network are routed to each other.
You have to use Network Security Groups to get control over the network communication.
Multiple Virtual Networks and subnets:
Virtual Networks are not routed/connected with other Virtual Networks by default. You have to implement peering between Virtual Networks to communicate from one vNet to another.
Most of the test/staging/production environments I am aware of are using Multiple Virtual Networks with multiple subnets.
No peering between the vNets.
Virtual Network "Test"
- Subnet "Client - Test"
- Subnet "Middle Tier - Test"
- Subnet "DB Server - Test"
And the same network infrastructure for staging and production.
Choose the IP settings like you want. Just make sure you don't use "overlapping" IP ranges.
(If the reply was helpful please don't forget to upvote and/or accept as answer, thank you)
Regards
Andreas Baumgarten