Business Process Automation in Shiksha QA
Author : Vidushi Bhadola
“The first rule of any technology used in a business is that automation applied to an efficient operation will magnify the efficiency. The second is that automation applied to an inefficient operation will magnify the inefficiency.” - Bill Gates
Automating Business Process holds a crucial importance for every organisation. The speed at which technology is growing in today’s time, every business needs to adopt a few changes in their processes to reduce time, save cost and increase efficiency in order to gain an edge over the competition and survive.
WHAT IS BUSINESS PROCESS AUTOMATION?
Business Process Automation is simply the automation of business processes in a way which reduces/eliminates manual effort and results in reduction in time and cost, and an increase in efficiency for the organisation adopting this strategy.
HOW WAS THIS ACHIEVED IN SHIKSHA?
In Shiksha QA, Business Process Automation was achieved by identifying tasks which were repetitive and involved predictable steps. The team found ways to automate the daily/weekly repetitive tasks.
The various processes automated by Shiksha QA Team can be grouped into the following broad categories -
- Automation of Functional/UI flows of Shiksha.com and studyabroad.shiksha.com
- Automation of various components of webpages in Shiksha.com and studyabroad.shiksha.com
- Automation of APIs
- Automated site performance monitoring
- Automated content quality monitoring
- Automation Dashboard
- Automated Emails for a variety of tasks
Automation of Functional/UI flows
- Desktop and Mobile Regression Suites — In Shiksha QA, we have automated various functional and UI flows with the help of Selenium and TestNG. Various workflows like user registration on site,user tries to download content like university or college brochures and various guides available on the site or user navigates through various links and widgets on the site etc. have been automated by the Shiksha QA Team for both desktop as well as mobile. A test suite containing these test cases is run everyday which helps in immediate alert if any functionality/UI flow is broken on site. This is done on the test environment and we use threads to run this in a distributed environment on different test servers.
- Shiksha mobile app automation using Appium — Appium is an open source test automation framework for use with native, hybrid and mobile web apps. It is basically used to run your test suite on real mobile devices. Shiksha Appium Framework has been used to automate Shiksha’s Hybrid App for both Native and Web View. Few automated test suites are also run on android devices using Appium.
- Smoke Suite — Smoke testing means to verify (basic) that the implementations done in a build are working fine. In Shiksha, a smoke suite runs when any test suite is run- If the status of the smoke suite is passed, then only the test build is accepted; If the smoke suite is failed, we revert back to the old build. Smoke suite comprises a number of basic functional test cases which helps in a basic analysis of whether the web pages are working or not.
Automation of various web page components
- Beacon Call Automation — Beacon call is one of the various techniques used on web pages to monitor the activity of users on a website. This call can be observed in the Network panel of a browser’s dev tools. In Shiksha, Beacon call parameters of almost all pages are verified against data stored in the database as well as on elasticsearch. Various parameters like — page specific parameters, sessionid, visitor id etc. are verified.
- SEO parameters Automation — Various SEO parameters of almost all web pages on Shiksha.com and StudyAbroad.Shiksha.com have been automated. These include automation of presence as well as correct value of various SEO parameters including — h1 tags, title, meta description etc. This helps in ensuring that SEO parameters which are vital for every webpage are correct at all times.
- DFP Automation — DFP which stands for DoubleClick for Publishers is an SAS platform designed to manage the process of delivering ads to websites. In Shiksha, DFP Automation was achieved via DB validation of DFP calls. This automation has helped in monitoring that the parameters of various ads published by the marketing team for various clients are correct at all times. This helps us in identifying any discrepancy in any DFP parameter of the website.
- GTM Call Automation — Google tag manager (GTM) is a free tag management platform that enables marketers to deploy and track marketing data by easily adding code snippets to their website or app. It allows marketers to track conversions, website analytics, retargeting, and more. In Shiksha, we have validated GTM parameters in GTM calls on various pages of the website in which we verify the parameter value obtained from the frontend to the value stored at the backend. This is again used by the marketing team and helps us in discovering any disparity in the data.
- GA Tracking — Google Analytics is a free website analytics service offered by Google that gives insight into how users find and use a particular website. It is used to sort visitors on the basis of where they came from, what browser they are using, what page they clicked on and what form they submitted etc. In Shiksha, the Product team provides a static list of various GA parameters on a particular webpage/ user action. Whenever a user interacts with a web page, GA calls are sent in Network tab, various parameters of this call are validated against the static list provided. This helps Product in tracking users behaviour and using it for continuous improvement of the website.
- Mailer workflows — In Shiksha QA, we have automated various workflows where emails which are sent to students or clients are validated. In this, entry in various tables of the workflow is checked which helps ensure that the mail delivery process is running smoothly across various components of the site.
API Automation
- Internal API automation using Rest Assured — REST Assured is a Java DSL, or Domain-Specific Language, that allows you to write powerful, readable, and maintainable tests in Java for your RESTful APIs. We can create customizable HTTP Requests to test a variety of Request combinations and in turn test different combinations of core business logic. In Shiksha, we have used this library for automated testing of various essential APIs. The data returned by the API is validated against the values stored in the backend.
- JIRA API Automation — In Shiksha, we have made use of various JIRA APIs to monitor the quality of sprint work of each team. We have made use of JIRA APIs to automate two reports -
- Quality Report — sent to respective shareholders and teammates to keep a track of quality of work being accomplished at the end of every sprint cycle
- Current Sprint status report — sent across all teams in Shiksha to keep a track of work delivered and completed by the Dev and QA team on various days of the sprint cycle.
3. GIT API — In Shiksha, we have made use of GitLab REST APIs to fetch the commits made everyday by members of the team to a particular project. The list is derived via API class each day and a combined email is automatically sent to the entire team at EOD to update the team on daily commits. This has helped in reducing manual effort to fetch the same data and compile an entire email.
Automated site performance monitoring
Automated performance monitoring in Shiksha was achieved using two different technologies — Using Google’s PageSpeed Insights API and Sitespeed.
Page Speed Insights API — This is an API provided by Google to measure the performance of a web page. In Shiksha, we have integrated this API into our automation framework and is used to monitor the performance of our live sites — Shiksha.com and studyabroad.shiksha.com. Using this API we calculate the time metrics and score metrics of various web pages of our sites.
Sitespeed — Sitespeed.io is a set of Open Source tools that makes it easy to monitor and measure the performance of your web site. In Shiksha, we use this technology to calculate size metrics on our live site. Page Speed API cannot work on a test environment(i.e. test servers) therefore, Sitespeed is used to calculate all three — Time, score and size metrics on the test environment.
Automated content quality monitoring
Automated content quality monitoring was a project undertaken by the QA team to help the content team at Shiksha to check that the content of the website is up-to-date and the format is correct. The content team provided a set of prerequisites which must be fulfilled by every content on Shiksha.com, these conditions were then incorporated in our Automation Framework and all the content on the website was tested for these conditions. The pages which failed these conditions are recorded in a database and the list of such pages is shared with the content team on a regular basis which helps keep all the content in check.
Automation Dashboard
Automation dashboard is a type of GUI interface which provides a detail of daily automation test suites executed. The Automation Dashboard is divided in three levels -
- Level 1: Automation Dashboard Home Page — The homepage provides a basic overview of the last 10 suites run and the overall pass rate and failure rate.
- Level 2: Suite Execution Dashboard — This level provides a view of all the test scripts run, with Pass and Fail status of each script
- Level 3: Extent Report — This provides a more detailed view into each script executed for better analysis of the script
To read more about this, click here.
Automated Emails
1. Automation Dashboard Report Emails — In Shiksha QA, we have built an automation dashboard where the QA team is able to access the daily test suite execution results. To read more about this, click here.
Report Automation -
An automation suite is executed daily, and a corresponding report is generated which monitors the success and failure of each automation script. The generated result set is sent to the respective QA Owner about the status of their script.
This ensures that everyone is updated about their script status and repetitive failures can be easily tracked.
2. Shiksha Quality Report Emails — In Shiksha, we generate a Quality Report fortnightly which is a report shared with the Tech and the Product Team at the end of a sprint cycle. This report depicts the performance of each team in Shiksha on the basis of various parameters and also provides clarity on the status of bugs/issues encountered in each team. This was automated with the help of JIRA APIs where all the team performance parameters are tracked.
This report is used to monitor the performance of each particular team and helps in retrospection of the Sprint performance.
3. Current sprint status Emails — In Shiksha, we generate an email everyday of the status of work completed/delivered by the Dev and QA team during a sprint cycle. This helps in ensuring that there is no delay in achieving the objective of the sprint and everyone is on track with the amount of work being delivered by each team. This was also achieved with the help of JIRA API’s.
4. GIT Commits at day end Emails — At the end of the day, all the GIT commits made by the QA Team are compiled and emailed to all the team members. This was achieved using automation of GIT APIs. This helped in reducing a great deal of manual effort to find all Git commits of the day and send the email which is a time consuming process.
To sum up, Business Process Automation provides the following benefits for any business that uses the strategy -
- Provides ease of access to reporting and insights
- Saves manual effort and increases employee productivity
- Provides a reliable system which is free of human error
- Provides greater stability and accuracy
While the BPA strategy has a lot of benefits, it also brings forth the following challenges-
- Integration of various systems and tools to achieve BPA can be difficult
- Identification of the right set of processes/ workflows to be automated can be a challenge
- Continuous monitoring and integration of new technologies and components is needed to maintain BPA which can be a time consuming process at times
Hence, Business Process Automation is a very useful strategy which can be applied to almost all businesses and can lead to profit and growth for any organisation but the challenge is to automate the right processes which can actually help save manual effort and lead towards growth.