-
Notifications
You must be signed in to change notification settings - Fork 1
Pack Purchasing Test Plan
This page was copied from Phrasecraze's Test Plan, but should apply with some swapping of the word "phrase" for "card/word".
This page will keep track of any and all testing scenarios that we should run through to make sure any implementation of pack purchasing is working.
For additional testing according to Amazon, see https://developer.amazon.com/sdk/in-app-purchasing/documentation/testing-iap.html#Introduction.
As a user of Buzzwords I want all of my packs I've purchased to be on my device so that I actually get what I pay for when I "own" a pack.
- No Internet Connection - LR Tested 12/4/13
- No Billing Connection
-
Billing Service In Background
Make sure the billing service isn't running in the background when the app is not in focus - Purchased Packs Restore - LR Tested 12/4/13
- Purchased Packs Restored on Second Device - LR (I don't think we can test this on Amazon)
- Refunded Packs Remove - Check if we can refund on Amazon
- Refunded Packs Removed From Second Device
- Cancelled Pack Purchase LR Tested 12/4/13 Verify that the pack never installs when a purchase is cancelled. See instructions for Amazon testing.
- Market Account Changed LR Tested 12/4/13 Verify that packs are both removed and installed when a user changes the market account
As a user of Buzzwords I want all my packs installed and updated on startup when they are out of date so that the packs I own are always current.
-
Install on First Run Only
Run the app and verify that any local packs are installed on the first time only. -
Update on Second+ Runs
Updates occur on the PackPurchase screen, after user's packs are removed or deleted (don't update packs that are about to be deleted). - Update Multiple Packs Verify that updating multiple packs at once installs all content as expected. Specifically, all words should be re-inserted into the database and the Pack version should update accordingly.
- Installs on Purchase
-
Crashed Install
Run the app and simulate a crash by stopping the app (Settings - Manage Applications - Buzzwords - Force Stop). In this case the app should roll back the installation of the interrupted pack. When re-run the app should pick up at the start of the interrupted pack. When the installation is complete, all packs should be installed and the count of phrases should be correct. - Facebook Pack - Like Us LR 12/11/13 - dialog can pop up early but that's not a dealbreaker IMO Download Facebook packs, verifying that the browser pulls up the Buzzwords FB Page and install dialog doesn't trigger until after the user returns.
- Facebook Packs - No App LR 12/11/13 - dialog can pop up early but that's not a dealbreaker IMO Download Facebook pack and verify that the app is launched instead of the browser and install dialog doesn't trigger until after the user returns.
As an owner of Buzzwords I want to be able to modify, delete, and add packs on the server that will get picked up by the app so that I don't have to modify any code to change the packs people are using or can use.
Use our new shiny script that manages packs to test the following scenarios.
- Add a Pay Pack LR Tested 12/8/13 Add a pay pack to the server and verify app picks it up and user can purchase it. Verify pack only shows up after adding it to Amazon Market.
- Add a Free Pack to IAP Add a pack marked as a "Free Entitlement" in Amazon IAP. Make sure it shows up in the pack list as FREE instead of BUY. Verify it can be downloaded through Amazon IAP like paid packs.
- Add an Incomplete Pack N/A Add a pack (either type) to the server without adding any phrases. Will it count as a purchase if the user buys a partially created pack?
- Broken Packs Add or modify a pack to make it syntactically incorrect. Will the app crash and burn?
- Delete a Purchased Pay Pack LR Tested 12/10/13 Delete a pay pack from the server and verify app removes it from the list. Players who purchased pack should still have it installed.
- Delete an Unpurchased Pay Pack LR Tested 12/10/13 Delete a pay pack from the server and verify users who bought it can still use it
- Delete the Facebook Pack LR Tested 12/10/13 Delete the Facebook pack from the server and verify app removes it from the list
- Delete an Installed Facebook Pack LR Tested 12/10/13 Delete an installed free pack from the server and verify user can still use it and app doesn't try to update it
- Update a Pack - Modified Phrase LR Tested 12/10/13 Modify a phrase on the server as well as the pack version and verify that new phrase is picked up on app restart
- Update a Pack - Remove Phrase N/A This can't be done currently Modify a pack by removing a phrase from the pack and incrementing the pack version. Verify the phrase is removed from the user's app on restart.
- Update a Pack - Change the Icon LR Tested 12/10/13 Modify a pack's icon, tick up the version, and see that the pack icon changes.
TESTING NOTE This can't be done right now because we need to keep pack progress tracked. We would have to cross reference the set of cards in the database against those in the server pack. A better idea would be to just edit an existing word (maintain the same id, change the content).
- Update a Pack - Add Phrase LR Tested 12/10/13 Modify a pack by adding a phrase to the pack and incrementing the pack version. Verify the phrase is added to the user's app on restart
Use this for elaboration on the below test cases: https://developer.amazon.com/sdk/in-app-purchasing/documentation/testing-iap.html#Introduction
- Get User Id (Success/Failure) LR Tested 12/4/13 Packs don't show (could not access store)
- Get Item Data (Success/Failure/Unavailable SKUs) LR Tested 12/5/13 Pack list displays only purchasable packs on Amazon and our servers, or free packs on our servers.
- Purchase Request (Success/Failure/Invalid SKU) LR Tested 12/5/13 Success, Already Entitled, and Invalid SKU all behave with appropriate dialogs. Failure doesn't do anything since closing the purchase dialog logs a failure too.
- Purchase Update Request (Success/Failure) LR Tested 12/5/13
- Subscription Check N/A
- Working with the Receipt Verification Sandbox N/A