5 Automation Testing Tips for Beginners

Time and time again I hear a lot of my coworkers say things along the lines of “You know how to automate testing? Cool! I wish I knew how do to that!” Well truth is, its not at all that hard. People get the notion that automation is pure coding and that it requires to have deep knowledge in object oriented programming like java, c#, or python. Well you don’t. Programming is all about thinking logically and yes we all know how to do that. Yes you need to learn the different syntax of the languages but a quick google search can do that for you. Even developers do it. So if you’ve been put off by these silly impressions these 5 tips just might reel you in.

1. If your not already a tester, learn how to test.

Testing is one of the easiest parts of software development. Now I’m not saying all testing are easy. Don’t get me wrong. There were times I wanted to flip desks at work because of defects that slipped to production that made us all go, “how the hell didn’t we see that?” The concepts and processes are easy to understand. Little to no technical ability is really needed when you’re following a step by step Test Script. Testing is a foundation to automation. If you know how to automate but don’t know jack about testing, sorry you’re a developer or an automater. Not an Automation Tester. There are several good books out there that can send you along the way like The ART of Testing by Glenford J. Myers and How We Test Software by Microsoft.

2. Pick an Automation tool.

Back when I started I only knew about 2, Rational Functional Tester and QTP when they were still Mercury back in the day. Now there are so many – Selenium, Worksoft Certify, AutoIt, TestComplete, and many more. A few of them don’t even need for you to code like Worksoft. Most offer a recording function so nowadays all you need to do is enter this, click that and you have an automated test script! But personally to reach a level of high quality and re-usability for your scripts, you’ll need a coders touch. Pick one that has both so when you’re at a comfortable level you can start adding your sourcery to your recordings.

3. Pick an easy language for you

If you dont already have one, there are a bunch to choose from. Most popular languages in automation are java, c# .net, and python. Most tools support these languages and more. I chose java because of the C programming background I had back in college. Find one you have something in common with. Your Moms name is Ruby. Your favorite popstar is Taylor Swift. Your favorite Starbucks drink is javachip. Whatever. Once you’ve chosen your weapon of choice, start the learning. Pick an IDE for that language and start doing sample basic coding lessons. There are several free sites that offer practice problems. See hackerrank.com. They also let you chose from a variety of languages.

4. Learn how to code, even just a little bit.

Now I said up there that you didn’t need to have deep knowledge in programming which is true. You don’t need to know advanced concepts of algorithms like Dijkstra, graph theory, and dynamic programming to learn automation testing. Out of all the years I’ve been in Automation, my most complex code written on a test was probably a bubble sort. It just isn’t necessary. Leave those to the developers.

5. Start by recording

For non coders to start automating, recording is the best way to go. Having to see what the code equivalent is to each one of your actions is almost cheating. You will know how to read the code immediately, giving you almost like a step by step programming lesson. The only problem with recording in some tools like RFT is how static the actions are. In RFT, the click command has x,y coordinates on the screen. This is a big hell No in automation. This is where you’ll need to wizardly intervene. There are some advanced tools however that don’t need you to. It really is up to you. But from an automation tester that codes, there is this knowing of having complete control when you can code your tests. But who’s to say whats better. Not to sound cliche but the choice really is yours or your company’s. But either way Start automating your tests!

Author: Philip Caande

Philip is a 30 year old amateur technical blogger. He loves anything about automation testing and loves wine with friends. His free time consists of basketball, badminton, jogging, eating good food, watching movies, solving puzzles and algorithm programming problems.

2 thoughts on “5 Automation Testing Tips for Beginners”

  1. Hi- i am currently using RFT to automate our web application which has dynamic test objects, the issue I am running into is RFT is not mapping certain objects because they are nested inside a table, such as a column of radio buttons nested inside Html.Browser…what can of method can I create to over come this?
    Unfortunately you won’t be able to access the site to see what I am referring to because it is government related and requires specific credentials. i am new to test automation so hopefully this makes sense! Thank you!

    Like

    1. Hi Nichole,

      Apologies for the very late reply. I hope you have resolved your issue by now. In any case for anyone else having the same issue, the solution here might be using the atDescendant function. You’ll need to manually inspect the attributes inside the table or use the row column coordinates that particular element is in. Example below

      TestObject[] tablename = root.find(atDescendant(“.class”, “Html.TABLE”, “.id”, table_name), true);
      GuiTestObject tablename_obj=(GuiTestObject)tablename[0];
      TestObject cellObj = tablename_obj.find(atList(atChild(“.class” , “Html.TBODY”),atChild(“.class” , “Html.TR”,”.rowIndex”, row),atChild(“.class” , “Html.TD”,”.cellIndex”,col)), false)[0];

      Like

Leave a comment