Test Automation — A product or just a Framework ?

Execution with a centralised approach
Execution with a decentralised approach

Eye Opener

And then I realised even if a single framework covering all platforms — desktop web, mobile web and mobile apps altogether, may not still, be an ideal candidate because this can’t execute a case having a user journey common to multiple platforms like “purchase a product on amazon app and web”.

A Big Problem — Redundancy of User Journeys:

Now question is — why do I need to worry about common user journey? Well, as the application grows, user journeys (Test Cases etc.) also grow and thus the automation coverage. Most of the journeys (specially for an eCommerce company) on different platforms like web, app can be similar, therefore its very important to reuse the journeys across platforms else the automation cases will have lot of redundancy and least re-usability.

Solution To Portability — “Automation as a Platform”:

If you look at the problem closely, there is an inbuilt simple solution. On a high level, lets say if I decouple all the dynamic components (application specific components) like Objects & Test Data then rest everything else stay as is. Will that work ?

Approach:

Store Test Data and Page Objects separately in a DB, preferably NoSql like MongoDB or so. Make this dynamic data (objects and test data) available to framework On Demand via REST API / Services at the time of execution. Before creating the user journey, create the granular and reusable modules and use these modules in forming the User Journeys (Flow) or Test cases. Now these modules can also be specific to application. With this, all application specific things moved to Services and reusable modules. Once we start executing this, test case will get all the requisites (objects, data etc.) dynamically and same case will execute on all the platform. That’s how I achieved Automation Platform.

Automation as Platform

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Pankaj Kumar Katiyar

Pankaj Kumar Katiyar

4 Followers

Hi There, I am automation enthusiast, love to design and scale things. Happy to help.