A very early version of a software product that may not contain all of the features that are planned for the final version. Typically,
software goes through two stages of testing before it is considered finished. The first stage, called
alpha testing, is often performed only by users within the organization developing the software. The second stage, called
beta testing , generally involves a limited number of external users.