The problem with the system test is that it may fail for many reasons and often those reasons are unclear. Composite level testing allows us to isolate the individual composites and test them against their specifications. To do this, we inject requests from the client and emulate the references used by the composite, so that we have complete control over all interactions between the composite and the references it interfaces with.
This type of testing is good for identifying defects in the composite, but must be treated with care, as individual services may behave differently from the emulated versions of those services. Testing of a composite is shown in the following diagram: