The Benefits of Implementing Continuous Testing During COVID-19

There is no doubt that COVID-19 has changed our daily lives. It has brought a challenge that most QA Leaders did not anticipate. Shifting to work from home (WFH) has become a new normal for testing teams.  But, many leaders hardly had any time to prepare a contingency plan for country-wide WFH requirements.

Businesses are now quickly having to assess and reassess the way they have done things in the past and the way they are currently doing things, making changes in order to keep themselves afloat in these stressful times. They are right in doing so; right now, every business’s top priority is most likely the same: business continuity. But, what happens after the pandemic ends? The business environment is experiencing a huge shift as a reaction to COVID-19, and there is no doubt that this shift is going to have lasting effects on the “standard work environment.” Thus, it is equally important for businesses to think about the way they are going to do things in the future.  

It may be hard to see past the present right now, but it is important to remember that these times will end and yet again cause another huge shift in the business environment. How will you prepare your teams for this? Many testing processes by nature are preventative; Agile, for instance, was founded under the ideals of improving team collaboration, building better software, and ending with happier customers. Continuous Testing to takes a preventative approach to testing with its principles of “test early, test often, test everywhere, and automate.” 

It’s commonplace in times like these to do away with investing in marketing or research and development, viewing it as unnecessary when it can actually be treated as an opportunity. With business possibly slowing, more time may be freed up–if you have the luxury to, use this time wisely to invest in the future of your business

COVID-19’s Effect on Testing Processes

Amidst COVID-19, it is very likely that testing will be seen even more than before as a hold-up for releases, as the virus is introducing new challenges to the way that we work. This might be the first time many testing teams have had to work from home for a prolonged period of time, which brings its own set of challenges. In the current global situation, testing might not be able to advance at the same speed as development for several reasons, and delays may be amplified due to the nature of remote work itself; for example, some tasks can only be done from onsite. Testing teams often deal with sensitive data, which cannot be accessed outside of a secure environment. Devices and Applications Under Test also might not be available to the testing teams. COVID-19 has led to lockdowns in several countries, as a result, IT staff cannot get there and fix something in case of a problem. Your current Infrastructure might not be able to self heal without human intervention due to lack of Automation and self-healing abilities.

Some other common issues that arise with remote work are:

  • Devices are not allowed to leave the premises due to security concerns.
  • No remote security measures in place.
  • No processes in place (for example, how do testers swap devices?)
  • What about testing hardware, like the point of sale systems?

COVID-19’s disruptions to the “standard” work environment can make in-sprint Test Automation even more difficult to achieve, causing delays in creating automated scripts, fixing broken tests, maintaining and updating tests, and so on. 

Figure 1 – Remote work policies can be challenging for those who aren’t used to it.

How Continuous Testing Can Help

Testing is often viewed as one of the biggest bottlenecks in the SDLC; CT takes the testing phase from the end of the SDLC and instead sprinkles it throughout. By doing this, you’re not only minimizing the amount of work that needs to be done at the end but also preventing reparative actions by instilling a higher sense of quality from the start. CT was founded under the goal of prioritizing quality over project schedules; couple this with the fact that businesses want to release newer software faster to users, and a new way of testing was born. 

Managing Challenges with Continuous Testing

Here are a few recommendations for QA Leaders and teams looking to revitalize their testing processes in a CT direction:

  1. Strategize to shift-left in the development lifecycle, and start testing as early as possible.  For example: 
    • Involve testers early in the reviewing of user stories; that way, they can find ambiguous or erroneous requirements, thus preventing bugs
    • Involve testers in the early design meetings; they can help to find gaps in design and make improvements in UX.
    • Instead of waiting for the UI to be completed to start the Automation, teams should start focusing on automating testing at the API layer. 
    • Instead of waiting for the front-end to be developed when automating UI, QA and front-end developers can create an element and locator contract to enable early Automation.
  2. Un-break Test Automation to reaccelerate release velocity.  
    1. If a test breaks, the pipeline breaks, causing delays in releases. Teams should not ignore failing tests; they should get them addressed as early as possible. Otherwise, the sheer purpose of creating a pipeline is lost.
    2. Quick feedback is more important than ever for teams to succeed when working remotely. CI/CD is ineffective with slow feedback. QA managers and teams should think about running automated tests in parallel, which can accelerate the whole development process. 
    3. Improve your Test Automation overall. Focus on getting some of those typical Automation best practices did that can have a great impact on your automation success, like: 
      • Replacing Static waits with Dynamic ones
      • Improve the way you locate your UI elements
      • Work to make your Automation code as modular as possible.
      • Removing duplicate code and adding functions.
      • Adding detailed logging to ease debugging when something goes wrong.
      • Taking screenshots when errors occur instead of recording the whole session.
      • Generate quality test data that is rich enough to cover edge cases
    4. It is also crucial to automate your monitoring process in both production and testing environments. When something goes wrong, Automation can either fix it or alert someone. Failures should notify responsible testers/developers via email, Slack, or other collaboration tools. Also, testers should work on unstable tests and fix them, otherwise, the team will have to spend time debugging automation failures rather than working on new features.

Now is the Time…

Several products, games, and services have faced significant delays due to the rapid shift to remote work and its resulting impact on testing overall.  Overcoming this challenge quickly will give organizations a competitive edge over competitors who are slower to react. Everything that you do now that others are not doing will allow you to focus on moving forward when this crisis dials down.  Apart from improving test flows and investing in CT, consider spending available time on:

  • Building new features that will delight customers
  • By releasing quality products faster 
  • Filling in the market gap
  • Improving your user experience 
  • Most importantly, more great automation!

LogiGear Can Help

COVID-19 has suddenly changed the way we work; many organizations are struggling to adapt to the new norm of remote work, while others are simply struggling. Leaders facing infrastructure problems and staffing challenges may find it prudent to involve the aid of a strategic testing vendor like LogiGear to help them quickly ramp up and continue their testing projects to ensure that test automation does not become the bottleneck to the DevOps life cycles. A strategic vendor can plug-and-play, and help pick up the slack to help teams continue shift-left strategies and other long-term improvements.

Hans Buwalda
Hans leads LogiGear’s research and development of test automation solutions, and the delivery of advanced test automation consulting and engineering services.

He is a pioneer of the keyword approach for software testing organizations, and he assists clients in strategic implementation of the Action Based Testing™ method throughout their testing organizations. Hans is also the original architect of LogiGear’s TestArchitect™, the modular keyword-driven toolset for software test design, automation and management. Hans is an internationally recognized expert on test automation, test development and testing technology management. He is coauthor of Integrated Test Design and Automation (Addison Wesley, 2001), and speaks frequently at international testing conferences.