How to Test a Salesforce ISV app: What Changes, What Breaks, and What to Watch

If you’re wondering how to test a Salesforce ISV app, the process isn’t the same as testing a regular Salesforce implementation.
Testing a Salesforce ISV app isn’t just about unit tests and code coverage: it’s about replicating how your package behaves in real customer orgs. This post explains how to test a Salesforce ISV app from both a technical and QA perspective.
That’s the ISV reality.
You’re not just shipping code. You’re shipping trust into environments you don’t control.
The technical side of packaging is well documented.
The testing side isn’t.
And most ISVs learn that the hard way.
Here’s what makes ISV testing different, what usually goes wrong, and how to build confidence into your releases before you upload your next version. How to test a Salesforce ISV app isn’t just about your dev org passing tests. The first failure usually happens in a customer sandbox you’ve never seen, with configurations you didn’t create and data you didn’t expect.
If you’re looking for hands-on support, we also offer Salesforce ISV Testing services to help you prepare with confidence.
Why ISV testing is a different game
Most Salesforce teams test what they own. Their metadata. Their flows. Their users and data.
ISVs don’t get that luxury. Your code lives in a namespace. It gets deployed into orgs with automation, objects, and installed packages you didn’t write and can’t predict. Admin access isn’t guaranteed. Clean metadata is rare. And you definitely can’t guess what your customers have already installed.
Every org becomes a new edge case.
Every upgrade carries real risk.
If you want to understand how to test a Salesforce ISV app properly, you need to think in two directions: one for how it behaves in your packaging org, and one for how it behaves in a customer’s org.
That’s why you need two test tracks:
- One in the packaging org, where your code and logic live
- One in the installation org, where your product actually runs
It’s not just about whether your features work.
It’s about whether they still work after someone else hits install.
That’s why you want to know how to test a Salesforce ISV App in critically ensuring your app works across different customer orgs.
If you’re new to ISV delivery, Salesforce offers a Trailhead module on managed package development that explains the basics.
Where things tend to go wrong
We’ve seen ISVs ship updates with a passing test suite and no errors, only to face a flood of support tickets from pilot customers. The issues usually don’t show up in clean pipelines. They surface in the real world:
- Apex classes break when another installed package creates naming conflicts
- Flows misfire when managed fields are referenced in unexpected automation
- Test data scripts fail silently because the expected objects don’t exist
- Components vanish from pages due to field-level visibility or profile differences
- Post-install scripts overwrite data or fail in partial copy sandboxes
And these are just the obvious ones.
Most of these issues aren’t bugs. They’re mismatches, caused when your assumptions about structure, access, or behavior collide with a real customer org.
What solid Salesforce ISV testing looks like
The best ISV teams approach testing in layers.
They start in the packaging org, with tests that cover:
- Core logic and Apex
- Public API endpoints
- Feature-specific flows
- License-based behavior
- Post-install and upgrade automation
These run fast and often. But they don’t catch everything.
That’s why smart teams build a second layer in installation orgs, where they simulate the real customer experience:
- Installing into fresh scratch orgs
- Running flows with restricted permissions
- Verifying UI layouts and metadata visibility
- Testing version-to-version upgrades with live data
- Validating uninstall, reinstall, and rollback paths
That second layer is where Salesforce ISV testing really earns its keep.
This kind of testing takes more time. That’s also what makes it worth doing. It’s where the biggest risks live and where trust is won or lost.
The most common blind spots
ISVs often assume passing security review means they’re ready. But the AppExchange review isn’t designed to test upgrade behavior, config conflicts, or permission boundaries. It catches vulnerabilities, not breakage.
Confidence doesn’t come from perfect coverage.
It comes from seeing how your product holds up in the kind of environments you can’t predict but still have to support.
We’ve worked with teams that had clean pipelines and stable builds, but still lost customers because a post-upgrade flow wiped out field settings in orgs where that feature had never even been used.
Nothing technically failed.
But the user lost trust, and the admin uninstalled.
Most teams fail not because their tests are wrong, but because Salesforce ISV testing wasn’t built with upgrade safety in mind.
If you’re exploring the broader challenges of test strategy across Salesforce teams, you might also like our post on Salesforce QA Strategy.
A different kind of ownership
As an ISV, you’re accountable for things you don’t control.
That’s a tough spot. But it’s also where the right testing strategy makes all the difference.
You won’t see every customer org, and you won’t prevent every conflict.
But you can simulate the most likely ones and turn your test process into something that builds trust, not just checks boxes.
Want to know how test a Salesforce ISV app smarter across environments?
If you’re building or maintaining a Salesforce managed package, and want to test it the way your customers will experience it, we can help. Explore our Salesforce ISV Testing services for hands-on support, or request a QA assessment tailored for ISV teams.