The testing phase is used to validate the customised software developed, verifying that it meets the requirements identified in the analysis. In this phase, both the individual modules and the entire integrated system are tested. In a customised software development project, testing is not only functional, but also includes strict tests for performance, security, accessibility, etc.
Release is the phase in which the software product is installed in the execution infrastructure used by the customer.
Maintenance includes those sub-activities necessary to modify the software product after release, in order to correct errors, adapt it to new operating environments or extend its functionality.
Every change to the software implies the need for new tests, either related to the new functionalities that may have been introduced, or aimed at verifying that the changes made have not compromised pre-existing functionalities.