Salesforce data migration testing: how to reconcile record counts and field values before go-live
AI-Assisted By Richard C, AIL Studio The data load finished with no errors, so the migration worked, right? Not necessarily. "No errors" means Salesforce accepted what it was sent. It doesn't prove that every source row was sent, or that the values arrived the way they left. Before go-live you want evidence, object by object, that you can hand to whoever signs off. This post walks through four…
Salesforce data migration testing requires more than just confirming there were no errors during the transfer. To ensure a successful go-live, it is essential to verify that every source record was properly migrated and that the field values remained unchanged. Here's a step-by-step guide to performing these crucial checks:
1. Reconcile record counts per object:
- Obtain the row count from your source export or the source system's query.
- Retrieve the count in Salesforce using a SELECT COUNT() FROM Account query.
- Compare the two counts, adjusting for any records intentionally excluded during the migration.
- Calculate the difference between the counts and note the status as "Match" if they are equal or "Short" or "Extra" based on the difference.
2. Compare field values on an external key:
- Export the same fields from both the source and Salesforce systems into separate tabs, with the external key (originally an ID from the old system) as the first column.
- Use the INDEX and MATCH functions to match each target value with its corresponding source row. If a target value is missing, display "missing" in the result cell.
- Perform an EXACT comparison between the source and target values. If they match exactly, label the result as "OK"; otherwise, mark it as "Changed".
- For large objects, analyze a sample set of records across different record types and owners to identify any discrepancies.
3. Catch nulls and truncation:
- Null in target: The source record had a value, but the target field is blank. This issue typically stems from an unmapped field or a picklist value that was rejected during the migration.
- Truncated: The target field contains only a portion of the source value. This problem occurs when the target field length is shorter than the source column.
- Use specific formulas to identify these issues and note them accordingly.
4. Sign-off per object:
- Summarize the results of the previous checks in a sign-off table for each object.
- Indicate whether the migration is "Ready" or "Not ready" based on the counts and field value comparisons.
- Include a column for "Counts only" to indicate whether the migration was completed with matching totals but unverified values.
By following these steps, you can ensure that your Salesforce data migration is thoroughly tested before go-live. Remember to document your findings and seek approval from the appropriate stakeholders before proceeding with the migration.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.