A QA’s Guide to the World of Software Automation Testing

Posted on Posted in Software Testing

The Road to Testing Automation (Part 1):  Where to Start?

Are you tired of testing the same features over that you decided you had enough? Have you read about Testing Automation? Are you excited to implement Test Automation in your project? That’s great! Automation Testing is a process where automation tools are used to execute or “perform” a series of steps or tests that are pre-defined in an artifact called “Scripts”. Each script has its own objective, such as checking if your user is able to log in to his account, Or simply just checking if the page would load.

With the huge variety of tools available it can be intimidating. So here are a few tips on where you can start.

1. Do you know how to write code?

If your answer is No, Then it’s a good time to learn!

good time to learnIt is very important that you know at least 1 programming language before you proceed with Automation Testing. It is recommended that you use a tool that uses the programming language you know but that’s not always the case. But what is important is that you’re able to understand important concepts in coding which will help you create a clean and easy to maintain automation tests. Fortunately, there are a lot of automation tools that allow you to use your preferred programming language.

It’s also important to determine the skills the team possess. A team of Java developers is better off using automation tools that support Java. It will help a lot when you have someone in your team know the language you will be using.

2. Identify the right tools for your project.

There is a huge collection of Automation Tools available online and many of them specializes in specific technologies.

pick the right toolsPicking the right tool requires you to know what you will be working with whether it’s a Java WebApp, Android, IOS, Hybrid, etc. Consult with your team to identify what frontend technology they are using.

After identifying the technology and what the team primarily uses then it’s time to use your preferred search engine and search for the tool that’s right for the job.

Here are a few examples of Automation Tools with matching technologies that I have personally encountered.

  • Selenium Webdriver Selenium Webdriver
    • primarily for web browser/ web application automation
    • can run tests in many browsers such as Chrome, Firefox, Edge, and more
    • can be controlled by many programming languages such as Java, C#, Javascript, PHP, Python, and etc.
  • NIghtwatch JSNightWatch.js logo
    • Selenium framework uses Javascript programming language
    • primarily for web browsers/ web application automation
    • uses simple commands
  • AppiumAppium logo
    • primarily for mobile applications, supports both IOS and Android
    • supports a variety of test frameworks such Selenium
    • acts as a bridge where it helps test frameworks by converting commands into scripts that will be used to control the mobile app
  • ProtractorProtractor logo
    • primarily for Angular and AngularJS web and mobile applications
    • unique controls for Angular elements which will make it easier for users to control the application
  • Google espressoGoogle espresso
    • primarily for native Android mobile applications and for black box testing ( developer testing )
    • unique controls for Android OS such as Notifications, Toast, and etc.

There are more tools available so feel free to look for something that would fit your needs. Here are a few more examples you can read about:

Jasmine logoJasmine, a Behavior-Driven automation tool that mainly uses Javascript

Serenity logoSerenity, a Behavior-Driven automation tool that supports Selenium WebDriver

Cucumber logo Cucumber, a Behavior-Driven automation tool that mainly uses Java

Calabash logo Calabash, a Behavior-Driven automation tool for Android and IOS—mainly uses Ruby

3.Try it out! Practice!

Great! You’ve selected your first tool to try out. I’m sure you read through its documentation— on how to integrate it into the project, how to maximize it. All these ideas rushing through hours spent on researching about it before actually using it but only to find out it’s not compatible with your project.

pick the right toolsOnce you pick a tool that you believe would fit your need, try it out immediately! Don’t plan too much. Try it on your project with the simplest implementation. Did it work? Yes? Great! Try improving small things that will make the integration with your project easier. You’ll slowly grasp the concept of how that tool works while working on integrating it with your project —killing 2 birds with 1 stone.

This will be a trial and error process and the only way you’ll find out is to use it for a few days. This will test your research skills.

4. Look for an active community for the tool you use.

I want to emphasize how important it is for the automation tool you use to have an active community behind it. networkWhen I say community, there are also other people using that tool that actively asks and answers questions. Most open-source automation tools have great communities that make each other’s lives easier. With an active community—whenever you have any issues—you can be sure someone out there already answered that same question.

You don’t have to look far for the community, it may be a simple as having your whole team be that active community. It’s easier to tackle a problem with more than one brain working on it.

At this point, I hope you were able to pick an automation tool you would like to try. You don’t need to invest a lot of time to try the tool out. A simple implementation is enough then baby steps to get things flowing. Ask your team leads/project managers for some time to invest in automation testing.

When done right, automation testing could greatly benefit both the project and the team involved. With a little bit of patience and studying, you’re on your way to a good start with your Automation journey!

Need help in using automation to accelerate software testing in your projects? Let’s talk! 🙂

Send us a message

 

References:

 

2 thoughts on “A QA’s Guide to the World of Software Automation Testing

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.