Part of the Software Development Life Cycle (SDLC) the Testing and Integration Phase is when the various disparate components of the system are integrated together and systematically tested as a whole.
Not only is the product tested by final end users to ensur the product meets the specified functional requirements, but it is also tested by the developers and Quality Assurance staff (Test Engineers) to ensure that it is resilient, and capable of sustaining the amount of projected use as specified in the requirements.
White Box (Structural) Tests and Black Box (Behavioral) Tests
Up to this point, the independent components have been only subjected to one or more White Box (Structural) Tests (at least Test Cases) by the developers themselves.
Now, the various disparate components are assembled into a whole, so that they can be tested with Black Box (Behavioral) Tests by Quality Assurance (test engineers), as well as target users.
Note:
White Box (Structural) Tests differ only from Black Box (Behavioral) Tests in so much as that White Box Tests require direct knowledge and access to the code itself, whereas Black Box Tests do not.
This basically means that White Box Tests should be performed by the Developers who know their own code, and Black Box Tests can be performed by QA Test Engineers and final Users, without knowledge of, or access to, the internals of the compiled components.
Note:
For a list of Tests possible, see the following links:
Certification and Accreditation
In addition, to Tests, if the final system must comply to specified regulations, it must undergo certification and accreditation at this stage, prior to being installed and operated within a production environment.
If the product passes the tests, the next phase is the Implementation/Deployment Phase.