See Testim web in action. Live demo with Q&A on Apr 29 | Save your spot

When Everyone’s Remote: 7 Remote QA Tips and Tricks

There are always uncertainties in business, yet some times are more uncertain than others. The COVID-19 pandemic created new unknowns.…

Author Avatar
By Shawn J,

There are always uncertainties in business, yet some times are more uncertain than others. The COVID-19 pandemic created new unknowns. How long will it last, and who will be affected? When will the economy rebound, and how quickly? How should we adapt our business? 

While we can’t predict the future, we can offer advice based on learned best practices. This blog will start by demonstrating the importance of quality in meeting business goals. We will discuss how teams, including ours, are adapting their communication and collaboration as they move from co-located to remote work. Finally, we will share some testing best practices to help keep teams on track to meeting their quality goals. 

Quality ⇒ Customer Satisfaction ⇒ Revenue

Revenue growth remains the top priority for CEOs in 2020, according to Gartner. To grow revenue, organizations need to convert prospects to customers. Even more importantly, they need to retain existing clients. The cost of acquiring a new customer is 6-7 times more expensive than retaining an existing customer according to a study in the Harvard Business Review. 

When budgets tighten, customer experience matters more than ever. A report by Accenture shows that 48% of consumers have left a business’s website and made a purchase elsewhere because of a poor experience. 

Customer experience doesn’t stop with the purchase. Nothing can be more frustrating than waiting for an application to load, clicking on a button that does nothing, or getting caught in a never-ending loop without finding what you need. Problems mean you will likely contact support, taking time and resources to manually workaround a website’s flaws. And how satisfied do you feel when that happens? 

Customer or user experience is (mostly) derived from the following factors:

  • How easy is it to use and find what you need?
  • Is the information useful? Credible?
  • Is the application fast, or does it freeze or make you wait unnecessarily?
  • Does the application perform tasks successfully, the first time?  

In business, much of our interaction with a company is through software. Customer support can step in and make corrections when the software isn’t working correctly, but it’s a costly process. Building quality into the application helps improve and maintain customer experience in the most efficient way possible. 

New challenges for remote teams

To illustrate how workflow can change when there’s a switch from co-location to remote working, let’s start by looking at the daily work of a QA automation engineer on an integrated quality team. While these teams can take on many structures, let’s assume this is an agile team that also includes developers, UX designers, and product managers.

An office day for a QA automation engineer 

The QA AE arrives at the office in the morning and checks for updates from the previous day. She might start with Slack or email. Perhaps there is a physical or virtual Kanban/project board. She can review for updates to see what sprints moved from design to coding.

She will get coffee and maybe have a quick chat with the UX designer about some usability issues noted in recent test runs. 

At the daily standup, she will get a chance to learn about what changed, today’s priorities, and any blockers people have. Any issue longer than two minutes will move to the end of the meeting. For the QA automation engineer, this is an excellent opportunity to keep up to date with technical issues.

Potentially she will adapt her todo list based on the discussions before, during, and following the standup. During the day, she will spend her time:

  • Authoring or automating test cases 
  • Creating test data
  • Updating the test environment
  • Troubleshooting test runs
  • Filing bug reports. 

Each of these tasks may require interaction with the developers, product managers, or other stakeholders involved with the project. When co-located, she can grab a teammate, show them a problem, and often resolve it instantly. But that may not be the best result for the team.

When everyone’s remote

When everyone is remote, communication challenges can seem exacerbated. Quick responses are delayed. Developers can regain control, determining to respond on their schedule instead of hers.

You may need to reach them on Slack, wait for a response, and include others in the discussion. You may need to schedule a Zoom call later in the day. An answer that took five-minutes in the office now takes several hours to get resolution. 

Not every problem needs to be solved immediately. Co-located work can often lead to inefficiencies as disruptions require frequent context switching that lowers productivity.

Improving remote communication and collaboration

Often the communication and collaboration challenges observed by remote teams are present in co-located offices. In offices, the team can override inefficient communications by brute-force—with impromptu and late-night meetings filling the gaps. What’s needed are more explicit strategies and guidelines for communicating so that all team members feel their time is respected. 

Not all communication is equal. The number of stakeholders, subject complexity, urgency, and the need for a decision, all contribute to the type of communication and channel needed. A simple one-on-one conversation can often be handled asynchronously over email or messaging, whereas an all-hands Q&A requires a video call. 

