Testing ======== Overview -------- The testing phase is concerned with unit, regression, use testing of a software release. 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.