SaaS (Software as a Service) is changing the software supply mode. Instead of providing installation package, the companies offer products through Internet and allow users to pay through subscription. Most of us have the practical experience to subscribe a product, such as Office 365 as well as Amazon Prime.

How a subscription works affects the user experience in a certain degree. As a SAAS product test engineer, how should we do the effective quality assurance for subscription service? In this article we will talk about it in detail.

1. Subscription: In functional testing, all possible scenarios in subscription process needs to be considered and verified. For example, one special case is to ensure a correct behavior when the credit card is expired. The other one is to ensure the subscribed plan is disabled when the subscription is expired. For this kind of testing, a testing tool is required to trigger the server action to make the credit card or subscription expired.

2. Refund: If product allows user to change his/her subscription before it’s expired, there should trigger refund process. For example, there are two kinds of subscription plans: A and B. (A is part of B). Let’s assume a user buys A plan and pays yearly. After some days, this user would like to change to B plan. Then when B is charged, the user gets the refund of A. Before starting this kind of test, it would be better to check with the related pricing department to make sure how the refund is calculated.

3. Payment Methods: The most used payment methods are Credit or Debit cards as well as the third-party payment tool, such as PayPal. The test requires a fake credit card and Paypal account to simulate the real payment process.

4. Tax: Make sure the price is clearly showed whether the consumption tax is included before the amount of money is going to be charged. The tax rate may be different for different products.

5. Globalization: For the globalized products, more factors need to be considered:

  • Correct currency symbol for different countries
  • Correct decimal separator and grouping symbol for price number for different countries
  • Correct position between currency symbol and price number
  • Correct tax information for different countries
  • Characteristic for different currencies. For example, it may be unconformable for Japanese users to see cents in prices
  • Special payment methods for certain countries. For example, in Japan the payment which supports the user to complete the workflow with bank through offline is offered.