This diagram shows an example of the V-model test method. The V proceeds from left to right, depicting the basic sequence of development and testing activities. The model is valuable because it highlights the existence of several levels of testing and depicts the way each relates to a different development phase. Unit testing is code-based and performed primarily by developers to demonstrate that their smallest pieces of executable code function suitably. Integration testing demonstrates that two or more units or other integrations work together properly, and tends to focus on the interfaces specified in low-level design. When all the units and their various integrations have been tested, system testing demonstrates that the system works end-to-end in a production-like environment to provide the business functions specified in the high-level design. Finally, when the technical organization has completed these tests, the business or users perform acceptance testing to confirm that the system does, in fact, meet their business requirements.