Verification is a software testing activity which answers the following questions in order to control risk during development.
Is the product is being built correctly - true (veritas) to requirements?
Is the software healthy? - no system crashes and the code meets system requirements
Is it ready for release? - low rate failure, regression results clean, patch/fix issues under control
Does user testing (UAT) confirm that business requirements are met?
The Verification Process begins with a Test Strategy document enabling the creation of Test Plans for each development phase and each Test Plan's Test Cases.
Then, Test Cases are crafted with respect to a specific context made up of the following attributes:
1) Software Development methodology.
Extreme Programming (XP)
Feature Driven Development (FDD)
Joint Application Development (JAD)
Rapid Application Development (RAD)
Rational Unified Process (RUP)
Dynamic Systems Development Model (DSDM)
Agile and Hybrids
2) Type of Software Test.
3) Phase of the development process in which the testing is planned.
4) A focus on the principle that finding defects as soon as possible, minimizes the overall cost of the software development process.