3 Software Testing Lessons from an Unlikely Source
With the combination of empty store shelves and people trying to stay isolated due to COVID-19, going to the grocery store suddenly became something to strategize. And who does more strategizing than the masters of critical thinking: software testers?
Here are some of the top lessons testers can learn from our current situation.
Focus on what matters to you
When time and resources are limited, focus is critical. Now’s not the time to browse around casually and see what strikes you. Think about what matters most for you, assess what you’ve already got, and use that insight to prioritize what you hope to come home with.
Maybe everyone else is sprinting over to the eggs, but you already have a few weeks’ worth in your refrigerator. Skip it. But if you need a specialized ingredient to accommodate dietary restrictions or to make a family favorite, start there.
Testing parallel: Some requirements and use cases will be more important to your organization than others. Test critical functionality first, and test it well. To free up some resources, check whether some of the test cases you plan to build or update are actually redundant (e.g., they don’t cover any additional application logic or increase your risk coverage). Working on tests that don’t add value is as useful as binge-buying eggs when you already have two dozen. Focus on what you value—and lack—instead.
Don’t shy away from substitutes
No matter how well you plan and prepare, you probably won’t get everything you want. But sometimes that’s a good thing. It pushes you to consider alternatives, and you might end up finding something that you like even more, or that’s better for you.
Don’t lament the lack of ground beef until you try veggie burgers. And maybe that riced cauliflower you stumbled upon could become a long-term rice replacement.
Testing parallel: If you’re testing a distributed application and you can’t access one of the connected systems or services for testing, try service virtualization. For testing purposes, the simulated version of the real system or service should be able to satisfy all your needs, returning the expected responses for the application under test’s various requests.
Plus, as with the food substitutes, you might get some unexpected advantages. For example, your virtual assets are probably easier to configure for various “corner case” conditions, faster and more readily accessible no matter where you’re working from, and more cost-efficient to hit for continuous testing or load testing.
A few trips searching all over town for paper towels, paper napkins, and tissues prompted many of us to shift to reusable alternatives. Why invest considerable resources in something that’s good for a single use only, especially when there’s a longer-lasting option? Dish towels, cloth napkins, and handkerchiefs are much simpler to find and can tide you over for months or years.
Testing parallel: While some testers are happy with their scripted tests, others complain that scripts are just too ephemeral to justify the investment. If you’re constantly wrestling with scripts or just abandoning certain scripts because they’re too much of a pain to fix, consider more resilient and reusable automation, such as model-based test automation or AI-driven automation.