Construct 2, at least a personal license.
Need a develop account for Google Play.
Need a signed/aligned APK to upload.
A Google+ community. (Can create one just for yourself and set it on private.)
If you are uploading another version of the app that you have uploaded already, you will need to use the same keystore and raise the version number up by at least one. (If the uploaded app is 20001, make sure the one that you are about to upload is at least 20002)
Google Play Developer Console
Once you have your APK ready, go to Developer Console and
and click ADD NEW APPLICATION
Name your app, then click UPLOAD APK.
Make sure you are in the ALPHA TAB and then click UPLOAD YOUR APK TO ALPHA.
Once that is done, you should see the following:
Next, Click on the side tab that says "Store Listing."
Fill this out with whatever you want. I just put a bunch of random text and use random images.
Once you have the store listing filled out, click on the "APK" tab above "Store Listing."
In the drop down button that says "Draft" click it and select "PUBLISH."
It might take it a little while before the app is ready, but on the same page, under the Alpha Testing tab, click "Manage list of testers" and you should see a pop-up like this one:
The link in the "Share the following link with your testers" is the link you need to visit on your device.
Once the app is ready to download, you will see the following on your device once you go to the link:
Click the Download link at the bottom.
It will then open your app for download in the Play Store.
Wanting to test a new build of an app you already have published?
Just click your app in ALL APPLICATIONS, then click the APK side tab.
You will then see tabs for Production, Beta Testing, and Alpha Testing. Make sure you click the Beta or Alpha tab, and the proceed to upload the new APK. Then follow the steps above for the NEW APP, but you do not need to fill out the "Store Listing" section again. It will use the same details as the app you have in Production.
I hope this helps. If you have any questions or run into an issue or error that I didn't cover, let me know in the comments! Thanks.