Black-box Testing
Black-box testing is solely concerned with the functionality of a program. It is not concerned about the internal functionality, only if it takes in A and returns B.
White-box Testing
White-box testing is concerned with testing all aspects (algorithms) of a program. It focuses on identifying and testing all the possible paths of execution through a program.
On each test run, the path of execution is recorded for comparison.
Alpha Testing
Alpha testing is when the product is given to a set of internal employees for general testing and feedback.
Beta Testing
Beta testing is when the product is given to a set of testers (potential users) for general testing and feedback.