Information Technology
Article
News
Case studies
Trainer profiles

Establish a Center of Excellence

Michel Benoit
Establish a Center of Excellence

This article is the 2nd in a series of 5 on best practices in software testing.
Published:
- **Software Testing: Reinventing for Continuous Innovation**
Upcoming:
- 4 Testing Phases to Follow
- A Risk-Based Testing Plan
- How to Get Started with Test Automation

Software testing is not only an essential step in software development but also a strategic lever for organizations looking to innovate and deliver high-quality products. In this article, I will focus on the benefits of establishing a top-tier testing team within your organization. I will also discuss the roles and responsibilities of the members of this team.

Test Team

In most organizations, testers are distributed across various teams, making it difficult to share a common goal. Testing varies from one team to another, resulting in specialists for a single product, for example, a good tester for the "payroll" product. This makes it challenging to standardize the testing process and practices across the organization.

Equipe de test | Technologia

Establishing a test team can greatly resolve these issues. Consider the test team as a center of excellence in this area, which will enable better visibility and knowledge sharing among the teams.

This center of excellence is a team of experts responsible for monitoring the latest trends, technologies, and tools to maximize the value of software testing within the organization. The test team becomes a service for the entire organization, where testing resources are shared among implementation teams. Each tester uses the same toolbox to conduct quality tests. This toolbox includes, among other things: standardized processes, tools and guidelines, testing infrastructure, reusable deliverable templates, standards, training materials, checklists, **dashboards** with their **metrics** on product quality and testing quality.

Benefits of the Test Team

Just like the accountant and the auditor or the contractor and the building inspector, the test team ensures independence between the implementer and the verifier. It separates the team that develops a product from the one that verifies the product. A test team also offers numerous advantages that contribute to the improvement of software quality, cost reduction, and optimization of development processes. Here are some of the main benefits:

The test team allows:

  • Acting as a center for innovation and test quality.
  • Allocating a good tester-to-developer ratio (1 tester for 3 developers) based on projects.
  • Over time, having testers who have acquired knowledge across all of the organization's products.
  • Ensuring that testing **phases** are not overlooked to meet deadlines and costs, as the test team does not report to the project manager.
  • Reducing the pressure that a project manager can exert on testers.
  • Compelling the project team to collaborate with the tester during the analysis and implementation of the code since the functional analysis deliverable is essential to the testing activity.
  • Identifying and correcting non-conformities and anomalies earlier in the development cycle, thus reducing the number of bugs in production.
  • Training teams on new technologies, techniques, processes, and tools.
  • Being responsible for hiring and integrating testers based on the organization's needs.
  • Centralizing test automation.
  • Centralizing knowledge, licenses, and operational rules that cannot be disseminated to everyone since uniformity is important in automation.
  • Sharing expertise, particularly in test automation, performance, security, and test data management.
  • Enabling the creation and maintenance of uniform documentation, facilitating the reuse of test scripts and test cases.
  • Facilitating experimentation with new methods and technologies to continuously improve testing practices.
  • Promoting better management of cross-system testing since the test team has an overview of software products and their interrelations.
  • Providing additional resources when a workload surge occurs during testing execution.
  • Having dedicated testing resources.
  • Developing testing expertise within the organization.

Roles and Responsibilities of the Test Team

Test Manager

Manages the test team and the planning elements for testing:

  • Manages resource aspects, budget, schedule, and communications with clients and stakeholders.
  • Participates in coordination meetings and presents test results.
  • Validates that tests are designed, executed, and documented productively.
  • Ensures that testing techniques are established and developed within the team.
  • Maintains connections with implementation teams.
  • Approves the production deployment of the product.

Test Designer

  • Prepares the testing strategy and plans to effectively organize and follow up on tests under their responsibility.
  • Approves unit tests (approves product delivery).
  • Identifies all necessary test cases to validate the application.
  • Recovers relevant test cases from previous test logs.
  • Coordinates the drafting of test cases and the development of scripts necessary for automation.
  • Tracks detected anomalies and ensures that inconclusive tests are redone.
  • Measures results and progress of trials.

Test Analyst

  • Writes test cases (test procedures + unit test evidence).
  • Ensures that all software requirements are met.
  • Develops the testing schedule and provides unit test evidence.
  • Executes test cases.
  • Documents results (test report).
  • Updates the anomaly database.

Tester

  • Primarily focuses on executing test cases defined by the test analyst or test designer.
  • Documents results (test report).
  • Updates the anomaly database.

Test Scripter

  • Sets up the required testing environment for executing tests.
  • Develops automated tests as requested by the test analyst.
  • Develops, converts, and ensures the availability of input data for tests.
  • Executes automated tests.

Technical Writer

  • Develops user documentation for the application.
  • Develops training materials.
  • Supports the test team as needed by becoming a tester.

Note that the roles of test manager and test designer can be assigned to a single person. The same applies to the test analyst and tester roles. Functional analysts can assist in documenting tasks, and may even become members of the test team to aid in executing manual and automated test cases.

Conclusion

The test team is not limited to simply detecting bugs; it plays a key role in the continuous improvement of IT systems and software products, as well as in the optimization of testing and development processes. It helps ensure objectivity and efficiency in evaluations.

In the next article, I will address the different testing phases and best execution practices during a testing period.

To go further:

Quality: The Basics and Best Practices of Software Testing

 

Quality: plan and execute your software testing activities

 

Software testing : implementing a team in the organization

 

Software Testing: Applying the Best Practices Using the Agile Mode

 

Quality assurance: create your software quality and testing dashboards

Similar articles

See all our articles