want to send invitations to users to beta test my site

I want to set up a beta site where I can send invites to specific people who get an invitation which enables them to log in to my site and start testing it
I only want those that I invite to have access and I want the site to be closed to the public
How can I do this?