> For the complete documentation index, see [llms.txt](https://oten.gitbook.io/openplatform/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://oten.gitbook.io/openplatform/comming-soon/test-your-app.md).

# Test your app

{% hint style="info" %}
Use a Test App to safely try changes to your app before publishing. You create it from the App Detail page, choose an Environment (Live — default, or Test), and the system clones your current app into a separate test space.
{% endhint %}

## What is a Test App?

A Test App is a cloned copy of an existing app used only for validation. It:

* Appears under the Dev Environment menu
* Shows a “test” tag in the UI
* Mirrors the original app’s settings and configuration at the time of cloning
* Is isolated for access control (only granted users can use it)

{% hint style="warning" %}
Environment matters:

* Test (recommended): some features/permissions/APIs or modules may run in mock mode to avoid impacting live data.
* Live (default): operates on live data. Actions may affect your main app.
  {% endhint %}

## Prerequisites

* You already have an app: [Create an app](broken://pages/HGpkOALzklDoZPMahsSU)
* You have permission to create Test Apps for this app
* You understand the difference between Test vs. Live environments for Test Apps

## Create a Test App

1. Go to Developer Console → your App → App Detail
2. Click the Test button
3. In the Create Test App dialog, fill in:
   * Name: the display name of your Test App
   * Environment: Live (default) or Test
4. Click Create

What happens next:

* The system clones a Test App from the app you selected
* You are redirected to the Test App’s App Detail page (same layout as the main app, with an extra “test” tag)
* The Test App appears under the Dev Environment menu (all Test Apps are listed here)

### Screen

* Create Test App dialog

![Create Test App dialog](https://gitlab.silvertiger.tech/documents/open-platform/-/blob/document/.gitbook/assets/test-app-create-dialog.png)

* Test App Detail with "test" tag under Dev Environment menu

![Test App Detail with tag](https://gitlab.silvertiger.tech/documents/open-platform/-/blob/document/.gitbook/assets/test-app-detail-with-test-tag.png)

* Manage Test Users screen

![Manage Test Users screen](https://gitlab.silvertiger.tech/documents/open-platform/-/blob/document/.gitbook/assets/test-users-management.png)

## What you can do in a Test App

* Edit App Information
  * Preview how changes would look on the Marketplace before you modify the main app
* Rotate Client credentials (Client ID/Client Secret)
  * Validate that your integrations still work with updated credentials
* Adjust Integrations/Permissions/Scopes
  * Verify your app continues to work with the configured permissions and scopes (including consent flows)
* Update Roles (in your system app)
  * Confirm the Test App still works after role changes
* Not available in a Test App
  * No Publish action
  * No Pricing Plans section

{% hint style="warning" %}
If you chose Environment = Live when creating the Test App, actions in the Test App can change live data and may impact the main app. Use Environment = Test to avoid affecting live data.
{% endhint %}

## Manage Test Users

Only users explicitly granted can access a Test App. Use the Test Users screen (available in the Test App) to control access.

To test with your configuration:

1. Add a Test User (grant access)
2. Sign in to the Test App using that Test User
3. Exercise the flows you want to verify (e.g., permissions, consent, integrations)

## Known differences and limitations

* No app version control in a Test App (unlike the main app)
* No publish flow; Pricing Plans are hidden
* When Environment = Test, certain features/permissions/APIs or modules may be mocked to bypass live-only constraints

## Best practices

* Prefer Environment = Test for experiments; use Live only when necessary and with full awareness of impact
* Restrict access with Test Users; remove access when testing is complete
* Verify configuration parity with your main app before testing:
  * Client type, Redirect URIs, Allowed origins
  * Audience/Resource Server, Scopes/Permissions, Roles and consent settings
* Rotate Client credentials in the Test App first; update dependent integrations and verify redirect flows
* Use separate Webhook endpoints for Test vs. Live; avoid sensitive data in logs
* Label and separate test data; avoid using live customer data in Test
* Track intentional differences between the Test App and the main app (keep a short checklist)
* Clean up or archive stale Test Apps to reduce confusion and risk
* If you must test on Live environment, notify your team and monitor closely

## Troubleshooting

* Cannot access the Test App
  * Make sure your account is added in Test Users for this Test App
* Consent does not appear or fails
  * Re-check scopes/permissions and role assignment; note that some features may be mocked in Test environment
* Integration breaks after changing credentials
  * Update your app/integration configuration to use the new Client ID/Secret and verify Redirect URIs/origins
* Live data changed unexpectedly
  * You might be using Environment = Live. Create a new Test App with Environment = Test for safe validation

## Next steps

* When satisfied with results in the Test App, apply the same changes to your main app
* Continue to: [Publish your app](/openplatform/about-us/user-guide/oten-developer/6.-publish-your-app/publish-your-app.md)

## See also

* [Create an app](broken://pages/HGpkOALzklDoZPMahsSU)
* [Configure Resources & Security](broken://pages/m9BrVKv5fRL6DwaeFZiS)
* [OAuth and Permissions](https://gitlab.silvertiger.tech/documents/open-platform/-/blob/document/build-your-app/oauth-and-permissions.md)
* [Integrations](broken://pages/dLm01yWXauOSxKJhz5ez)
* [App versioning](/openplatform/comming-soon/app-versioning.md)
