# Test planning

If you are building a new payments solution or modifying an existing one, it is vital to develop a test plan that enables you to build more effectively and maintain a stable service. This means you must define your requirements and functionality clearly to translate these into test scenarios and specific test cases.

**Functional tests**

Where you have developed your own user interfaces or online presences, you should always conduct manual functional testing of critical workflows to improve the user experience over time and ensure they are functioning well for every release.

#### **Unit tests**

Unit testing is a testing method by which individual units of source code — sets of one or more modules together with associated control data, usage procedures, and operating procedures—are tested to determine whether they are fit for use

#### **Integration tests**

When putting several units together that interact you need to conduct integration testing to make sure that integrating these units together has not introduced any errors. These tests confirm the robustness and interoperability of units.

**Regression tests**

After integrating (and fixing integrations) you should also run your unit tests again. This is called regression testing to ensure that further changes have not broken any units that were already tested before integration tests.

#### Systems integration

Once your system has been thoroughly tested, your partners' integrations should be tested. System integration testing involves bringing together the component sub-systems into one master system and ensuring that the subsystems function together.

**Acceptance tests**

When a user/customer/business receive the functionality they (or your test department) will conduct User Acceptance tests (often called UAT) to ensure that the functionality meets their requirements and the user is happy to ultimately approve the production releases.
