The last time when you logged on to a Retail site, were you not tempted to see what products are available on promotional offers? When it comes to shopping, the first thing that a customer looks for is the current sale offers or discounted products that they can buy. A lot of surveys clearly show evidence that promotions not only help in improving sales but also have helped win loyalty among customers.

Given the difference it can make, it is very important that these promotions are tested properly. Retail applications have moved away from traditional brick-and-mortar or catalog sales. Today, retailers use Multichannel retailing or Omnichannel retailing, where a variety of channels such as an online store, mobile stores, mobile app stores, telephone sales, and various other methods are used for selling. Testing promotions on such diverse channels require a good strategy (Learn more about our Omni-channel strategy)

Types of Promotions:

Promotions can be broadly divided into online, in-store, and omnichannel promotions. These promotions can be further subcategorized into:

  • Percentage off – % off on buying certain products or on buying products over a threshold amount.
  • BOGO – Offers that gives a second item free on purchase of one
  • Dollar-off – gives you a fixed amount off on buying the product
  • Rebate – After the purchase, customers can apply for a discount which will be credited back to them
  • POS offers – any in-store offers that the customer can use at the time of purchase
  • Loyalty/rewards – Usually a program where registered customers can accumulate points based on their previous purchases and use that for discounts
  • Credit Card offers – Customer when uses a store credit card, would get an additional discount
  • Personalized offers – These offers are only to specific customers, such as birthday offers, which only that specific customer can use

Promotion Architecture:

To understand how we can effectively test promotions, we need to understand the architecture behind this. The Omnichannel architecture for retail/e-commerce can be represented as follows:

Testinb Blog Picture

The product owners or the marketing teams generally create the promotions with the help of an ERP/customized tool, which is also linked to a product management tool. Creating promotions are quite complex and have various factors linked to it based on the type of promotions we need to create.

Once these are created and available in the database, the service layers will pick it up from the database and apply complex logic based on the requirement. The end product, be it a website, mobile app or a point of sales application in the store, consumes these services and makes it available for the end customer to use.

Testing each layer:

Each layer requires a set of complex logic, which invariably requires thorough testing.

Testing Promotions can include the following:

1. Functional testing each of the layers to make sure it functions as per the requirement. A lot of techniques like Boundary value analysis needs to be deployed
2. Regression testing for each requirement changes/iteration, in the product life cycle
3. Integration testing to verify the system works when each layers are integrated
4. Performance/Load testing to make sure that the promotion logics are not affecting the overall performance of the product
5. System testing which includes beta testing of the product to make sure the promotions are working properly at the customer end
6. Database testing to verify the database whether the promotional data is appropriate with respect to the functional requirements
7. API/Web Service testing be performed in the service layers to make sure the expected request/responses are met
8. UI Testing to make sure customer is been provided with a suitable and operative interface

Testing blog 2


  • Same service logic should work omnichannel, which means that the testing team should make sure the same logic can work for a different set of environments like pc, mobile web, IOS, Android
  • Promotion calculation is one major challenge. A small mistake in the calculation log can impact the sales turnover. Some promotions can give different % offs depending on the product type. For example, the same promotion can apply 10% off on furniture and 20% off on bed and bath
  • Promotion validity is important and needs attention to the logic. The time zones from which the customer uses the application could differ. The dates that are tied to a promotion should reflect the local timings. For example, a promotion for thanks giving would start 3 or 4 hours later in San Francisco as compared to New York.
  • Promotions tied to a set of products should not be applicable to the others. For example, a promotion to give 50% off on accessories should not get applied to jewelry. This can impact the turnovers.
  • Marketing banners and flyers should give the precise information to the customer
  • Legal disclaimers should be put up at relevant pages in order to comply with the law of the state
  • Push Messages and geo-targeting – Testing promotions based on locations. Some applications may have promotions base on the user location. And can involve testing the apps by mocking the location data or by physically going to the location.
In summary, when testing promotions for Omnichannel applications, your strategy must include:
  • Use of Automation at every level to leverage the testing efforts and quickly identify the issues
  • Regressing the product at each layer to identify any broken code due to the latest changes
  • Creating edge cases and expanding the test coverage.
  • Usage of testing techniques like BVA and equivalence partitioning for testing price discounts
  • In-store testing to test the promotions in the PoS or mobile applications. Some mobile applications in the market have scanning options, which should reflect the online price of an item in-store.
  • Usage of emulators to mock the location, in order to test geo-targeting features.


Follow us on Aspire Systems Testing to get detailed insights and updates about Testing!