I have to test an iOS app for in-app purchase functionality. I'm doing it first time and I don't have any idea about it. So anyone please tell me the possible test area of it?
3 Answers
Firstly you need to become a member of Apple's developer program, and understand how in app purchase works. As a starting point you should look to Apple's documentation here: https://developer.apple.com/in-app-purchase/.
Apple provides sandbox environments to facilitate testing, and it is all covered in the documents and past WWDC sessions.
Once you understand that, you should develop test cases based on your product offerings and verify them with a test account.
You can figure out the possible test area by asking a few questions to your team. Such as how many products should be offered, what their prices are, and if their purchase is restrained in some way (time window, inventory limit, account status, etc). From this you can start making tests that canvas the in-app purchase functionality.
First of all you would need a sandbox user for testing In App purchase. Once its available you can start testing. I would like to mention some of the test cases I followed for In App Purchase:
- Check if user is able to buy the app on entering correct credentials
- Check user is NOT able to buy the app on entering incorrect credentials
- Check the status of the app when user enters correct credentials, In App purchase is started and meanwhile connection to Network is lost
- Follow test case 3 first and when Network connection is back then check the status of the In App purchase
- Do In App purchase of the app on one device, Delete the App, Re-Install the app and then check In App purchase again. In this case app should not charge money for same In App purchase that's like Restoring the In App purchase.
- Check In App purchase using sandbox users from different countries like create sandbox users those have permission to buy app from particular country app store only and check the In App purchase for these sandbox users.
Hope you will find this helpful.