Software Testing Levels - Alpha Testing
Regression Testing is performed on the software product after a major code changes. In most cases, the regression testing can be automated since they have to verify the old bugs / defects that might have introduced again in the software with the new changes. QA team will have a test results for the earlier released version of the software. They will run the same tests with the new software and compare the results with older version to conclude whether regression testing is successful or not.
Customers perform acceptance testing with their own hardware / computers of the software product. It is also known as user acceptance testing (UAT). Alpha testing is performed by the internal users of the company where as Beta testing is performed by a set of external users. The external users will be limited based on different criteria set by the company and natue of software product. For example, web based online software application may need software testing with different geographical locations distributed by the historical percentage of the web traffic. stand along workstation product might requires beta testing performed by the subset of the major clients they have.