DevOps Testing

Salesforce Post-Deployment Testing

Salesforce post-deployment testing is the set of checks that run in the target org immediately after metadata lands, confirming that critical business journeys still work, that manual post-deployment steps were completed, and that nothing adjacent broke. It happens inside the deployment window, often in production, so the tests must be fast, safe to run against live data, and decisive enough to support a go, fix-forward or rollback decision.

SyntraFlow is designed to run production-safe smoke and targeted regression packs after deployment; this is available for demonstration and proof-of-concept validation.

Why a successful deployment still needs checking

When the Metadata API reports a deployment as succeeded, it confirms that every component was accepted and that required Apex tests passed during the deploy. It does not confirm that the org behaves as it did in staging. Production differs from even a full copy sandbox in ways that matter: data volumes are larger, integration endpoints and Named Credentials point to live systems, users hold permission set assignments that were never copied, and settings changed directly in production since the last refresh may not exist anywhere else.

Some parts of a release are not metadata at all. Permission set assignments, custom setting values, queue memberships, scheduled Apex jobs, and data records such as price book entries are frequently handled as post-deployment steps, either scripted or manual. If one is missed, the deployment report stays green while users hit errors on Monday morning. Post-deployment testing is the moment where those gaps become visible while the release team is still assembled.

This page focuses on what happens after the deploy. Checks that decide whether a package should be deployed at all are covered on deployment validation, and emergency mid-week fixes have their own playbook in production hotfix validation.

Smoke versus regression after deployment

Post-deployment checks usually run in two tiers. The first decides whether the release is alive; the second confirms nothing nearby was damaged.

AttributePost-deployment smoke packPost-deployment targeted regression
GoalProve critical journeys work at allProve journeys touched by the change still behave correctly
TimingMinutes after the deploy completes, inside the windowRight after smoke passes, or early the next business morning
ScopeLogin, key record creation, core Flows, one integration round tripProcesses mapped from the deployed components
DataDedicated, clearly tagged test records onlyTagged test records plus read-only checks on real configuration
Typical durationShort enough to finish before the window closesLonger, sized to the change
Failure responseImmediate go or rollback decisionTriage, fix forward or scheduled rollback
Who watchesRelease manager and on-call adminQA lead and process owners

What a post-deployment smoke pack should cover

A good smoke pack is small and chosen for blast radius, not completeness.

Authentication and landing

Representative personas log in through SSO, reach their Lightning app and see the expected home page and navigation items.

Core record creation

Create and save a tagged Lead, Opportunity or Case so validation rules, required fields and before-save Flows fire in the real org.

Changed automation

Exercise each Flow, trigger or approval process included in the deployment at least once on a safe record and confirm the expected field updates.

Access for key roles

Confirm that a permission set change gives the intended users access and did not expose records to others, drawing on security regression testing.

One integration round trip

Send a tagged record through an outbound integration or platform event and confirm the acknowledgement, without creating real orders or invoices.

Post-deployment steps done

Verify that assignments, custom setting values, scheduled jobs and activated Flow versions from the runbook are actually in place.

Designing tests that are safe to run in production

The hardest part of post-deployment testing is doing it against live data without side effects. Every record a test creates should be identifiable, for example by a naming convention, a dedicated test Account hierarchy, or a checkbox field that downstream automation and integrations are configured to ignore. Tests should avoid actions that send email to customers, post to external billing, or trigger approval notifications to real managers, and email deliverability or recipient filters should be considered before the pack is ever run.

Use dedicated test users with the same profiles and permission sets as real personas rather than running as a system administrator, which hides access problems. Clean up created records at the end of the run or keep them in a known test hierarchy excluded from reports and forecasts. Read-only assertions, such as confirming that a picklist value exists, a Flow version is active, or a page layout is assigned to a profile, give a lot of confidence at almost no risk. For environments where synthetic data is preferred, synthetic test data keeps real customer data out of test evidence entirely.

A post-deployment testing runbook

The sequence below fits a scheduled production release inside an agreed deployment window.

1

Freeze and baseline

Before deploying, record the current state of critical configuration and confirm the smoke pack passes against production, so later failures can be attributed to the release.

2

Deploy and complete manual steps

Run the deployment through the team's DevOps tool, then work through the post-deployment runbook for non-metadata changes.

3

Run the smoke pack

Execute production-safe smoke tests as representative personas and publish results to the release channel.

4

Decide go, fix forward or roll back

Use agreed criteria: a critical journey failure with no quick fix means rollback, a minor defect with a known workaround may be fixed forward.

