Note: Type of certificate(provisioning profile) depends upon distribution of your app.
If you don't want to release app outside your organization, then use
Enterprise provisioning
else, use Production/Distribution provisioning (Standard Development),
so that your app can be made available for public use (outside your
organization)
Follow these steps to distribute your app through TestFlight
Step 1: Enter your test information
Enter test information about your app, such as a description and feedback email. You will need this if you plan to distribute your build to external testers (persons outside your organization).
Step 2: Upload your build
Upload your build using either Xcode or Application Loader. Read Cryptography and U.S. Export Compliance to determine if you need to provide export compliance documentation for your app. After builds are uploaded, they are available for testing for 90 days.
Step 3: Invite internal and external testers
Add internal testers (up to 25 iTunes Connect users in your organization) so they have access to the builds you distribute. Then invite external testers (up to 2000 persons outside your organization) who you want to test your app. You can create groups of testers and assign specific builds to groups. If you invite external testers, the build needs to be approved by Beta App Review before testing can begin.
Tip: To test the variants that the App Store builds before you release your app, invite internal testers only and download the variants using TestFlight.
Step 4: Testers download TestFlight and accept your invitations
Testers install the free TestFlight app on their devices. Then testers use TestFlight to redeem invitations, install your app, send feedback, and get updates. Testers download and install thinned variants of your app.
Step 5: View tester and build information
Track your tester engagement and your app’s performance by viewing build status and metrics in iTunes Connect—such as numbers of sessions and crashes. You can also resend invitations to testers who have not yet accepted their invitation.
Tip: You can also view crash reports directly in Xcode for apps distributed using TestFlight.
Step 6: Collect feedback from testers
Read the feedback from testers, that is sent to the email address you specified in Step 1, continually during the testing period. Also, make improvements to your app and continue distributing builds until all issues are resolved before you submit your app to the App Store.
Step 7: Stop testing
When you are done testing, you can optionally expire a build to stop testing it, and then go to Overview of publishing an app for the process of submitting your app to the App Store. If you don’t expire your build and submit it to the App Store, testers that have received an invite to test will still be able to test your build even after it goes live on the App Store. Your build will become unavailable in TestFlight after 90 days.
See: TestFlight beta testing overview