How to Build a Remote Test Automation Team

How to Build a Remote Test Automation Team

Software testing is a critical component to any development lifecycle. For many teams, going automated can help to improve accuracy, allow for better test coverage, save time, resources, and allow your QA team to focus on more strategic, high-value work.

However, many development teams are still slow to move their testing from manual to automated. According to the World Quality Report 2018-2019 a lack of test automation is the biggest bottleneck holding QA and testing back in today’s iterative, DevOps-driven world.

Why is this the case? A lack of capital and access to the necessary expertise. It’s a big undertaking, but approaching it with a hybrid mindset—tapping flexible talent to fill in the gaps of your testing team—can help you do it efficiently, and affordably. We chatted with Joshua Ratliff, a senior software and automation engineer to get some insight into how to stand up a solid automated testing strategy.

  • Why build a remote test automation team?
  • Questions to Ask Before Building a Test Automation Team
  • The Perspectives (and People) You’ll Need
  • What to Include in an Automation Testing Job Post
  • A Successful Test Automation Team Model
  • FAQs

Why build a remote test automation strategy?

Looking to help your dev team be more efficient, with fewer hiccups and emergencies? A well-designed automated testing strategy can keep pace with your development team and help you avoid technological failures—and head off last-minute tests that have your team racing to fix issues. Ratliff says that’s one of the biggest benefits of automating testing for teams. “Robust automated test suites saves time, money, and stress by preventing unnecessary multi-day fire drills mid-cycle that randomizes the team. ”

And who doesn’t want to avoid fire drills? Other benefits of test automation include:

  • More iterative development cycles
  • Faster feedback
  • Better test coverage
  • Improve testing efficiency
  • Easier documentation
  • Reusable test scripts lead to less code duplication

Automation testing will also be an incredibly important accelerant for emerging trends and technologies such as:

  • IoT – Internet of Things
  • Wearables
  • AI – Artificial Intelligence
  • Augmented Reality
  • Machine Learning
  • Security
  • Healthcare or Medical Devices
  • Big Data Cloud
  • Neuronal Networks
  • Serverless Architectures
  • DevOps
  • Microservices
  • Application Containerization

If you currently lack the internal resources to implement your own test automation system from scratch, assembling a remote test automation team can give you access to the pros you need on a basis that works for you. And with the rise in niche skills contributing to better, faster testing, finding those skills you don’t have in-house is easier when you tap a remote talent pool online.

Questions to ask before building a test automation team

Automated testing can be a highly effective way for your dev team to meet business goals faster and with fewer roadblocks. But before you post your job, consider answering the following questions to help you create a plan, get things off on the right foot, and make better decisions as your test suite improves and grows.

How to determine if a test is a good fit for automated testing
Some tests are better suited for automation, while some should almost always be manual (think: UI tests). Consider your priorities, such as unit tests, regression tests, then on to functional tests, and so on.
Ratliff shares a punch list for tests that make good automation candidates: Tests that are well defined (the user/business flow is clear)Tests that have a very clear and explicit set of steps from beginning to endTests that tend to be self-contained (e.g., have minimal time-based dependencies on other systems)Tests that are repeatableTests that don’t corrupt data of subsequent tests

Once you’ve determined your test(s) are a good fit, you’ll want to nail down:

  1. The scope of the automation strategy. What test cases will you automate, and which tools will you need for each? What will be the timelines and milestones for each?
  2. Your automation environment. What software and hardware will you need to have in place? Will you need a hardware expert?
  3. Once your test automation suite is stable, how will you promote new tests into the suite? Run a thorough risk analysis for new test cases. Ratliff also suggests that once things are stable you should “identify and document your test cadence. What tests run on PR? What tests run on a schedule? What tests run overnight? What tests run before release?” This will give you a bird’s eye view of everything running, when, and why.
  4. A system for investigating and resolving test failures. Ratliff advises, “Have test failures be a call to action for someone to investigate and resolve as a high priority.”
  5. How testers and developers will collaborate so developers can own the quality of their code (vs. throwing it over the fence). Ratliff’s process is to report test failures to developers as he finds them, and writing up bug reports with relevant information. Developers may have different processes, so be sure they’ve weighed in and touched base.
  6. How you’ll continuously maintain and improve the quality of your test automation code framework. As your automation model matures, consider how you’ll optimize and expand your test suite to meet your business goals. Where will reusable automation scripts be a good fit. The more reusable code you can write, the more you’ll reduce efforts in the future.

Next, it’s time to assess the talent you’ll need to get things started.

Quote

The perspectives (and experts) you’ll need

When it comes to the perfect automation team dynamic, Ratliff says “It’s more important that the right perspectives are being represented. It’s increasingly rare that people fit cleanly into various ‘skill’ boxes. The right perspectives are more important than the job titles on a team.”

He stresses that while most automation teams will need different roles, all teams need these three perspectives on board:

  1. Someone to represent the business. This person can “help set priority on automation activities and ensure the business value is being delivered.”
  2. A technical leader. “This technical leader is responsible for ensuring code is robust, scalable, and to make decisions on what technologies are used. Without this guidance, you can end up with a system that’s not able to meet the evolving needs of the business when it matters most.”
  3. Developers to write the code. With expertise in test automation frameworks such as Appium and Selenium to DevOps tools such as Jenkins and Puppeteer, they’ll have familiarity with test automation solutions that match your technical needs.

