The Testing Center of Excellence (TCE) brings testing specialists to engagements, as required, to ensure the proper software testing techniques are applied on an engagement-by-engagement basis. How does a TCE accomplish that? By creating a group of testing specialists and technical testing components that can be used to leverage testing knowledge, technology, methodology and resources across suitable engagements.
The TCE structure gives the testing effort the discipline required to supply the organization with an accurate answer to the question of how closely the constructed product meets the organizational requirements. This allows for informed decision making on the implementation and support of a product.
Figure 1: Testing Center of Excellence Model
How does the TCO help senior managers who have to make key decisions related to product, services and operations?
What is testing? Testing is the process of measuring a product in terms of the specifications used to construct the product. Testing should answer the question: How closely does the constructed product meet the organizational requirements for the product? An undisciplined approach to testing often leads to product failure in the field with the associated costs of failure and remedial actions being incurred.
Why successful businesses are looking at testing
Business is coming under significant pressures to increase productivity and operational effectiveness. Global competition and the digital economy are requiring organizations to rethink how they do business. Figure 2 depicts the issues of competition, global opportunities, technology advances, customer demands, supplier/channel partnerships, acquisition/merger opportunities and employee turnover. These pressures are forcing businesses to make faster, higher-quality decisions and to deliver products faster and with improved quality.
Effective testing gives your organization a critical business advantage by providing accurate information on the status of a product, or a product enhancement, before it reaches the market. This allows the organization to take appropriate remedial actions before implementation and plan appropriate post-implementation support.
Figure 2: Driving Factors for Business
TCE Straw Model
The TCE model will help in creating a group of testing specialists and technical testing components that can be used to leverage testing knowledge, methodology and resources across all engagements. The testing specialists will educate and supplement the testing resources that exist within each project team. This will allow for maximum project penetration with a minimum number of human resources.
The TCE will build a base of best testing practices that can be shared. Reusability of test deliverables such as test plans, test cases, test automation, fault reports, etc. will be promoted though the TCE. This group will maintain the deliverables as they are created and provide them as a framework and samples for future efforts. This process will increase the efficiency of the testing effort as reusable components grow.
Figure 2: TCE Structure
The TCE core team includes the following:
- Test managers
- Test architects
- Test methodologists
- Test automation engineers
- System matter experts (industry experts)
- TCE coordinators
This team is strongly partnered with these groups:
- Environment specialists
- Quality assurance
These are roles and responsibilities, not resources. Therefore, one resource could fulfill multiple roles within the TCE structure. The environment specialist role is included, but with a proviso that any environment activities/roles that benefit of the entire project/organization are not part of TCE, such as configuration management.
The roles of quality assurance and testers are not included within the TCE, but they are closely partnered with the TCE core team. Quality assurance is a discipline unto itself that should be consulted by the TCE to improve the TCE model, processes and deliverables. Testers are members of the testing team that will benefit from TCE participation.
Let's take a look at the roles of each team member.
- Is the champion for the test competency center
- Escalates test issues for resolution
- Manages TCE human resources and budget
- Polices testing methodology usage
- Assists in establishing and maintaining service-level agreements (SLA)
- Provides SLA knowledge to project teams
- Maintains the test architectural vision
- Formulates the test architectural goals (short and long term)
- Ensures appropriate software testing tools are selected to meet these goals
- Integrates tools, processes and methodologies into a cohesive whole
- Provides testing frameworks and templates to projects
- Is champion the evolution of the TCE architecture
- Provides education and resources on the testing methodology
- Works with QA for continuous improvement of the testing methodology
- Provides guidance to project resources on applicable use of the methodology and project organization for testing
- Evaluates and recommends approval of test strategy
- Ensures proper methodology coverage of the technical testing processes
Test automation engineer
- Is skilled in the practical use of testing tools
- Trains end users on usage of testing tools
- Administers the testing tools
- Provides information on upgraded and new testing tools
- Performs technical testing (performance, stress, capacity, etc.)
System matter experts -- industry trend specialist
- Has in-depth knowledge of a particular industry trend
- Adapts methodology to include trend specific processes (i.e. data aging)
- Advises on test depth and applicability of test stages for trend
Environment specialist (lab support)
- Administers hardware, software and networks (applications and systems)
- Performs technical capacity planning
- Supports technical testing (performance, stress, capacity, etc)
- Provides primary interface to technical support groups
- Provides technical consulting to project teams
- Manages reusable technical components of testing
- Monitors technical environment during testing
- Schedules shared project resources (human and environmental)
- Manages reusable business components of test (plans, cases, data, schedules, scripts)
- Publishes testing schedules
A future article will deal specifically with the roles and responsibilities within the TCE and how they should interact with each other.
TCE -- Return on investment (ROI)
The TCE delivers an effective testing structure to an organization that will result in both short- and long-term returns on any investment. With a structure in place, the testing process can now become a mature institutionalized process within the organization. The benefits of a mature Testing Center of Excellence include the following:
- It provides a means of leveraging environmental usage and knowledge as well as human resources across projects. (There are real monetary savings implications here.)
- It provides all project teams with access to testing specialists.
- It provides testing consistency across projects.
- It increases the quality of end products.
- It helps you to meet test schedule and budget commitments.
- It reduces cross-project testing budgets by sharing human and technical resources.
- Testing efforts can be predictable and on target.
About the author: David W. Johnson is a senior computer systems analyst with over 20 years of experience in IT across several industries. He has played key roles in business needs analysis, software design, software development, testing, training, implementation, organizational assessments and support of business solutions. David has developed specific expertise over the past 10 years on implementing "Testware," including test strategies, test planning, test automation and test management solutions. You may contact David at DavidWJohnson@Eastlink.ca.