image-blog-automation-test-strategy
April 16, 2020

How to Create An Automation Test Strategy + Plan

Automation

A strong automation test strategy is important for continuous testing in DevOps. But what is it? And how do you create it? Find out — and get started executing on your automation test plan today.

What Is an Automated Test Strategy?

An automated test strategy defines how you’ll utilize automation frameworks throughout testing. It includes manual and automated test plans, test cases of all types, automation scripts, test environments and their definitions, test data, test results, execution logs, and reporting output.

A successful automated test strategy means:

  • Automation is baked into the entire pipeline from start to finish.
  • Test code (functional, nonfunctional) is treated as product code.

Having the right test automation strategy is key for successfully transitioning to DevOps.

When the overall test orchestration runs at scale upon each code commit, the developers have much more time to:

  • Focus on new features.
  • Maintain high code quality that, overall, leads to faster release cycles.

How Do You Create an Automation Test Strategy?

Your automation test strategy is important. Testing no longer belongs at the end of the process. It’s central to the entire software delivery lifecycle. Or at least it should be.

As teams strive toward continuous testing in DevOps, the role of automation becomes all the more essential. Your automation test strategy is critical for orchestrating the what, when, and why of end-to-end test processes.

Here’s how to create your automation test strategy.

1. Create a Pipeline Blueprint

It’s best to begin your automation test strategy with what you have control over. From there, you can start planning. This makes your DevOps pipeline a great place to start.

Pipelines are the fundamental pathways that delivery orchestration follows. They consist of all tasks and deliverables that software delivery teams execute on to bring ideas into production via software. The “continuous” aspect of the DevOps pipeline considers the iterative and repeatable nature of software delivery.

One methodology, SAFe, considers cyclical segments often owned by different teams interacting constantly along a pipeline. Here’s an example of a continuous delivery pipeline.

image-blog-continuous-delivery-pipeline

Other pipeline views break out major stages of software delivery. They emphasize technologies like source control and orchestration automation (such as Jenkins) as the engine that drives the pipeline.

image-blog-continuous-delivery-pipeline-jenkins

 

Here is a fast and simple example of a functional test stage that most companies do today.

In this diagram, the bubbles connected to steps are “wasted time.” By identifying where you know time can be cut or improvements can be made, you can plan out how to build a continuous delivery pipeline segment by segment.

image-blog-test-automation-strategy-saves-time

 

Areas of time-savings will play a key role in your test automation strategy.

2. Leverage the Cloud

Cloud is another important aspect of your test automation strategy. In fact, cloud testing should be your first choice.

Here are a few basic use cases for cloud test automation to help you get started.

Compatibility Testing

Quickly spin up multiple operating system types or versions, simultaneously, with a command. Containers make this even easier as you can deploy to different clouds. Functional tests, for instance, could be run against many operating systems. Similarly, you can perform multiple simultaneous browser tests, database types, etc.

Load Testing

Using load generators to drive simulated traffic from multiple regions and up to large scale was one of the first use cases for cloud computing. Load tests can be triggered by a build job and results can be passed in an automated fashion as part of a performance regression suite.

User Acceptance Testing

AUT environments can be spun up as part of an automated process. Real users in any location and environments close to users (or far away) can be utilized to test the network impact of systems close to or far away from users.

3. Embrace Automation

Embracing automation is also key to a successful test automation strategy.

A never-ending saga in the testing industry revolves around automation in DevOps. It doesn’t matter:

  • How you feel about what is possible to automate.
  • When you should start.
  • How to manage test fragility.
  • Who should create or execute tests.

What does matter it that you plan to utilize a test automation strategy with your CI/CD orchestration.

If you aren’t automating regression tests, you are wasting time.

Functional test automation has always been a great place to start. For web, recording technology is mature and stable. So, even junior-level test engineers can reliably capture basic tests to replay.

Here’s how it works:

  • Automated functional tests are proven, repeatable, and combined into regression suites.
  • Then it’s a simple matter of ensuring the test environment is available — perhaps in a cloud-based solution — and running the suites as part of the build process.

Add Mobile Testing

Nearly every application has a mobile component and nearly every company has a mobile app. The need to test on many different devices and the pace of change of those devices is daunting.

However, mobile testing has matured and recording or scripting tests to run on emulators or real devices can be highly automated. In turn, this automation can be triggered as a CI/ CD orchestration job, to be run “hands free.”

Load Test, Continuously

Finally, load testing doesn’t need to be the job of specialized teams. Use cloud or traditional servers. Once load tests are created — as a single component test or even end-to-end — the CI/CD pipeline should include fully-automated load test runs at various stages.

The earlier teams start testing for scale and performance, the fewer problems they will encounter at the “Ops” end of the DevOps cycle.

4. Start Small, Scale Up

With your test automation strategy, it’s best to start small and go from there.

The key to successful continuous testing in DevOps lies in building trust between the dev and test practitioners. To build trust, there needs to be a small and proven smoke or sanity test suite that runs automatically within CI (Jenkins) upon each code commit.

The next step is to scale the number of platforms that undergo these tests. “Certify” said tests and make them an integral part of the DevOps pipeline.

Finally, scale the test suite to cover more essential test scenarios and platforms. You’ll need to maintain the coding practices and test certification processes to maintain trust between team members.

Get Started With Your Automation Test Plan

Having the right automation test plan and strategy is important. And to have the right plan, you need the right tools. Perfecto is ready to help you on your path toward continuous testing.

Whether you’re just getting started with automation or you’re well on your way, Perfecto’s expertise can take you to the next level. Soon you’ll have an automation test plan that delivers accelerated testing with fewer defects and faster deliveries.

See for yourself how Perfecto can help you automate testing. Get started with a free 14-day trial.

Try Perfecto

 

Related Content