Continuous Testing Framework | Test Strategy

Defining your

test strategy

Transformation > Continuous Testing Framework > Defining a test strategy

Accelerating your software delivery cycle is impossible unless you also accelerate and enhance your approach to software testing. In another article we described the eight steps of the journey to transform your organization into a modern testing organization.

This article will focus on defining your test strategy. You’ll learn about the importance of adopting agile practices. We’ll also walk you through the levels of testing activities, outline the components of a test strategy, explain what goes into a modern tooling strategy, and summarize what it will take to establish your strategy.

Defining your test strategy

A test strategy is an outline that describes the testing approach a company will take in its software development life cycle (SDLC). Because many of today’s teams follow the principles of agile development, they should also follow the principles of agile testing. To that end, adopting to agile testing is a key element of defining a test strategy:

  1. Embrace agile testing
  2. Understand the three levels of testing activities
  3. Align the components of your test strategy
  4. Create a modern tooling strategy
  5. Establish your strategy

1

Test strategy

Embrace agile testing

Agile testing encompasses the same test types that testing teams have become accustomed to using in the testing cycle. The difference is that in agile testing, teams must perform these tests more often within a shorter period.

  • Unit testing is usually performed by developers on the code, class, or function level.
  • System testing validates the functionality of the system.
  • System integration testing validates integrations between systems.
  • End-to-end testing validates complete business processes.
  • User acceptance testing gives the team feedback from business users.

Teams may also choose to perform non-functional testing, such as security testing or load and performance testing. Because agile development requires teams to execute each of these types of testing much more frequently, it will be ideal for teams to automate as much as possible.

Automation can not only help you meet the need for speed in agile testing but also help you deal with increasing complexity. Agile teams often must face:

  • Disparate testing strategies. Teams working at different stages, on different processes, and on different applications will tend to use their own testing strategies. These strategies may conflict with those used by other teams.
  • Siloed testing cycles. The testing strategy and resources used by one team are not accessible to other teams.
  • Multiple teams working on one application. For these teams, collaboration and communication are of the utmost importance.

As you scale testing across your organization, challenges like these will result in more dependencies, less efficiency, and higher costs. If you are going to continue meeting your customers’ quality standards, you need to transform your testing practices now with a mind for simplicity and efficiency.

Continue reading this article