Alpha testing and beta testing are two different stages of testing that software undergo. The alpha testing comes first before the beta testing. However, when software fails the alpha testing, it will not go through the beta testing, rather the software would be reviewed again. The alpha testing is usually carried out by a small group of experts, who takes the software through different stages to ensure it is functioning well, and that there are no errors.
On the other hand, the beta testing is not really carried out by experts, probably just software user that tries the software and make their comments or complaints known to the owner of the software. When the software is still at the stage of alpha testing, the program is still rough and it is more exposed to the risk of being crashed.
At this stage, the program is tested by limited number of hardware configurations due to the limited number of alpha testers. The program is more of being polished at the beta testing to ensure that the software is available to work for everyone.