During development of a new Link you are usually working with test environments and can write data wherever without causing much fuss.
Sometimes, though, it’s important that you not make changes to a target system you are building a Link against until the Link is closer to being finished. That’s where Testing Mode comes in.
Testing Mode is toggled on or off on a Link-by-Link basis from the Link Settings screen (the same place where you rename a Link or change its Logging Level).
When turned on, all Adapters and Filters can see a flag that indicates that this Link run is a test mode run so they can behave accordingly. Typically this only matters for the target Adapter so that it knows not to persist data.
When Testing Mode is on for a Link, you’ll see a banner on the Link Dashboard:
You’ll also see a banner on the Sync Event Summary screen:
Target Adapters vary in sophistication for what they can still do in Testing Mode. Most Adapter simply won’t try to send records, so even though you’re not seeing errors it doesn’t mean what the Link is producing would be accepted by the end system. This is why we encourage you to only use Testing Mode if you need to, otherwise use a destination environment you are comfortable writing data to.
As an example of what’s possible, when you are writing in Salesforce in Testing Mode, you will actually see real database error messages (such as a required field being missing, or a validation rule failing). This is because Salesforce supports database transaction rollbacks, meaning we can actually write, see errors, then discard the pending write.