We work out the bugs in the app. Not just from a functional standpoint, e.g.: “It crashes when I click this button,” but also Usability and Performance. Through the following steps:

  1. Prototype – The app is still in proof-of-concept phase and only core functionality, or specific parts of the application are working. Major bugs are present.
  2. Alpha – Core functionality is generally code-complete (built, but not fully tested). Major bugs are still present, outlying functionality may still not be present.
  3. Beta – Most functionality is now complete and has had at least light testing and bug fixing. Major known issues may still be present.
  4. Release Candidate – All functionality is complete and tested. Barring new bugs, the app is a candidate for release to the wild.