how to approach user acceptance testing for merged constituent records in a CRM system?
With 3 million records, and 25% duplicates, you've got 750,000 constituent records that need to be merged &amp; verified. That's a lot of manual work to merge &amp; verify all 750,000 constituents individually. 

Presumably there is some automation that you are going to use to identify &amp; merge all of these constituent records. For your User Acceptance Testing, you don't need to verify every merge, you just need to verify a sampling of different scenarios. Your task is to devise a list of test cases that represent those different scenarios. In short, you are trying to do comprehensive (not random) spot-checking 

Usually, you can devise the scenarios based on the same business rules that were used to create the automation.

For example:


Ensure that for a given merge set, a single constituent record is active, and the duplicates are deactivated/deleted. 
You merge two constituents, each with different home addresses. Both constituents have that address set to preferred/primary. Should the merged record have both addresses? Which address should be the preferred/primary address?
You merge two constituents with the same last name, and same address, but different first names. How should these names be combined? Are they treated as a single person (perhaps a nickname &amp; formal name), or as a couple/spouses/household? 
You have two constituents with different first &amp; last names, but the same address. Should they be treated as a couple/household &amp; merged? Should they remain separate, but both active? Should you assume that one moved out &amp; another moved in at the same address, and simply invalidate the address on the older of the two records?
etc etc... for any scenarios you care about.


As part of your test cases, you would need to provide answers for the questions I pose above, in order to tell testers what they are looking for. Essentially, you provide a scenario, and desired result. Testers need to validate that the actual result matches with the desired result. If it matches, the test case passes. If it doesn't match, then the test case fails. 

In some cases you might want to combine scenarios, to sort out possible conflicts in your criteria.

Given that you have an existing database to work with, you may want to identify specific records to use as part of UAT. Your test case could identify the specific records, the pre-merge data, and the expected post-merge results. Testers would then look up those records and verify the results match what is expected.1

Once you've devised your comprehensive list of scenarios &amp; desired results, you'll have a comprehensive test plan to use for your User Acceptance Testing! 

1In software development, even the testing is automated, rather than doing this check manually--but for a one-time project that level of automation is probably not necessary--it's more work than just doing it manually.)