Fotolia

Tip

Thorough Exchange Server testing regimen eliminates doubt

Don't assume your Exchange 2016 implementation will work because you bought the right gear. Follow these pointers to execute a successful Exchange 2016 migration project.

You've done your due diligence and bought the right hardware for your move to Exchange Server 2016. After you put all the pieces together, then it's time for a thorough Exchange Server testing regimen.

A few factors have many organizations that use on-premises Exchange planning a move to Exchange Server 2016. Exchange Server 2010 has less than two years before it leaves extended support. Exchange Server 2013 left mainstream support this year.

After the decision to move to Exchange 2016, the next stage of planning process should have involved using the Exchange Server role requirements calculator to size your deployment, creating a suitable design, then purchasing and installing the hardware to support your implementation. But this is only part of the overall effort.

There are vital areas you must test in the time after implementing Exchange Server 2016 and before migrating mailboxes. As part of the overall Exchange Server testing strategy, you should check the functionality of the storage infrastructure next.

Using Jetstress to test storage performance

Whether you run Exchange Server on physical hardware and follow Microsoft's preferred architecture or you use virtual infrastructure, make sure your storage meets the IOPS requirements outlined in the Exchange Server role requirements calculator.

The calculator recommends the RAM and storage needed. The organization determines what type of disks to purchase and their size. However, it's possible to buy the wrong type of disk controller or to receive a faulty drive. Eliminate any doubt about the hardware and run tests on the storage.

For this segment of Exchange Server testing, use Jetstress to generate a workload with the same Exchange Server 2016 binaries, database and log file configuration used in the Exchange Server deployment. Microsoft also supplies a Jetstress field guide to follow when planning your storage test. Microsoft developed the instructions for Exchange Server 2013, but it is supported and applicable to Exchange Server 2016.

Jetstress test
The Jetstress application checks the stability and performance of the storage infrastructure of an Exchange Server deployment.

Some might say this test is a waste of time if you purchased correctly sized hardware, but it's better to get confirmation. Jetstress can fail the storage hardware due to a configuration error or some other reason, which may involve extensive troubleshooting.

After you implement Exchange Server 2016

Although every Exchange deployment differs slightly, there are key areas worth checking to avoid any surprises.

After the servers pass the Jetstress test, start your deployment of Exchange Server 2016. What is right for your organization will vary, but in most circumstances, admins implement a database availability group (DAG) with the Exchange mailbox servers along with the appropriate load balancing and, where appropriate, backup software.

What Exchange admins need is a checklist to verify all the settings before you go live. Although every Exchange deployment differs slightly, there are key areas worth checking to avoid any surprises.

Set up Exchange for basic tests

You should test the Exchange 2016 infrastructure at a high level to verify its status. At this point, it's unlikely you have migrated the client access role across, so you might need to reconfigure the local host files on your test clients to run these trials.

Area

Test activity

User accounts

Create test mailboxes in each data center on Exchange 2016.

User accounts

Create test mailboxes in each DAG on Exchange 2010.

Client

Configure host file records to simulate connectivity to Exchange 2016 load balancers.

OWA 2016

Test Outlook on the web/Outlook Web App (OWA) login functionality for an Exchange 2016 user in each data center.

OWA 2016

Test reading, opening and replying to emails for an Exchange 2016 user in each data center.

OWA 2016

Test creating, updating and modifying a calendar item for an Exchange 2016 user in each data center.

OWA 2016

Test creating, updating and modifying a contact item for an Exchange 2016 user in each data center.

OWA 2016

Test disabling user access to OWA for security purposes.

Email

Test mail flow between Exchange 2016 users in each data center.

Email

Test mail flow to an Exchange 2016 user in each data center from Exchange 2010 in each data center.

Email

Test mail flow to an Exchange 2016 user in each data center from an external source.

Email

Test mail flow from an Exchange 2016 user to an Exchange 2010 user.

Email

Test external out-of-office settings of an Exchange 2016 user from an external source.

Federation

Test availability of an Exchange 2016 mailbox from an external partner.

Federation

Test availability of an external partner's mailbox from Exchange 2016.

Exchange general

Test mailbox move functionality from Exchange 2010 to Exchange 2016 in each DAG.

Exchange general

Test mailbox move functionality from Exchange 2016 to Exchange 2010 in each DAG.

Testing each database availability group

After you complete these basic checks, you should run tests with the following PowerShell cmdlets against each DAG to check mailbox services.

Area

Test activity

Service health

Use Test-ServiceHealth to verify services are running.

Service health

Use Get-HealthReport to check if each server is healthy.

Mail flow

Use Test-Mailflow to test the mail flow against each server.

