Roadmap for transition from Manual to Automation QA


Hello friends! in this post, we will learn, how to effectively make a transition from manual to automation profile. If any of the following ring any bells to you then this post is for you-

  • Are you in manual testing and want to switch to automation profile?
  • Or you are already in automation and want to add additional automation tools to your skill-set.
  • You have minimal programming knowledge but still want to learn some tools. So, looking for tools that require less to no coding.

“You are never too old to set another goal, or to dream a new dream.”
― C.S. Lewis



Now the first step in making this transition is to find the right automation tool based on your skill-set, interest and expertise.

Selecting an automation tool

The choice of selecting an automation tool relies on following factors-

  • Your domain of expertise - The domain, platform or application type you test greatly affect the choice of selection of tool. E.g. if you work on functional testing of websites, then you should go for Web-UI automation tools like Selenium, Watir, QTP etc. For mobile apps you can go for tools like Appium, Robotium etc.
  • Programming experience - Depending on how comfortable you are with coding, you can opt for tools that match your skill level. There exist tools that require minimal programming language.
    Also, if you already have knowledge of a programming language you can go with tools that support that language.
  • Paid or free - While most of the tools are free and open source, there are many paid automation tools as well. These tools provide rich reporting, easy scripting and other features. Tools like QTP, Loadrunner are paid and come with heavy licensing cost, so not all companies can afford to use them.



Based on the above factors, I have created a table that will help you choose the right tool.

TypeCoding skills requiredMinimal/No Coding
Website UI Selenium(Free)-
Languages - Java, PHP, C#, Python, Groovy, Ruby, and Perl

Watir(Free)-
Languages - Ruby

QTP(Paid)-
Languages - VB script

Telerik(Paid)-
Languages - C# and VB

Sahi(Both paid and free)-
Language-Javascript like

Tellurium(Free)-
Language-English like

TestComplete(Paid)-
Language-Drag & drop feature with Python, JavaScript, or VB.NET

Android Apps Appium(Free)-
Languages - Java, Ruby, C#, Python

Robotium(Free)-
Languages - Java

Selendroid(Free)-
Languages - Java

Calabash(Free)-
Languages - Ruby

MonkeyRunner(Free)-
Languages - Jython - python integrated in Java

Ranorex(Free)-
Languages - Drag and drop with C# and VB scripts

EggPlant(Paid)-
Languages - SenseTalk(English like)

IOS Apps Appium(Free)-
Languages - Java, Ruby, C#, Python

Calabash(Free)-
Languages - Ruby

Frank(Free)-
Languages - Gherkin Given-When-Then

Ranorex(Free)-
Languages - Drag and drop with C# and VB scripts

EggPlant(Paid)-
Languages - SenseTalk(English like)

SOAP
Web services
SoapUI(Free)-
Languages - Groovy, Javascript

TestingWhiz(Paid)-
Languages - No scripting required

SOAPSonar(Paid)-
Languages - No scripting required

Storm(Free)-
Languages - No scripting required

REST APIs Rest-assured(Free)-
Languages - Java

HttpMaster(Free)-
Languages - Java

vREST(Paid)-
Languages - Record and playback

Desktop application AutoIT(Free)-
Language-Own language (BASIC like)

Winium(Free)-
Language-Java, Objective-C, JavaScript with Node.js, PHP, Python, Ruby, C#, Clojure, or Perl

Robot Class in Java(Free)-
Language-Java

Ranorex(Free)-
Languages - Drag and drop with C# and VB scripts

Sikuli(Free)-
Languages - Image based recognition with Jython (Python for the Java platform)

Performance testing JMeter(Free)-
Languages - Drag & Drop, record & playback, supports Groovy and beanshell for scripting

Grinder(Free)-
Languages - Jython and Clojure

Gatling(Free)-
Languages - Scala

JCrawler(Free)-
Languages - No scripting required

OpenWebLoad(Free)-
Languages - No scripting required


Tips to expedite the transition to automation profile

  • Plan well - Once you are done with the tool selection, create a plan and find the right online and offline resources for learning the tool.
  • Commit to a schedule - Based on the resources, create a timeline and mark your progress routinely.
  • Hands on with the tool - Don't just read the tutorials, practice each command/feature side by side. Most of the online and offline articles come with sample code. Use it and play with it.
  • Get hold of a real project's script - Although, you can learn scripting or the features of a tool but still there is a gap between the sample script/project we get from different resources and the scripts used in real projects. So, try to get the framework or sample script of real applications in testing from your collegues, friends or other professional network.
  • Find every opportunity to use automation in your project - Even if the poject you are currently testing doesn't have budget/time-lines approved for automation still try to automate routine tasks and save your manual effort. There is nothing better than getting paid for learning.

"Be so good, they can't ignore you."
― Steve Martin



That will be all, thanks for reading!!