Onshore vs Offshore Software Testing
By: Brian Bernknopf
March 15th, 2018
Does a lack of colocation of testing teams inherently lead to software testing inefficiency? This is a question that goes to the root of what it means to collaborate effectively, whether with an offshore software development team or a distributed team onshore. One that we get all the time. In our experience, there are pros and cons to having people work remotely on QA projects and in software testing teams. We’ve seen organizations have successes and failures with this approach. Here are a few things to consider in determining whether having a remote testing team is feasible for your circumstances.
The True Cost of Software Testing Offshore
There are obvious benefits of labour arbitrage and cost efficiency in working with teams in low-cost geographies. Especially for the more commoditized aspects of software testing, this can be an attractive option. But there are additional costs in work inefficiency that go along with any remote working arrangement. Turnaround time and time-zone issues are the most obvious drawbacks to going offshore. However, as long as you are comparing the whole package and taking these costs into account, you can make an intelligent decision about whether offshoring makes sense for testing.
We often work with offshore partners to create a true value arrangement where secure data needs and similar tests occur onshore while other activities make sense to be moved offshore. The same goes for usability testing with testers who might have relevant context for the applications being tested onshore. However, it’s always important to accept that with the labour arbitrage that is inherent in offshore rates, the miscommunication, time change, and work schedule adjustments do impact and are included in hidden costs of offshore. This true cost is not a negative or a detractor, just an input variable into the decision.
It’s also important to differentiate between the types of QA and software testing that are commoditized and those that aren’t. (In an older, but highly relevant article, Matthew Huesser has provided more on that topic where he references my friend Keith Klain’s comments on modern testing and the often debated discussion on context-driven testing.) These are critical inputs in how QA teams should be set up.
Finally, keep in mind that some types of testing, such as usability testing, may actually be ideal for remote fulfilment. You will naturally have access to a wider range of environments, devices, networks, and user behaviours with a geographically diverse set of testers.
How Tooling Enables Remote Software Testing for DevOps
Deep collaboration and rapid turnaround are the order of the day in a DevOps and CI/CD/CT organization. At QA Consultants, we’re certainly vocal advocates for making quality assurance an integral part of that equation. But the truth is that DevOps can be done even if people aren’t sitting together. What’s great about the DevOps approach in this situation is the capabilities of tooling such as Slack, Trello, and Asana. These tools aren’t only for developers. For example, our own automation testing teams share code via Slack routinely and are often finding alternative ways to collaborate in distributed environments with partners and customers.
We’ve also noticed that the newer testers we hire (whether coming from the developer side or the non-technical side) expect to use these tools. They are excited about being part of the collaborative workflow. It may be a full-time job figuring out which collaboration platform to use and how to use it, but the effort is well worth it to empower today’s testing professionals. Ensure there are appropriate security constraints in place, and your teams can collaborate very effectively online.
Encourage Testers to Fully Embrace Their Responsibility
Whether it’s integration testing, regression testing, or load testing, having the full team on-site has its own costs and benefits. Accountability is one advantage that stands out. It’s harder for a tester to claim plausible deniability or that they weren’t aware of peripheral issues outside their narrow zone of focus when they are in the same room with the rest of the team. But as Keith mentions in the article above, testers have to step out from their rote tasks of test script execution and be the steward of quality for the application they are testing.
This excuse that one was just following the test script should never be the fallback position for any professional in our industry. Whether we work on-site or remotely, we must take responsibility for doing everything we can to find those areas that aren’t being addressed. As I’ve said before, this is the most vital way for quality assurance professionals to add value to the organization.
Our experienced testers can augment your existing software development and testing teams anywhere around the world. Learn more about the types of services we provide and contact us to discuss your testing needs today.
Brian Bernknopf is the Managing Director of the US operations at QA Consultants.