Mail flow

Use Test-SmtpConnectivity to test connectivity to each receive connector.

Mailbox

Use Test-ReplicationHealth to validate the DAG continuous replication status.

Mailbox

Use Get-MailboxDatabaseCopyStatus to view the health of the database copies within the DAG.

Mailbox

Use Test-MapiConnectivity to verify MAPI and LDAP work with a user's login.

Mailbox

Use Test-AssistantHealth to check that the Mailbox Assistants service is running and healthy against each server.

Client access

Use the Microsoft Connectivity Analyzer to execute the Outlook connectivity tests.

Client access

Use Test-WebServicesConnectivity to test client connectivity to Exchange Web Services virtual directories against each server.

Client access

Use Test-ActiveSyncConnectivity to simulate a full synchronization with a mobile device.

Client access

Use a browser to log on to the Exchange Admin Center to verify functionality of all Exchange 2016 servers.

Client access

Use Test-MRSHealth to verify that the Mailbox Replication service is running and that it responds to a remote procedure call ping check.

High availability

Validate that the passive copy of databases in the same data center comes online automatically after a failure of a database.

High availability

Validate that the services that are running in the secondary data center continue to operate without any interruption after failing all the servers within the DAG in the primary data center.

High availability

Manually remove a disk from a passive database to test if auto reseed works as expected. Reverse the process to return the disks to the original state.

High availability

Perform a cold start of the DAG to validate that the DAG will start correctly if a major outage occurs.

Load balancer

Disable all load balanced servers for each server in turn within the same data center. Validate client access and mail flow for mailboxes hosted on failed servers.

Load balancer

Disable all load balanced services within the first data center. Validate client access and mail flow for mailboxes hosted on the failed data center.

Load balancer

Disable all load balanced services within the secondary data center. Validate client access and mail flow for mailboxes hosted on the failed data center.

Backups

Use Get-MailboxDatabase to validate the right setting for circular logging: disabled if using backup software or enabled if there is no backup software installed.

Backups

Perform a full backup of each mailbox database.

Backups

Perform an incremental backup of each mailbox database.

Backups

Restore a full database to a temporary location and recover a mailbox.

Backups

Restore a full database to the original location and mount it.

Unified messaging

Test leaving a voicemail to an Exchange 2016 mailbox.

Unified messaging

Test receiving a voicemail in an Exchange 2016 mailbox via the Outlook client.

Unified messaging

Test receiving a voicemail in an Exchange 2016 mailbox via Play on Phone.

Unified messaging

Test access to Outlook Voice Access in Exchange 2016.

Unified messaging

Test instant messaging sign-in to Exchange 2016.

Unified messaging

Test Skype for Business meeting scheduling in OWA.

Check client connectivity

In the final stage of Exchange Server testing, you should examine client connectivity. If the Exchange system passes all the previous tests, then basic connectivity is most likely fine. It's important to run a full set of tests using the builds of the clients the end users will use.

Your checklist might vary from the one below to include the different Outlook versions and mobile devices to test.

Area

Test Activity

Outlook 2016

Test before/after migration experience.

Outlook 2016

Test Autodiscover in Exchange 2016.

Outlook 2016

Test cached mode access via Exchange 2016 in each data center.

Outlook 2016

Test offline address book download functionality via Exchange 2016 in each data center.

Outlook 2016

Test Exchange Web Services -- free, busy, out of office -- functionality via Exchange 2016 in each data center.

Outlook 2016

Test Outlook Anywhere functionality via Exchange 2016 in each data center.

Outlook 2016

Test mail send/receive/synchronization via Exchange 2016 in each data center.

Outlook 2016

Test open additional mailbox functionality via Exchange 2016 in each data center.

Outlook 2016

Test open additional on-premises mailbox functionality via Exchange 2016 in each data center.

Mobile device

Test Autodiscover functionality in Exchange 2016 in each DAG.

Mobile device

Test ActiveSync synchronization in Exchange 2016 in each DAG.

Skype for Business client

Test Exchange access after migration to Exchange 2016.

As you test, record the results for reference purposes. For example, you may wish to:

  • collect screenshots or screen recordings as you test;
  • work with a colleague to help oversee the testing process and sign off on the checklist; and
  • there may be other areas to resolve, so add a column to add notes for any remediation actions before retesting the environment.

Further investigation required for a full test

This list is just a starting point. Consider if you need to refine the checklist to fit your specific needs. Perhaps you need to add tests to cover aspects like Office 365 hybrid or public folder migrations.

This article should be a useful start for administrations about to embark on an Exchange Server 2016 deployment.

Dig Deeper on Microsoft messaging and collaboration