










































































Test data management is how teams create, protect and deliver the data they test against. It covers finding and masking personal data, subsetting large production databases to a useful size, generating synthetic data to fill gaps, and provisioning the result to test environments on demand. Good TDM keeps relationships intact, so tests fail because of defects, not because of broken data.
Data masking is one technique inside test data management. Masking replaces personal and confidential values with realistic substitutes. Test data management covers the whole supply of test data: masking, subsetting, synthetic generation, refreshes, versioning and delivery into environments and pipelines. A team can mask data well and still wait days for each refresh; test data management deals with both problems.
Combine three methods. Mask personal values consistently, so the same customer gets the same replacement in every table and system. Subset production to the business processes you test, keeping linked records complete. Generate synthetic data where no safe real data exists, such as new products or rare edge cases. Apply the same rules to documents and free text, not only to tables.
SAP test data is hard because one business process spans many modules, tables and connected systems. Synthesized masks, right-sizes and generates test data for SAP S/4HANA and ECC without installing anything in SAP. It slices data by business process rather than by date alone, and keeps the same masked customer in SAP and Salesforce, so Order-to-Cash and Procure-to-Pay tests run end to end. See SAP test data.
Agents act across systems and documents, so masked tables are not enough. They need the same customer consistent across records, emails and PDFs, plus the system state an action depends on, reset for every run. That is the job of a safe-state layer, which Synthesized builds on the same masking, subsetting and generation engine.
What is a safe-state layer? →Test data becomes a pipeline step. Masking, subsetting and generation jobs are defined as version-controlled YAML and run from CI/CD tools such as GitHub Actions, GitLab CI, Jenkins or Azure DevOps, for example as a nightly refresh. Test automation tools such as UiPath and Tricentis Tosca get fresh data for each run, so tests do not fail on stale or used-up records.