--- title: "Test Data Management" slug: "test-data-management" tags: ["administration"] updated: 2026-09-11T20:02:26Z published: 2026-09-11T20:02:26Z canonical: "docs.unqork.io/test-data-management" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.unqork.io/llms.txt > Use this file to discover all available pages before exploring further. # Test Data Management Non-Production environments (Staging, QA, UAT, Pre-Production) store test data only. Live client data is stored exclusively in Production. Unlike resource promotion (which moves modules, styles, and roles from one environment to another), data does not transfer between environments during promotion. Each environment maintains its own independent data store. Test data created in Staging does not appear in QA after promoting a module to QA. Teams must seed and manage test data separately in each environment. ## What "Test Data" Means Test data includes all submissions created through Express applications, records stored in Data Models, and any data written by modules during testing. It is separate from: - **Configuration data**: Modules, services, styles, and Global Variables. These are resources promoted through the promotion pipeline. - **Live client data**: Real end-user submissions in Production. Live client data is never accessible in non-Production environments. Test data in non-Production environments should be treated as disposable. It exists to support testing and can be reset, replaced, or deleted without business impact. ## Seeding Test Data Before testing a module in a new environment, seed the test data the module expects. Common approaches: ### Using the Submissions API The Unqork Submissions API accepts JSON payloads and writes records directly to a module's data store. Use the API to create a consistent, repeatable set of test records before each testing cycle. ```plaintext POST /api/v1/applications/{applicationId}/modules/{moduleId}/submissions ``` Script the seed data creation so the same dataset can be recreated after each reset. Store the seed scripts in version control alongside the application definition. ### Using Express Applications Run the application in QA or UAT and fill in test forms manually or with test tooling. This approach is slower but tests the full end-user , including validation and conditional logic. ### Using Data Collections Import For Data Model-backed data, use the CSV import in Data Collections to bulk-load test records. See [Data Collections](/unqorkai/docs/data-collections-1) for the import process and limits (up to 10,000 rows per CSV, 1 GB file size). ## Resetting Test Data After a testing cycle, reset test data to a known state before the next cycle. Stale or inconsistent data from previous runs can cause false test failures or mask genuine issues. ### Deleting Submissions Use the Submissions API to delete test records: ```plaintext DELETE /api/v1/applications/{applicationId}/modules/{moduleId}/submissions/{submissionId} ``` For bulk deletion, use the bulk data operations API. See [Bulk Data Operations](/unqorkai/docs/bulk-data-operations) for details. ### Clearing Data Collections Data records stored through Data Models can be deleted in bulk from the Data Collections view in the Explorer, or through the Records API. ### Environment Reset If test data has become severely inconsistent, contact an Unqork representative to request a full environment data reset. This clears all submissions and records while preserving the application configuration. ## Test Data by Environment The appropriate type of test data depends on the environment's role in the promotion pipeline. | Environment | Data type | Notes | | --- | --- | --- | | Staging | Minimal test data | Enough to verify module logic; reset frequently. | | QA | Controlled test datasets | Consistent seed data for each test cycle; reset between cycles. | | UAT | Realistic test data | Representative of real-world scenarios; managed by QA or business team. | | Pre-Production | Minimal validation data | Enough to confirm Production-build behavior; not a full test dataset. | | Production | Live client data only | Never use test data in Production. | ## Data Isolation Test data in one environment has no effect on other environments. A submission created in QA does not appear in UAT or Production. Environments are fully isolated at the data layer. This isolation means teams can run destructive tests (deleting records, submitting invalid data, testing error paths) in non-Production environments without risk to live client data. ## Common Mistakes ### Testing with Production Data in Non-Production Environments Never copy live client data from Production into a non-Production environment for testing. Use anonymized or synthetic data instead. Copying real data to a less-secure environment creates a data compliance risk. ### Relying on Stale Data Across Test Cycles Test data left over from previous cycles can cause tests to pass when they should fail, or fail when the module is correct. Reset test data before each cycle. ### Not Seeding Data Before UAT Business stakeholders testing in UAT need realistic data to evaluate the application. If UAT begins with an empty data store, stakeholders cannot perform meaningful acceptance testing. Coordinate with the QA team to seed UAT with a representative dataset before the UAT cycle begins. ### Assuming Data Promotes with Resources A common misunderstanding is that promoting a module also promotes the data associated with it. Data does not promote. After promoting a module to a new environment, the new environment's data store is empty (or contains whatever data was already there from previous testing). --- **Changelog** | Date | Change | | --- | --- | | 2026-08-30 | Initial publication (EN-8074). | The Production environment is the final stage of the development process. Use this environment to promote tested and functioning application so your end-user can interact with it. The Staging environment is the first level of application building in Unqork. Use it to build, test, and style your applications. Use your QA (quality assurance) environment to test applications to ensure reliability, security, and functionality before releasing them to the end-user. Use the UAT (user acceptance testing) environment to realistically test and navigate your applications as end-users would use them. The Unqork front-end application framework that delivers Creator-built applications to end-users. Express is the layer end-users interact with—the published forms, screens, and navigation built in the Module Builder. Express is distinct from Express View, which is a Creator-facing preview tool in the IDE. End-users, also known as Express Users, are the individuals accessing an application through Express View. In most cases, end-users are the customers using the product. APIs (application programming interfaces) are a set of protocols and definitions developers use to build and integrate application software. APIs act as the connective tissue between products and services. JSON (JavaScript Object Notation) is an open standard file and data interchange format. Unqork uses JSON for submission (record) data.