Each team needs to establish communication norms—in type and channel as well as expected response times. For instance, allowing emails to be answered once per day, Slack channel responses twice per day, and Slack direct messages once per hour sets expectations that help reduce context switching so developers can maintain flow and focus.

Conduct better meetings

Large team meetings on Zoom can seem unproductive, especially when spending the first five minutes waiting for people to join. While technical problems may impact meetings, more often, bad meetings are due to mismanagement. Whether in person or virtual, meetings can be more productive when they follow best practices:

  • Send an agenda with the calendar invite
  • Provide any pre-reading materials a day early
  • Start and end meetings on time
  • Keep the meeting focused on the planned topic
  • Document key points and decisions and send a recap within 24 hours. 

In summary, a lot of the communication challenges that people face when shifting from in-office to remote work are symptomatic of more significant business problems. The team wasn’t communicating well before the shift, but they survived using inefficient workarounds. Agreeing on and stating your strategies for communication channels and response expectations can help reduce the context switching that impacts creativity and productivity. 

Tips for maintaining quality

Many of the tips for improving testing and quality in a remote environment apply equally to an office location. Creating tests is a lot like creating code. The tests must be written, follow the branch of code they test, are peer-reviewed, and merged into the regression set. They must also be well-documented so team members can step-in and troubleshoot a test they didn’t create. 

With that backdrop, here are some tips for improving testing in remote environments:

  1. Add details to document test runs. Information such as the application environment, the application version, whether it was CI/CD system run, and which user executed the run can be valuable tools to help troubleshoot problems or prove a release is ready.
  2. Establish a test naming convention. Agree on essential attributes to include and then give indicative names to suites, tests, and shared components. Better naming helps reduce the need to communicate for the sake of clarity and promotes reuse when components are understood. 
  3. Create and reuse groups. Just as in programming where one creates methods that can be called by different parts of an application, creating groups of test functionality helps reduce rework and improve troubleshooting. Commonly reused functions like login and add-to-cart should be grouped and called by the tests that need them. If there is a login error, for instance, fixing it in a group will repair the problem for all dependent tests.
  4. Integrate testing with your CI. Runs should be triggered on meaningful events (code push, for example) and follow a strategy that provides quality visibility to the team. Integrate and push results to collaboration tools like Slack to notify interested stakeholders in their normal channels
  5. Schedule broad regressions. Regular, scheduled regression runs helps the teams anticipate and manage results aligned to quality metrics. Make this information readily available in preferred channels. 
  6. Establish bug documentation guidelines. Defects are often an overlooked part of the process, but a priority one defect can require significant resources to resolve. Consistent bug reporting including screenshots, the test to recreate the bug, and standardizing on a reporting tool (e.g., Jira, GitHub, Slack) can reduce the time to understand and troubleshoot a bug. 
  7. Categorize your test failures. When tests fail, identify why they fail and tag them. When failures concentrate around specific areas like the testing environment or the network, it permits targeted investment to fix recurring issues. 

Working remotely with Testim

Much of this blog is about how working remotely can expose some of the flaws in our communication and business processes. Deficiencies easily remedied by getting back to basics, reestablishing norms, and improving documentation. Tools can also support these efforts and we’ve mentioned a few that we use. 

At Testim, our mantra is, “make software quality easy.” Testim is a SaaS solution, accessible from anywhere and built to respond quickly. We are constantly updating our features to make them more user-friendly and intuitive. Ease-of-use is an important factor in minimizing the impact of context switching. 

Our customers tell us a key benefit they get from Testim is people with different technical skill levels can use Testim together.  Testim tests are easy to record and configure, allowing less-technical people to contribute by recording user flows. More technical users like developers or QA automation engineers can configure steps or insert custom code to fit nearly any web application. I wrote more about how Testim helps teams improve collaboration when working remotely in this blog.

Testim provides visibility to the entire team to keep everyone aligned. Test run results indicate which steps passed and which steps failed so that anyone can easily identify problems—regardless of whether or not they wrote the test. Advanced troubleshooting tools like screenshot comparisons and console logs, allow developers or QA automation engineers to quickly find the root cause and fix the test. We even provide dashboards that show aggregate errors, helping to identify repeated faults.  

Finally, Testim simplifies integration with the tools that development teams already use, like Continuous Integration, GitHub, Slack, Jira and more. This means that your team can get the results of their tests in the tools they already use.