Kickstart QA Automation 1.0

Baala Murugan
3 min readAug 16, 2020

--

Basically being a QA Engineer either in Manual or Automation , main focus is to make sure bug free code goes production. In an ideal scenario we could try to cover major flows so that there are no surprises at production for P0 or P1 issues.

One needs to understand the product completely so that we would be able to achieve the main target i.e. bug free code goes to production.

Why Automation?

Say two different features in different branch needs to be pushed to production where regression remains same for these two flows, in such cases running regression suite with different builds increases confidence for stake holders and reduces QA effort on the same. Thus, we can have quicker release cycles with given period of time.

What needs to be Automated?

  1. What is tested frequently and consume more time needs to be automated.
  2. In same time, the layer/flow which is not been modified quite often needs to be automated.
  3. For an instance, regression or sanity flows of the system needs to be automated at higher priority.

Advantages of Automation

  1. Reduced QA effort on regression for the given build.
  2. Increase the confidence of code that is pushed to production.
  3. More time could be spend on feature specific testing to have larger coverage.

Pre requisite

Various flows of the system been documented. This could be listed with help of a Product Manager or Developer who knows to system inside out. Try to cover all the possible ways an end user interacts with the system. Say it been a logged in user flow or non-logged in user flow For an E-commerce site.

Example:

Launch Website → Search for a specific product → Add Item to Cart → Proceed to Checkout → Login User → Make Payment

Launch Website → Login As Registered User → Search for a specific product→ Add Item to Cart → Proceed to Checkout → Make Payment

Have a rough count of all the test cases for the system will help us to identify the coverage of the system.

Implementation of Automation with Sprint Planning

Now once we have X number of test case been identified for regression flow which needs to be automated.

QA engineer could be allocated for picking up automation activity incrementally in every sprint(i.e 5–10% every sprint along his/her regular activity) to achieve 100% coverage.

Automation Setup

  1. Have an environment to add test cases i.e Identifying Framework which needs to be used. This should be taken with extra effort where the setup could be used for Backend, Frontend — Web and Mobile automation at later part as well if required. Like Appium for mobile automation or Selenium for web browser automation. Rest Assured for API automation is recommended.
  2. Identifying the scenarios which could be automated and bringing it to management concern on the same. Scenarios which couldn’t be automated via UI could be checked if this could be done via API integration.
    Ex — Automating SignUp or Login flow with OTP requires OTP to be read from mobile, in such scenarios open source messaging service API could be used to fetch OTP’s.
  3. Identification of pipeline in which the tests needs to be executed such as on every PR approval or merge to master. Open sourced platforms such as Jenkins/ Spinnaker could be used here.
  4. Using Git for repository management.
  5. Finally, the results published to stake holders is very much important. The build stability and output of Automation suite for which Selenium extent reports or Report Portal could be integrated.

Questions?

Reach out to us at : scbaala@gmail.com

Originally published at https://medium.com on August 16, 2020.

--

--

Baala Murugan

SDET @ Razorpay. Trying to make an impact in whatever I do.