5

Run targeted regression

Execute the regression packs mapped to the deployed components, using deployment impact analysis to select them.

6

Clean up and close the release

Remove or archive test records, attach evidence to the change record, and confirm monitoring is in place for the first business day.

Post-deployment failures teams actually see

These are typical issues that only appear once metadata reaches the target org.

  • A new permission set deployed correctly but was never assigned, so the feature is invisible to every intended user.
  • A Flow deployed as inactive because the org setting to deploy Flows as active was not in use, leaving the old version running.
  • A Named Credential or remote site setting points to a sandbox endpoint, so the integration fails only in production.
  • A validation rule that passed in a sandbox with clean data blocks updates on legacy production records that violate it.
  • A scheduled Apex job was aborted to allow deployment of its class and never rescheduled.
  • Large data volumes make a trigger or Flow hit governor limits on production records that staging never had.
  • A report or dashboard referencing a renamed field returns errors for leadership on the first morning after release.

Supporting the rollback decision

Salesforce has no single undo button for a deployment. Rolling back usually means redeploying the previous version of changed components from source control, adding a destructive changes manifest to remove new components, reactivating a prior Flow version, and reversing any data or assignment changes made during post-deployment steps. Some changes, such as a field type conversion or deleted data, cannot be fully reversed. That makes the decision expensive, and it has to be made quickly while the window is still open.

Post-deployment test results are what make that decision defensible. A clear view of which journeys failed, which components they involve, and whether the failure reproduces lets the release manager choose between rollback and fix forward on evidence rather than instinct. After a rollback, the same smoke pack should run again to prove the org actually returned to a working state, since a partial rollback can leave it worse than either version. Comparing the org afterwards with a metadata diff confirms what really changed.

How SyntraFlow supports post-deployment testing

SyntraFlow is a validation layer, not a deployment tool. It is designed to plug into the post-deployment stage of an existing release process.

Triggered after deploy

A pipeline step or release checklist action can start a SyntraFlow smoke run against the target org as soon as the deployment completes.

Production-safe packs

Packs can be configured to use tagged test records, dedicated personas and read-only assertions suited to live orgs.

Cross-system confirmation

Runs can be configured to follow a process into connected systems such as Oracle or SAP to confirm the downstream result.

Evidence for sign-off

Results, timestamps and scope are captured as a record for change management, with proof-of-concept validation available on request.

Related pages

Salesforce DevOps Testing

The hub for pipeline validation, quality gates and release evidence.

Deployment Validation

Checks that decide whether a package is safe to deploy before it lands.

Production Hotfix Validation

Fast, focused validation for urgent fixes shipped outside the normal release cycle.

Quality Gates

Define which post-deployment failures trigger rollback and who can override.

Security Regression Testing

Confirm permission and sharing changes did not widen or remove access after release.

Sandbox Production Comparison

Find the differences between staging and production that cause post-deployment surprises.

Post-Deployment Testing testing FAQs

What is Salesforce post-deployment testing?

It is validation that runs in the target org right after a deployment completes, usually a fast smoke pack followed by targeted regression. It confirms that critical journeys work, that non-metadata post-deployment steps were done, and that adjacent processes were not broken. Results feed the go, fix-forward or rollback decision.

Is it safe to run automated tests in Salesforce production?

It can be, if tests are designed for it. Use dedicated test users with real profiles, clearly tagged test records that integrations and reports ignore, read-only assertions where possible, and cleanup at the end. Avoid actions that email customers or post to live financial systems.

How long should a post-deployment smoke pack take?

Short enough to finish comfortably inside the deployment window with time left to roll back if needed. Teams typically keep it to a handful of critical journeys and move everything else into targeted regression that can run afterwards.

Do Apex tests run during deployment replace post-deployment testing?

No. Apex tests during a production deploy run against isolated test data and roll back their changes. They do not confirm user-facing behavior, real permission assignments, live integration endpoints or production data conditions, which is what post-deployment checks target.

What should happen when a post-deployment test fails?

Confirm the failure reproduces, identify the components involved, then apply the agreed criteria. A critical journey failure without a quick fix normally means rollback; a contained defect with a workaround may be fixed forward. Rerun the smoke pack after either action.

Does SyntraFlow perform the rollback?

No. Rollback is handled by the team's deployment tooling and source control. SyntraFlow is designed to provide the test results that inform the decision and to rerun validation afterwards to confirm the org is healthy.

Know your release works before the window closes

See how SyntraFlow is designed to run production-safe smoke and regression checks the moment a Salesforce deployment lands.