Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

How Modular Testing Fits Into Your Continuous Testing Strategy

DZone's Guide to

How Modular Testing Fits Into Your Continuous Testing Strategy

Learn how to build a continuous testing strategy incorporating modular testing and how it can benefit QA and development teams.

· DevOps Zone ·
Free Resource

Learn more about how CareerBuilder was able to resolve customer issues 5x faster by using Scalyr, the fastest log management tool on the market. 

To keep up with the demands of a competitive market, QA and development teams must find more effective ways to assure and improve the quality of their product without losing speed. In this post, we'll explore modular testing, one facet of the Continuous Testing Manifesto, and learn how modular testing contributes to a fast, reliable QA strategy.

Scalability and manageability are two critical concerns for high-performing QA teams. One effective way to create a scalable test suite is to adopt a modular testing system. Modular tests are tests designed to be reusable and editable, streamlining both test writing and test suite management.

How to Build Modular Test Flows

The most valuable tests are those which are broadly applicable across a variety of functions. If you find yourself copying and pasting test steps, you're creating more work for yourself in the long run; every time you need to update one of those tests, you'll have to go through the entire cloned set and update them manually. Instead, aim for a modular system that allows you to reuse tests in multiple flows, but manage them centrally.

Start by identifying the common user flows in your application. Most of the time, the common parts will be built upon to allow you to get into the right state for your application. This applies for both automated and manual test suites. If using automation, make sure to have a common library of states you can reuse to get into the correct state. If using manual testing, you will need to find a test case management system that supports composable tests.

Adding Value Strategically: QA Testing Utility Pyramid

Modularity isn't just about how test cases are managed and executed, but also which tests are prioritized. If starting from scratch with a new process, start with small, manageable chunks with a focus on providing the most valuable feedback. Build your test suite in the following order for greatest effect:

Smoke tests cover the top three to five flows through your application. An example of an e-commerce site's smoke test suite would be: login, sign up, checkout. Choose whatever might cause a headline in a newspaper (or an email to the CEO) if it broke.

Happy path tests are similar to smoke tests, but somewhat less important. Generally, they are the most common paths through your application.

Regression tests check for bugs that people have already reported. These issues should not surface again in the future. Add a test to your suite -- whether a unit test or not -- to make sure it doesn't.

Edge cases that don't fit within the above categories and generally aren't in the common user flow. They have less value, so you should leave them until last. Be advised that there is a nearly infinite number of edge cases and depth you drill into. Note that issues that get reported are bugs, and fall into the above category (regression tests), if accepted. Edge case testing looks for, and protects against, possible bugs.

The Benefits of Modular Testing

Taking a modular approach to QA makes the entire test suite more efficient and faster. Tests can be managed centrally, reducing the overall workload for the QA team when test cases must be written or updated.

Jitjatjo manages QA for their restaurant workforce application by using a modular testing scheme within Rainforest. Nearly every test case they create can be applied to multiple different user flows, browsers and devices, minimizing the QA time investment to achieve the level of coverage needed. When test cases needed to be updated, Jitatjojo's QA engineer only has to update the master test case, and all other instances of the test case will be updated as well.

"Rainforest allows us to create a test that we can run over and over. Anytime we want to test that flow, we gain the efficiencies back," says Dominic Esposito, Jitjatjo's Head of Product. "Any Rainforest test case that we write becomes extremely efficient. We're saving 25-30% of our QA time by leveraging Rainforest."

Learn More About How Modular Testing Fits Into Your Continuous Testing Strategy

Want to learn more about how to use modular testing to scale your QA process more efficiently? Join us for a Continuous Testing webinar on Thursday, September 28 as Rainforest QA's VP of Engineering Derek Choy dives deeper into modular testing. In this session, Derek will explain how the Rainforest QA team leverages modular testing, and how other development organizations can integrate it into their testing workflows.

Find out more about how Scalyr built a proprietary database that does not use text indexing for their log management tool.

Topics:
devops ,continuous testing ,qa

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}