Need some clarification about beta/alpha testing on the developer console

To answer your questions:

1.What is exactly the difference between them, especially between Alpha and Beta?

There isn't much difference between the two aside from the fact that you just start with a small number of testers for alpha testing and switch to a bigger group for beta

2.Only the production stage is available for people on the play store, right?

By default, only production is available on the Play Store. However, you can now add an option in your Play Store page for users to opt into an open Beta program. Link

3.which one/s allow to publish only to specific people/percentage , and in which way do you do it?

You can do that for both. To do alpha,beta testing you need to send invites to people on their google+ accounts so that they can access your app and be able to download it. The invites is usually in the form of a link directing them to your app on the play store which is only visible to them after they accept the invite

4.which stage allows in-app billing, at least for testing ? I don't get why can't i test it out even before uploading the app.

You can do in-app billing for both alpha,beta testing. Check the link: http://developer.android.com/google/play/billing/billing_testing.html

5.in the percentage method, if I publish a new app version using the same way, will it first update for the people who were lucky enough to install the previous version?

As far as my experience goes, i have seen people who were testers get the update for the app first than everyone else. But i am not so sure about how does it work exactly.

Hope this helps.


Difference between Alpha and Beta testing (Software/Apps Testing)

Alpha Testing is conducted within the organization and tested by an individual developer or a team of developers or testers. This testing is closed for public.

Beta testing is conducted by the end users who are not programmers, software engineers or testers. This testing may be open for public.

Open or Closed Testing

Closed Alpha Testing: This testing is conducted within the organization and restricted by email or group invitations only. Those who are added onto the list of alpha testers on Google Play Store have access to test app.

Open Alpha Testing: Those who have Opt-in link of app have access to test the app. This testing is not restricted by email or group invitations. You can limit the number of testers on Google Play Store.

Closed Beta Testing: This testing is conducted outside the organization and restricted by email or group invitations. Those who are added onto the list of beta testers on Google Play Store have access to test app.

Open Beta Testing: This testing is conducted outside the organization and it is not restricted by email or group invitations. This testing is conducted in real time as the app will be made open for public to install. You can limit the number of testers on Google Play Store.

Generally, alpha testing is first conducted by developers or testers within the organization. Beta testing comes after and is conducted by non-technical or end users outside the organisation. Finally, after completing the testing, the app goes to production.

In app purchase

Licensed users may purchase your in-app products without any resulting charges to the user. Test purchases can be only used in both alpha and beta releases.

To add user license: Google play Console -> Settings -> Developer Account -> Account details -> License Testing

Learn more about testing