How remote software testing empowers modern QA teams Fatima Wahab , Fatima is a movie junkie and technology enthusiast who aspires to be a published author. July 15th, 2020 The trend towards software development teams working outside of a physical office location has been accelerated by COVID-19. To manage the shift, organizations are adopting new ways of maintaining the cadence of software release cycles. One way is through remote software testing. Remote testing relies upon globally distributed real-device testing teams to enable rapid software testing in any location, at any time, on any device/OS combo. When properly managed and employed, a remote testing approach allows companies to leverage flexible, on-demand QA testing that ensures high-quality products and faster release cadences. Here is how. On-Demand Testing One of the major benefits of remote testing is on-demand testing. Remote testers are deployed the moment your web or mobile app is ready for review, facilitating testing at short notice. This flexibility comes especially in handy when testing must be performed quickly in the crevices of engineering teams’ work, overnight or over weekends. Then, as soon as developers are back in the office (or, their work-from-home setup in the spare bedroom), they have a prioritized list of bugs to work on. With this type of burstable test strategy, the economic value is also enhanced since there is no need to pay testers during idle periods. Faster Testing Cycles Not only is it important to test builds thoroughly, but it is equally important to achieve turnaround in a short period of time – combining speed with product quality is the only way to meet growing consumer demands. Thus, a larger team of distributed on-demand testers, who are experienced and well trained in testing practices, can quickly work through a set of test cases – that may take a less experienced or smaller team of testers a longer time to complete. “With bite-sized chunks of testing work, larger teams win (compared to traditional manual QA organizations). Twenty testers can complete a week’s worth of quality work in two clock hours, helping engineering teams shorten product release cycles.” Steve Semelsberger Geographically Distributed Testers Need to test an app in the US, Europe, Asia or Africa in the same week? Not a problem. Geographically distributed testing teams are extremely valuable when builds or app features target a particular region as is the case with localization testing or location testing for example. Furthermore, when the remote testing team is located in different time zones, the build can be cycled through different sets of testers – increasing the depth of the testing effort while saving overall costs. Functional, Exploratory, Usability, Localization and Payment Testing Remote testing can and should be used for functional, exploratory, and regression testing of builds. Experienced testers are a valuable source for usability testing, while regional testers are prime candidates to perform localization testing. Consider this example – a Testlio client, a top 15 App Store online marketplace app, needed to conduct payment testing in 10 countries to make sure transactions were working properly. Different countries have different bank transaction rules, so the client needed a remote team of testers across the globe to test various payment actions – did the payment process, were refunds applied, shop owners paid? Needless to say, testers were able to uncover major bugs and payment issues in all the different locations. Device Diversity With diverse demographics come a larger variety of physical devices. So whereas onsite QA teams are usually restricted to in-house device labs, remote testing teams have 100’s of devices on hand. And since modern web and mobile apps require broad test coverage, this means that app testing can be performed on a nearly infinite combination of platforms, devices, and WiFi networks. 6 tips to optimize remote testing value 1. Networked testing practices Provide incentives for collaborative testing, as opposed to bug report bounties. This encourages the team to work together to find quality bugs, instead of focusing on simply increasing bug count. 2. Ensure build testability Make sure that developers have taken an initial pass over the build to verify its testability. Builds with broken functions or crashes are returned by testing teams, and therefore, the entire release schedule is adversely impacted. 3. Manage build delivery and versions Schedule and deliver builds on time, so that testing teams can complete test cycles on time. Versions of test builds should be marked with numbers so that bugs can be traced to the correct version. 4. Have clear project-specific requirements Make sure all specifications are concise and without ambiguity. Looping testing and QA processes into agile sprints can only occur when requirements are not open to more than one interpretation. 5. Keep QA and development on the same page When quality assurance teams are included at the start of the iteration, they can get started interpreting requirements, initiating test plans, writing test cases, … alongside the development effort. Invite your testing team to virtual stand-ups if/when helpful to make sure they are aligned with requirements and expectations. 6. Work with experienced, consistent testers As your remote testers get more familiar with the application, they become the ideal candidates to test the build through near-release stages. In summary Remote testing is a distributed QA approach that pairs well with complex applications – apps with a wide geographical distribution or apps that are planned for mass usage. It’s not a cure-all, nor does it diminish the need for good engineering practices in build delivery. However, leveraging networked testing methods such as burstable testing can lead to shorter test cycles, increased test coverage, and high-quality app releases – at very compelling economics.