Testing is one of those cool jobs that can be done remotely. A fact that many organizations and testers discovered recently as they were forced to practice social distancing and go remote in the aftermath of COVID-19.
But what happens when you are no longer co-located? Your cheese just got moved. As the Indian Government announced a 21-day lockdown and shutdown country-wide, many companies like QMetry decided to take our work to our homes.
As a QA lead with QMetry, I have worked as a tester and a team lead for several years, working on multiple products and releases. It is not my first experience of working remotely, but it is certainly the longest duration. One where I have to ensure not only my productivity, but also my team’s.
Working from home or rather testing from home can be fun but has its share of challenges. Here’s what I and my team members have learned so far. When the status quo is challenged, everyone’s displaced out of their comfort zones. Here is my take on some of the remote testing challenges that you may face and how you can overcome them.
Ever heard the phrase lost in translation? Well, when co-located teams are suddenly pushed to work disparately, we have our own version of this malady ‘lost in interpretation’.
Understanding conversations is tricky when you are using collaboration tools and messaging channels. This can become more pronounced if some of your team members are working in a different time zone, prohibiting video calls frequently. Language nuance, phrases can also be a hindrance for non-native speakers.
As a best practice, at QMetry we have a daily sync up call with my team members towards the end of the day. We share updates, discuss roadblocks and plan ahead.
When in doubt, just hop on to a video call to sort things out or you will keep going around in circles.
Transparency and Visibility
Visibility of work is a challenge even when you are working on-site. With remote testing, the challenge is greater. Often as a tester you will wonder if you are performing well enough and whether your work is valued. Share your wins and status updates. Set your goals so that you can hold yourself accountable. Feedback sessions are helpful for all team members in general.
As a team leader, I have to also ensure that all team members are on the same page and monitor all their tasks without being overbearing. Assigning tasks and responsibilities is crucial in this time and I make the decision based on experience and ability. Our daily sync up calls help a great deal in making these decisions.
When it comes to releases, it is typically software testers who have the onus of communicating the product’s release status in time. Making key stakeholders aware whether the release is a go or no-go is often the QA team’s responsibility.
To avoid becoming the bottleneck for releases, test early, test often and communicate the results as soon as possible, including any red flags. So that testers aren’t perceived as the ones slowing down the release. The DevOps principle of integrating and testing in parallel, serves one well here.
During this remote testing phase especially, it has helped us to practice the Agile principle of setting smaller targets. This helps us to measure the ability and assess the speed at which team members are executing their tasks.
Our team tests on the server using three different databases – SQL, PostgreSQL and MySQL. Before we log a defect, we verify if all three databases are running and all the instances are functioning well so that the tester can test quickly. We don’t have to duplicate the effort individually.
Additionally, we have distributed cloud and server release-based tasks amongst the team. If team members find a bug in the cloud instance, they will share it immediately with those working in the server as a time and efficiency hack.
Sometimes, if there is a speed issue on a cloud-based instance, we don’t waste further time in testing. We first communicate the speed issue with the dev team and only proceed once it has been resolved.
Essentially, one has to prioritize and re-prioritize work based on the situation to be more productive.
Documentation and checklists
For better release co-ordination and planning, use checklists and follow processes. At QMetry, we use a shared checklist and team members have full visibility and transparency on the coverage and execution status. Often, if we have found an issue but the developer can’t replicate it, we share our screens to speed up the fix.
When you are raising a bug or an issue, then explain it clearly as to what’s not working as expected. Use screenshots or GIFs if possible and push the work back to development. Don’t be vague. When it comes to quality, you can err on the side of over communication.
One significant advantage we have is that we are using our own tools for test management. We know the tools inside out and know how to leverage them optimally for best organization and efficiency. For instance, when we are executing test cases and as we find bugs, we click on the “add bug” function in the execution screen. The tool automatically captures the description of the test case. Much like our tool, our test management is intuitive and smart.
Make it explicit when testing is done
This is the most critical factor. Not only do you need to give timely status updates, but you also need to document what you have done to test a feature. If you are a fan of exploratory testing, then an exploratory testing addon such as the one QMetry provides can come in handy.
In short, make notes and be explicit about your testing notifying team members when your verification is completed.
Last but not least, remote working may ultimately be the future of all work. As we cruise through this interesting phase of our testing journey, working remotely and learning from each other is also part of the education that prepares us for a new reality of work that could soon take center stage.
So, keep calm, test on, make mistakes and move on. Above all, stay healthy and stay safe.