Beta testing comes in between Alpha testing and UAT in testing life cycle.
A version of a product is ready to be released ( coding and system testing done ) but the company wants users to take a feel of it and give suggestions / painful features / bugs.
So the version will be released to limited audience outside the programming / system testing team. This gives a general feel of what users are looking for and also catch any bug that might have escaped in system testing.