Stages
Testing is generally divided into these major test types:
- feature testing - whether specific features work as designed,
- bugfix testing - whether a bugfix has indeed fixed the associated bug,
- integration testing - whether all products work together as a whole,
- regresson - whether new bugs have appeared due to other changes, or old bugs reappeared,
- usability - whether the software meets useability standards,
- compatibility - whether the software works on all platforms and can be upgraded from the previous version, and
- performance - whether the software meets performance standards.
As a module, feature, or other portion of the whole moves through testing, it goes through these subphases:
- general correctness,
- internal (aka alpha) testing, and
- external (aka beta) testing,
- final release testing.
Once all portions have gone through testing, the product as a whole is ready for the release process.