After your planning and deployment phases have been completed, its very important to ensure proper testing of your new environment before moving user accounts and putting the servers into production. Exchange 2007 provides several powershell cmdlets that make it really easy.
a list of all test cmdlets can be obtained by issuing the Get-Command Test* cmd in EMS.
For the purposes of this post, lets look at a couple of these:
Test-Mailfow
The Test-Mailflow cmdlet is used to check whether mail can be successfully sent from and delivered to the System Mailbox mailbox on a computer that has the Mailbox server role installed.
Test-ServiceHealth
Use the Test-ServiceHealth cmdlet to test whether all the required services that are configured to start automatically on a server have started. The Test-ServiceHealth cmdlet returns an error for any service that is required by a configured role and is set to start automatically but is not currently running. The output will vary depending on the role of the server you issue the cmd on.
For a full list of cmdlets, see Microsoft Technet