Background

Continuous Testing Framework

Foster collaboration across teams

Author:

Jori Ramakers

Director, Customer Experience Strategy

Introduction

The Continuous Testing Framework (CTF) is designed to describe the roles, processes, skills, and tools organizations will need to establish modern testing practices. Collaboration is a key component of a high-performing development organization. It enables organizations to ensure their teams are working together effectively as they scale up their testing.

Consider how this collaboration would take place at the Team, Program, and Enterprise levels of an organization.

1

Team level

A team is defined as a group of people responsible for delivering a product. This team can work autonomously, making its own decisions about tools and processes. However, this situation is very rare—it tends to occur only in small organizations. The typical organization has a much more complex, connected IT landscape.


In a modern, agile development organization, there is normally more than one team involved in developing and testing applications. Having multiple teams allows an organization to build more complex products to meet ever-changing customer needs. When multiple teams are involved, responsibilities overlap and dependencies form.


Business processes run across many different teams that must work together to deliver valuable features and working functionality. Dedicated roles at the Team level ensure that all your teams are speaking the same language and not working at cross-purposes.


Organizations should designate two roles that will execute testing at the Team level. Roles define the skillsets that are required and not the number of resources in the team. For example, one person can play multiple roles or multiple people can play the same role:

  • The Automation Specialist creates automated, standardized, reusable tests that will be integrated into the provided toolset.
  • The Test Analyst performs risk analysis to redefine continuously the smoke test, regression, and progression portfolio and exploratory tests.

 

Your Automation Specialists and Test Analysts who work at the Team level will focus on performing system testing on new and existing functionality in a sandboxed environment to ensure that it is functioning properly. Through a fully automated continuous delivery pipeline, the team will get fast, reliable feedback.

2

Program level

At the Program level, organizations will perform system integration testing (SIT) to verify working features and functionalities that were delivered by more than one team. Who should execute at this level of testing? Putting this responsibility on members at the Team level would greatly reduce the teams’ delivery velocity. Taking system integration testing responsibilities away from these teams allow them to focus on their main system.

The System Team will execute system integration test scenarios that run across multiple teams, applications, or processes. These scenarios are assembled from test artifacts created at the Team level.


To ensure testing is streamlined, organizations should designate specific roles to coordinate and execute these tests.

  • The Program Test Architect works with multiple teams to define the test strategy and testing tool chain for a program (or line of business). This role requires a combination of operational and strategic expertise to support teams and the enterprise by orchestrating tooling decisions.
  • The Program Automation Engineer focuses on enhancing the team’s capabilities from a technology and tooling standpoint. This role builds upon existing tools, customizes them to the needs of the teams, and integrates them into the delivery pipeline. The Program Automation Engineer also trains team members in tool usage best practices.

3

Enterprise level

At the Enterprise level of CTF, an organization seeks to establish end-to-end (E2E) testing. This important testing type sits in the center of testing activities and will be closest to the expected user experience.

Once an organization has coordinated testing across multiple teams, it is well on the way to achieving end-to-end testing. At this point, there are still no formal guardrails at the Enterprise level to ensure that the right people are using the right tools as they work within the defined testing strategy. To address strategic decisions and to continuously improve the guardrails, it’s essential for organizations to form an Enterprise Enablement team.


The Enterprise Enablement Team is usually made up of experts taken from various teams throughout the organization.

These roles are

  • The Enterprise Test Architect will make key decisions about the enterprise’s testing strategy. This role serves as the touchpoint for high-level decisions that affect testing. The Test Architect will constantly review the testing strategy to make sure it is still appropriate for the environment and will continuously research technology that can improve testing processes and adapt to changes.
  • The Enterprise Automation Engineer will define the strategy and tools for continuous testing from a global perspective.


Together, these professionals provide testing expertise in a shared services model, often through a services catalog that is available to any team that needs assistance:

  • Strategy – The team will design the test strategy for the enterprise by collaborating with various stakeholders. The strategy will provide a framework for testing by specifying the testing scope, testing methodology, metrics, operating model, and what to report
  • Continuous Testing – The team will also determine which tools to use, orchestrate tooling decisions, determine how to integrate the tools, and match the requirements with the delivery pipeline. The team will own the continuous testing process and work to make continuous improvements so that the process remains as effective as possible.
  • Test Management – The team will optimize reporting to ensure the right stakeholder gets the right feedback at the right time. They will determine what kind of visibility is required on the Team, Program, and Enterprise level, tailoring information to specific audiences. By enabling the organization to make data-driven decisions, the Enterprise Enablement team can help them steer their testing resources efficiently.
  • Data Management – The team will implement the test data management strategy for the entire enterprise and will take care of tooling and solutions to fulfill compliance and data regulations.

LEARN MORE ABOUT THE ENTERPRISE ENABLEMENT TEAM


In addition, the System Team will work at the Enterprise level, but with a different scope than at other levels. At the Enterprise level, organizations will require fewer tests, but the tests will be more complex because they will simulate, even more, the customer experience and processes. The System Team will execute these tests. To ensure that they can complete the tests quickly and on schedule, they reuse testing artifacts.

4

The path to collaboration

As an organization scales up continuous testing and adopts agile methodologies, it may set goals of increasing efficiency and reducing costs. It should also aim to foster learning and sharing across its teams, so that as many teams as possible can grow and improve from modern testing practices.

You can amplify continuous learning and improvement by:

  • Forming communities of practice
  • Developing efficient handovers
  • Establishing standard touchpoints with other teams
  • Ensuring there is always someone “on the other side” who can help any team that may be struggling
    Organizations can furthermore speed up the testing cycle and shift testing left by using service virtualization.


By establishing feedback loops and emphasizing constant improvement of their testing practices, organizations can make steady progress towards continuous testing.

Collaboration is an essential—yet often overlooked—component of a high-performing development organization. When your organization collaborates at the Team, Program, and Enterprise levels, you can amplify continuous learning and drive steady improvement of your testing processes.

Author:

Jori Ramakers