Where should I start for automation testing?

Linisha Siriwardana
Nov 6 · 4 min read

WHAT IS TEST AUTOMATION?

Test automation is a technique in software testing that uses special tools to control the execution of tests and compares actual test results with predicted or expected results. All of this is done automatically. It is an Automatic technique where the tester writes scripts by own and uses suitable software to test the software.

~Advantages of test automation~

THINGS TO DO BEFORE STARTING AUTOMATION?

If you are a beginner to automation, You may get questions such as how to start and where to start from? The very first step to consider while transitioning from manual testing to automation testing would be to define a proper scope for Automation testing. 100% automation is one of the myths in automation. Therefore, defining the scope of it is a very important element.

What should we include in the automation scope?

When talking about the scope, we need to focus on the following details.

  • The frequency of testing: If you run the same set of test cases over and over again, automation would save your time as well as the cost.
  • Business and technical priority: is of significance as, in light of the business needs and complexity, testers can divide functionalities that need automation support first when compared with others. Areas with less business need can be removed from the automation scope.

You should identify the scope which gets the most benefits from automation testing

Imagine you have two test suits which are used frequently;
Test suit 01 runs 10 times per day and test suit 02 runs 5 times per day.
Functionality wise test suit 02 is important.
Test suit 01 takes more time to automat.

What should we automate first?
“According to the above points, test suit 01 should be automated first but test suit 02 is functionality-wise important and it takes less time to automate”
Therefore, test suit 02 should be automated first.

When deciding the scope we should consider not only the frequency but also the time take to automate and how important the functionality is.

  • If you have frequent releases, it is more important to automate your smoke testing as well as regression testing first, as that would help speed up the testing cycles with quicker time to market with lesser manual intervention.
  • Data-driven testing makes use of multiple sets of data.
  • Configuration tests that run over many operating system platforms.
  • Load and Performance testing which needs to be tested by many simultaneous users.

There are some parts we cannot automate. These parts are better with manual testing.
Below are some examples for that;

  • An application that should be tested from the usability and UI perspective
  • New and changing functionalities
  • Few modules or functionalities may need a strategic approach to testing various viable business flows users may opt for.
  • Accessibility testing

Will your automation suite is having a long lifetime?

Automation cost is too high for the initial setup as the cost associated with automation tool purchase, training and maintenance of test scripts are very high. If you are spending too much money and getting some basic automation scripts then what is the use of automation?
Therefore, Every automation script suite should have enough life that its building cost should be definitely less than that of manual execution cost. This is a bit difficult to analyze the effective cost of each automation script suite. It is important to identify application areas that might be running once and not included in the regression. Avoid automating such areas.

ne essential thing that a team overlook isn’t all tests can be automated. Rather than focusing on the unrealistic goal of a 100% automation for your application, set an objective for a few tests that you wish to automate.

Since you are new to automation the best thing is to start small. Which means start by moving just a few percents of your tests from manual to automation.
Note: It is important to have manual test cases before starting the automation.
Mapping your test cases with each method or function will help provide better coverage. Also, by giving identification to test cases helps to find what has been automated and what hasn’t.

The next important point is to choose the right automation tool for your automation. Because test automation is highly dependent on the tool used. Below points should be considered when selecting a tool,

  • The domain of your application: This means you should consider whether the application targets a web-based application or a mobile-based application. If the application is web-based you can you tools like ‘selenium’, ‘QTP’ etc. If the application is mobile based you can go for tools like ‘Appium’, ‘Robotium’ etc.
  • Programming Experience: This is more oriented to the comfort level of the resources. For example Java, JavaScript, Ruby, C# and many more. You should choose the language you are comfortable with.
  • Open Source or Commercial: This factor is ruled from the organizational perspective as this has budget constraints.
    Open source tools are Selenium, Appium, etc.
    Commercial tools like LoadRunner, QTP, etc.

is important to consider the language of the application that you are going to do test automation. If your application is written in PHP and you choose JAVA, Selenium as the testing language, you may have to face some problems when writing the test scripts.

Automation testing can be very beneficial for your organization, but make sure you are completely aware of its usability and apply it properly.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade