Most people immediately think “technical” when they hear the words “test automation”, but many of the various problems that often arise could have been ironed out before anything technical is performed with proper communication, collaboration, and buy-in. The endless challenges facing testing teams are amplified when most or all of the team is working remotely and spread out in different time zones. Let’s look at a handful of tips for testing teams that are scattered throughout the lands.
1. Regular Communication
This one should be the most obvious, and is arguably the most important – especially for large cross-functional distributed teams. Your testing team should meet regularly at every stage of the process from planning, test case design, creating test case scripts/features, and placing each within the larger context of the test suite. Even if the project’s entire test suite is in the can, the results and metrics from test runs should be reviewed as soon as possible in your team meetings. Timely feedback is a boon of test automation, so don’t let distance in your Q/A team cause delays that negate this huge benefit.
A reliable chat client and video-conference tool are key for real-time collaboration. My company uses Slack for the former, and Zoom for latter. Make sure all team members have multiple methods of contact for each other. The team leader should periodically (at least weekly) do brief, informal video check-ins on team members just to see how they are doing.
2. Centralize / Streamline Tools
Ideally your testing team should be mainly working within one or two streamlined testing solutions, as it becomes much more complex for a remote cross-functional team to work with a large suite of disparate tools. A common question in tech is “Did you put that in application/tool X, Y, or Z?” In order to reduce the probability of this question and similar confusing scenarios, centralize and unify as much as possible AND put guidelines in place that make it obvious where “things go”. For example, test run comments should be added at the top of the report and tasks for team members resulting from those comments belong in the test management solution.
3. Use Readable Test Cases
The more readable the test case when it’s in feature or script form, the easier it is for all members of the testing team to collaborate. A single source of truth that both business and technical users can work from is especially helpful when both parties can’t be in the same room. Strongly consider using a behavior-driven testing solution based on readable feature files, as readability allows everyone to give input directly from their perspective.
4. Embed Q/A in the Process
Embedding quality assurance into the development and deployment processes, and having it be considered an overall priority, becomes even more critical. If testing is a tacked-on stage conducted shortly before deployment, imagine a Q/A team who’s never met the developers in-person suddenly showing up for a few brief webinars that can easily feel like a code critique from strangers.
5. More Hiring Considerations
The obvious advantage of hiring remote personnel is that you have a wider selection of candidates to choose from versus going local only, but there needs to be a greater focus on certain skillsets such as teamwork/collaboration, organizational prowess, time-management skills, and self-discipline. Certain personality types thrive in a physical office environment, while others are better off working remote; determine which category your candidate falls into before taking them too far in your hiring process.
6. Don’t Skimp on Infrastructure
A testing team working remotely relies on fast, reliable Internet connections, good quality webcams, and easy-to-use collaboration tools. Wrangling with a slow connection or cheap buggy software (not including the system under test) costs the company money more in the long run, and so team members should feel comfortable arguing in favor of high-quality infrastructure that enables them to have a better quality of work. Sometimes open-source freeware is fantastic, and other times “you get what you pay for.”
7. Clearly Define Roles
Vague, unclear roles and tasks are easier pitfalls to tumble into when your testing team isn’t under one roof. Test team members should have concrete duties, and be aware of what other team members are doing. In a physical office environment, what your colleagues are currently working on can be easily deduced from water-cooler discussions, and those random disembodied office voices wafting through the air. Hammering out roles and duties for team members is even more critical for distributed teams so everyone can be on the same page.
Be sure to choose a test automation solution that makes things easier for your distributed team, and our product Cycle is one streamlined solution based on readable feature files that does just that.
This post was written by:
Technical Pre-Sales Consultant
James has been working in software pre-sales and implementation since 2000, and has more recently settled into focusing on technical pre-sales.