What to Consider Before Starting Your Test Automation Journey

Anna Thorsen

Automation Expert

Is your team fed up with manually testing the same processes and staying in a never-ending testing loop, holding up the development process? You are not alone.

Manual-Testing

 

Businesses are still manually testing what can be automated, and it is affecting their performance.

  • it takes hours out of people’s day
  • it becomes impossible to manage when software offerings grow, or system releases become more regular
  • and it stops businesses from remaining nimble and reacting quickly to market changes because of the time it takes to test

So what can you do to speed up the testing process?

We’ll dive into the solutions in this article and outline the basic steps to consider before starting your automation journey.

Who is this article for?

This article is for you if you have never automated, if you have tried in the past, or if you want an effective solution to getting your automation project up and running quickly (without having to code).

1. Set clear test automation objectives

While it may seem obvious, many automation projects fall flat because of vaguely set requirements from the start.

Faster testing, saving time, or “doing better” is not a clear objective.

The more specific the objective, the better, and the more likely the performance of the objective will be fairly evaluated.

Setting a firm line between automation objectives and testing objectives will also help along the way.

For example, a good testing objective would be “let’s find X number of bugs”, but it is not a good objective for automation.

If you are using automation for your regression tests to give assurance that a recent change to your system has not broken anything, you will rarely find new bugs.

A low number of bugs detected does not mean your automation is failing, and if you are measured on that objective, a high-level manager could withdraw funding for the project if the objective is not met.

So what is a good objective?

Below is a list of different objectives for test automation:

  • an earlier time to market
  • higher quality software
  • how often you can run tests
  • a reduction in the cost of testing 
  • the ability to run a predefined percentage of tests unattended
  • the ability to test across different operating systems
  • how often you can run tests

It is advisable to start with a small number of objectives.

Add to your objectives as the project progresses and more pilot projects are taken on.

2. Don’t get lost in the maintenance burden

There are many options available when starting out with automation.

From heavy code-based frameworks built using tools like Selenium

…to low-code options that require some or little coding knowledge…

…to codeless tools that require no coding experience.

Heavy code-based frameworks take a lot of work to maintain. They are custom made and require a lot of upkeep to make sure that the automation code is functioning properly.

TA_2_TA-paradox

Low-code options supplement a lot of the work with visual modules making it quicker to build automated tests. However, coding knowledge is needed for more complex test cases which requires heavy maintenance.

Codeless automation doesn’t require a technical background – business users are testers who can build automation. This alleviates developers from having to maintain automation, and it gives the expert testers the ability to bypass traditional constraints that come with code-based automated testing.

TA_2_Code-vs-no-code-tools

The less maintenance involved in the testing process, the more time there is to work on value-generating projects such as exploratory testing.

3. Automation works best in agile teams

In a modern IT landscape, traditional waterfall models do not cut it.

Methodologies2

The process cannot move forward unless the previous step is complete, and without the ability to regularly touch base, a project can go back and forth between planning and development, and development and testing.

We’ve seen testing teams stuck in this cycle for months at a time. And by the time the product is delivered, it is no longer viable in the marketplace.

The insurance branch of banking group BNP Paribas Cardif is an example of a company moving from sequential waterfall development to agile software development.

Because of the pressure to deliver more frequent releases in a shorter time frame, they had to change their approach to software development.

This shift came with an overwhelming workload of regression tests, and they needed an automation solution that could easily tie into their pipeline.

They tried writing tests using Selenium, but it required too much effort and extended the development lifecycle. Eventually, the workload caused issues within their coded automation, lessening the quality of their software.

Something had to change.

By adopting a codeless automation tool that reduced the maintenance workload they were able to move from quarterly to monthly releases, and they were able to build tests in minutes.

Learn more about how automated no-code testing aided BNP Paribas Cardif’s shift to agile development.

4. Scale your automation beyond sandbox trials

When you are dependent on a few technical resources to test new features and updates, your automation project is likely to end up failing.

This is because as updates become more frequent and new features are developed, code-based automation becomes impossible to maintain.

Let’s say you’re creating a reusable login function. You would likely be copy/pasting the same login function in different tests.

TA_2_Log-in-web

Over the months and years of using this code, more people will get their hands on the code, making it more likely that the test case(s) will break.

In short, when more than one person is using the script to automate testing, problems get introduced into your code.

Finding and fixing the error in the coded automation can take days. All the while, developers are continuing to produce new features, and before you know it, testing has become the bottleneck preventing your business from releasing on time.

An operation like this is not scalable. And it is the reason why codeless automation solutions are growing in popularity.

“Only 37% [of QA Managers] felt they get a return on investment on their automation tool. This may be because of increasing maintenance efforts required to maintain larger automation suites… we feel that moving towards scriptless automation tools may provide the answer”

Capgemini, World Quality Report 20-21

Codeless automation uses a visual language rather than code, and it enables more people (without programming experience) to build and maintain reliable automation that can easily scale.

Maintenance is minimized because teams can build reusable components across their test suite, and automation can be updated in a central place and applied across every test case where it is used.

For the tester, this means simplifying the testing process of creating testing scenarios by replacing written scripts with visual building blocks. For the developer, this means speeding up the entire process and letting them focus on software development and innovation.

What does it look like in practice?

The following video is a side-by-side comparison of code-based Selenium vs. no-code Leapwork.

 

5. Find the right tool for your automation project

What is the secret sauce behind effective automation strategies?

Related reading: building an effective test automation strategy

Yes, you must have clear goals to guide you through your project, but without the right tool to support your automation, getting the right resources and getting your first project up and running can become an expensive nightmare.

In the beginning, it is normal to experiment with different tools to see what they are capable of.

For example, Selenium, the free open-sourced tool for web automation is a staple on many testing teams.

However, if the tool is too maintenance-heavy, it will delay the testing phase.

If the tool takes too long to learn because it requires programming knowledge, you are dependent on expensive resources to move a project further, and you’re excluding your system experts who may not have the programming experience needed to automate.

You will know if you have chosen the right automation tool when automation becomes:

  • easy to maintain
  • able to easily document errors
  • able to work in an agile setup like DevOps, CI/CD, and scrum
  • scalable beyond one project (and automate within and beyond your application environment)
  • available and adoptable by those testing the system (i.e. business users and non-programmers)

Want to learn more about what it takes to build an effective test automation strategy? We've created a detailed and up-to-date checklist including all of the steps you need to consider before choosing an automation tool. 

New call-to-action