Ratliff says, “This perspective-based approach also makes it easier to grow the team because as the need for new perspectives arises it becomes obvious that you need someone to have that perspective. Additionally, it makes managing certain aspects of risk easier because it becomes obvious if you have one group that’s over-represented.”

In specific situations, automation teams can add other specialized roles such as a visual designer, a hardware engineer, or an expert on a specific technology.

Perspectives

Will my team needs change over time?

You might be wondering how your remote automation team may expand or contract as you stand up your strategy and get things moving. Ratliff emphasizes that the people and perspectives you’ll need on your team will change between phases, and to be mindful of those phases.
“Between the start-up phase, mid-sized phase, and enterprise phase, the perspectives needed therein will change,” he says. Having clear responsibilities for each team member then reevaluating your business needs shift, or when your employees raise concerns about being spread too thin will help you identify where your needs are shifting—and of course, your team will be your best resource.

Within those three perspectives, you may find you’ll need:

QA (Quality Analyst) lead

QA manager, test automation lead, senior quality engineer—whatever title you choose to use, you need someone to actively manage your test automation project, author QA processes, delegate tasks, and track progress.

Test automation engineer/Test case designer

It’s all about selecting the right test automation tool for your needs and finding an engineer to help you build and maintain a test suite—a collection of test cases—with that tool.

Software tester/Test manager

Already have a test automation tool and a test suite put together? Why not bring a few testers onto the team to write automation scripts to add to your suite or handle the grunt work of refactoring manual tests into automated test cases within your chosen test platform?

What to include in automation testing job post

When you’re going to craft your job post to attract high-caliber testing professionals, Ratliff has a few pointers. “I look for a post that provides enough information that enables me to understand if I’m an actual fit or not. Personally, I look for projects that are in my wheelhouse, but have something new for me to learn.”

Don’t shy away from providing plenty of details. He adds, “Provide enough information and content to clearly communicate what the work is about, and what you’re looking for. I appreciate when docs, samples, or references to what they’re doing are included so I can answer initial questions I might have.”

Takeaway: While it’s best to be as specific as possible, be sure to let potential testers know you’re open to hearing their suggestions or ideas. After all, they’re the pros and they value the opportunity to flex their expertise. He adds, “I like solving new problems by advancing my skills, expertise, and resolving new constraints.”

Your job post needs to clearly answer three questions:

  • What do you need done?
  • When do you need it?
  • What are the start and end dates for your project?

A successful test automation model

How Upwork’s distributed engineering team uses automated testing

Upwork’s distributed engineering team wanted to optimize its resources when it came time to test the batches of code they regularly crank out in two-week sprints. This led the team to move from a long cycle of manual testing to a mostly automated testing infrastructure.

Immediately, this replaced a long development cycle with a full week of code freeze and manual testing and a distributed global team of 30 manual testers. The team was soon able to complete a full suite of unit testing in one hour, and a full suite of parallelized functional tests in about six hours. They’re also able to be more iterative and maintain the tighter scope of features advised by lean development best practices.

A dedicated QA team helps specifically with performance testing and staging environments but adopted an Agile environment where test engineers work within dedicated teams. This jives well with a remote, distributed model, and has helped ensure that the test engineers always know what’s going on and are able to adapt existing automation tests to work with new features and to write new tests as needed.

Testers also can work more closely with developers, which dramatically changed engineering collaboration. Developers are able to own the quality of their code and test engineers are there to build the test automation that allows more frequent releases with fewer production issues.

Overall, automated testing has boosted the level of confidence in the quality of the product, and provided essential stability and efficiency for a large, distributed team.

FAQs

What if I have most of these people?

Already have some of the talent you need to outsource your test automation? Great, let Upwork help you fill the gaps and create a distributed hybrid team.

How do I structure a hybrid team?

Here are some tips on how to build a remote team.

  • Set initial requirements. Clearly define deliverables such as test cases and scenarios. Be specific about desired test tools and technologies.
  • Develop communication channels. Testing should be tightly integrated with your internal development efforts, communication through collaborative tools such as Slack can keep remote talent on the same page with your organization.
  • Clearly define your processes. From delivering a project brief to paying contractors for approved work, organization is the key to working with remote talent.

Do I need a project manager?

Are all your in-house project managers tied up with existing projects? Upwork has the talent you need to bring your vision to life. In the context of test automation, the QA lead will tend to serve the role of project manager. That said, things such as budgeting and the tracking of deliverables can also be assigned to a project manager.

What about quality?

You can vet the quality of remote talent on Upwork by thoroughly reviewing their profiles. Reviews from past clients, portfolios of past work, and job success scores are only scratching the surface.

Heading

asdassdsad
Projects related to this article:
No items found.

Get This Article as a PDF

For easy printing, reading, and sharing.

Download PDF

Latest articles

X Icon
Hide