CRM System – How to Approach User Acceptance Testing for Merged Constituent Records

duplicationmerge

I've been Googling to read up and understand what UATs are and how to conduct them, but I'm not quite understanding how to apply it in this scenario.

My acceptance criteria would be that all historic data from duplicate profiles that are transactions, interactions, and custom fields like booleans and strings get merged into the master record.

I'm confused about the "testing" part of UAT…what is there to test? don't we just look at the profiles and confirm that the data is there? Does that count as testing?

I'm struggling to build a test plan because I don't really see what there is to test.

Any help/suggestions/readings/articles is immensely appreciated.


Background:
We have about 3 million records (record being the constituent profile in the CRM), and we have identified at least a quarter of the records are duplicates (common cases being a person has 5+ profiles).

We've gone through the activities of building our criteria and identifying which of these duplicates would be marked as the master record, the duplicate records would then be merged into the master record.

Our next step is to validate the master records to ensure the historic profile data from duplicate records remains intact (transactions, interactions, and any custom fields like booleans and strings that were added on as part of their registrations, merged into the master record).

Task:
I am to build a UAT plan for multiple teams to validate the merge (I did express that my background is not related to what is being asked…but I'll try, because no one else in the company has any idea what to do at this point, budget is really really tight so cannot hire contractors)

Best Answer

With 3 million records, and 25% duplicates, you've got 750,000 constituent records that need to be merged & verified. That's a lot of manual work to merge & verify all 750,000 constituents individually.

Presumably there is some automation that you are going to use to identify & 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 & formal name), or as a couple/spouses/household?
  • You have two constituents with different first & last names, but the same address. Should they be treated as a couple/household & merged? Should they remain separate, but both active? Should you assume that one moved out & 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 & 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.)