> For the complete documentation index, see [llms.txt](https://docs.uptiq.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.uptiq.ai/app-builder/testing.md).

# Testing

Testing shows you whether each build of an app passed its automated tests. Qore runs the tests on every build, keeps the result per version, and lets you open a full report. Open it from the app workspace's **More** menu → **Testing**.

<figure><img src="/files/qGwzLmJWbdc06CvXvVxb" alt="The Testing screen, listing build versions with pass/fail results and case counts"><figcaption><p>Testing, listing test runs per build version.</p></figcaption></figure>

## The test runs

Each build version is listed newest-first with its **result** (passed or failed), a summary of how many cases ran (for example, *14 Passed · Total 14 Cases*), and when it ran. The most recent build is marked **Latest**. Select **View Report** to open the full report for that version.

## The test report

The report opens with the app name and the **Version**, the **Commit** it ran against, the **Trigger** (for example, *OnBuild*), when it was **Generated**, and the overall **Result** (for example, *PASSED*), followed by a summary of **Total**, **Passed**, **Failed**, **Skipped**, and **Duration**.

Below the summary, the results are broken out by suite — for example a **frontend** suite and a **backend** suite — each listing every test with its result, the file it lives in, the test name, and how long it took (for example, `tests/App.test.tsx › renders without crashing`, or `app routes › GET /health returns 200 OK`). Use **Download** to save the report.

<figure><img src="/files/S7AerBiVl1cFqmSZJVms" alt="A test report, with summary counts and results broken out by frontend and backend suite"><figcaption><p>A full test report.</p></figcaption></figure>

{% hint style="info" %}
Tests are tied to a **build version** and its commit and rerun on each build, so a report reflects a point-in-time version. Check the version before reading a result.
{% endhint %}

## If a build fails its tests

A run's result can be **failed** as well as passed. When it is, open **View Report** to see which suites and tests failed and where, then fix the app in the [App Workspace](/app-builder/app-workspace.md) — describe the fix, or forward a failing test to the build agent — and rebuild. A new build produces a new version with its own test run.

{% hint style="warning" %}
Don't publish a version whose tests failed — the published version is what your users get. Fix the failures, rebuild, and publish the passing version.
{% endhint %}

## Why this matters

* Testing tells you whether a version is safe to publish before you deploy it.
* Results are per build version, so you can confirm the exact version you're about to publish.

## Related

{% content-ref url="/spaces/0qmgQjJ5aArDTj2ACFHG/pages/9006766511be37fb1fe542c48dd782896979a34b" %}
[Security Scans](/app-builder/security-scans.md)
{% endcontent-ref %}

{% content-ref url="/spaces/0qmgQjJ5aArDTj2ACFHG/pages/bc7662d99efc00ab94438c3b32248b84a7af247f" %}
[App Workspace](/app-builder/app-workspace.md)
{% endcontent-ref %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.uptiq.ai/app-builder/testing.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
