Test Automation – How to begin

    I hear questions/screams are floating around, “I want to learn automation” or “How should I start learning test automation”! While these are very important questions but sometimes I read some utterly painful replies to this newbies. I feel horrified when I see replies demonstrating how to learn selenium in response to that. I have also seen people describing test automation pyramids, ideas to learn testing first which are required, but aren’t we missing some basics here?

    Lets ask Google!

    I asked Google and Google responded with lots of useful information (as it always does!). After browsing few articles I realized that community of questioners are mainly divided into two level: 
    • Newbies to test automation but experienced manual testing professionals and 
    • Newbies to over all testing and want to begin with test automation
    For both of above mentioned professionals, it’s a valid question but need to learn some basics to begin with. In this article I’ll present few items which I believe are most important to start learning test automation (or any automation which requires programming 😊 ).

    Selenium is not automation

    Yes, please keep it in mind. Selenium has nothing to do with test automation learning. When I interviewed people, they often mention that they are learning selenium. Then immediately I reply with question What actually you are learning in selenium? Which programming language you are comfortable with? Then the mumbling part begins. I see candidates are actually learning tools instead of learning programming basics.

    So, what’s suggested?

    I suggest to step back one more step and start with asking yourself the questions:

    •  Am I the right person for test automation?
    • Am I really passionate about programming and designing?
    • Do I have enough interest on programming or I am more comfortable with manual testing?
    Trust me these are very important question. I have worked with team where 20% of the team were actually interested and adopted quickly with automated testing. But rest of 80%, unfortunately, were happy with manual testing.

    Change Your Mindset

    Please don’t be reluctant about this. If you are coming from manual testing then it’s even more important. You need to start thinking like programmers/designers. Whenever you are testing a feature, think till which extend this feature could be automated. Then think, if you want to automate it what are the available options you have. 
    Also you need to think if you are gonna design the testing framework from scratch, If you are certain about designing a framework then prepare steps for framework first. If you see that you are able think in this way and able to answer yoursel then definitely you have moved the first stone!

    Work on your programming skills

    Again, Please don’t try to learn Selenium or Watir or WatIn or Sahi or Robot Framework. These are nothing but few frameworks to ease our automation efforts. But underneath you need to work with a programming language (Java or Python or whatever!) to utilize these properly, and to do so there is no other alternative than improving the programming skill.
    Another important are to work is logical development. Because by the course of time, you’ll see that sometimes you may need to establish some test code which requires to work on performance or time complexity. So learn basics of data structure and practice programming. Sometimes what I do, I go through programming lessons of Codility and try to solve. I am sure that if you search, you’ll find thousands of alternatives to that.

    Start exploring tools/frameworks

    This can be done in parallel while you are preparing yourself for test automation. Instead of beginning with these frameworks (selenium or others), start exploring them bit later. Learn pros and cons of frameworks, asses based on your need and select one.


    Pick the simplest to begin

    Identify the simplest task to begin with, may be automating a search in google can be easiest place to start. Then finalize your framework for that simple test, when you are confident enough, then start enhancing your framework for other projects. 
    Or if you see that your company is asking for test automation, then can begin with company project straightway, but again, start with the simplest operation of the project.
    Happy testing, happy coding 🙂

    Leave a Reply

    Your email address will not be published. Required fields are marked *