# Test Harness overview

RippleNet Test Harness is a hosted environment that simulates the integration software (or "middleware") of your RippleNet partner and facilitates the testing of end-to-end payment flows, that is sending and receiving.

![Test Harness Overview](/assets/th-architecture-overview.87a82b8c79ac72a339fd5137084937c0ba070dc815503c7991af4abd32b622e9.e34d2f9c.svg)

## What the Test Harness is

The Test Harness is a tool that helps you, a RippleNet member, put your integration software through realistic and repeatable test scenarios so that you can run partner-to-partner UAT tests with some confidence that your RippleNet integration works. 

The Test Harness attaches to a single RippleNet Server instance using its RESTful API to either initiate or receive test payments. It provides a UI for toggling polling processes, uploading new test content, starting and stopping tests, and reviewing test results.

Specifically, the Test Harness is a tool that helps

* **Receivers** develop a robust and valid [JSON schema](https://json-schema.org/) for their RPO
* **Senders** validate integration software against partner RPO schemas
* **All RippleNet members** run UAT tests with confidence


## What the Test Harness is not

The Test Harness sends and receives API calls, but it does not

* Handle load testing
* Simulate RippleNet components, such as On-Demand Liquidity (ODL) but works with them
* Test multi-hop payment scenarios (with intermediaries) but single-hop payments only


<!-- -->
The Test Harness *can* serve as a receiver in a multi-hop payment but not as an intermediary. An intermediary means that you need to install a real RippleNet Server to serve as an intermediary for multi-hop testing.

When you set up a test environment, you must deploy all RippleNet components to match the production scenario being tested. That is, in addition to setting up *your own* RippleNet Server environment and integration software, you must also install a partner RippleNet Server environment that connects to a Test Harness instance. Your Ripple Success Engineer can help with this.