# Phases of System Testing

System testing examines every component of an application to make sure that they work as a complete and unified whole.&#x20;

{% hint style="info" %}
A QA team typically conducts system testing after it checks individual modules with functional or user story testing and then each component through integration testing.
{% endhint %}

## Phases of System Testing

System testing examines the entire application as a whole to identify issues before release. A QA team typically performs system testing after:

• Functional, acceptance and unit testing of individual components

### The main stages of system testing are:

1. **Setup test environment** - A test server is configured to simulate production. This allows testers to run automated test cases in an isolated environment.

<details>

<summary><mark style="background-color:green;">Testers setup:</mark> </summary>

• Test data\
• Test databases\
• Test users

</details>

2. **Create test cases** - Test cases that cover all functional and non-functional requirements are created.

<details>

<summary><mark style="background-color:green;">Testers write test cases to ensure:</mark> </summary>

• All features and flows are tested&#x20;

• Edge cases are considered&#x20;

• Various conditions are tested

</details>

3. **Generate test data** - Representative test data is created to simulate real user inputs and scenarios.

<details>

<summary><mark style="background-color:green;">Testers generate:</mark></summary>

• Valid and invalid data

• Edge case data values

• Large and small data sets

</details>

4. **Execute test cases** - The automated test cases are run to exercise all features and flows within the system. Issues are identified and logged.

<details>

<summary><mark style="background-color:green;">Testers run:</mark> </summary>

• Integration tests

• Performance tests

• Security tests

• Regression tests

</details>

5. **Regression testing** - Previously executed test cases are rerun to ensure no new issues were introduced. Any failures are investigated.
6. **Defect fixing** - The development team fixes all logged defects and issues.
7. **Retesting** - Once fixes are implemented, impacted test cases are rerun to verify the fix resolved the issue.

{% hint style="success" %}
If system testing passes, the software proceeds to final acceptance testing. Throughout, testers monitor defect levels based on the application's quality standards.
{% endhint %}


---

# Agent Instructions: 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:

```
GET https://qatesting.gitbook.io/qa/manual-testing/types/black-box-testing/functional-testing/system-testing/phases-of-system-testing.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
