Home > Software Quality Tips > Software Testing > Who does what in a Testing Center of Excellence?
Software Quality Tips:
EMAIL THIS
 TIPS & NEWSLETTERS TOPICS 

SOFTWARE TESTING

Who does what in a Testing Center of Excellence?


David W. Johnson
10.04.2007
Rating: -4.47- (out of 5)


Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us   


The previous article in this series, "Improved software testing via a Testing Center of Excellence," covered the basic structure of a Testing Center of Excellence (TCE) and gave a brief overview of the roles and responsibilities that exist within the structure of a TCE. Let's take a closer look now at the specific responsibilities each participant has.

The TCE creates 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 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. 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.

[IMAGE]

Figure 1: 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 the following:

  • Environment specialist
  • Quality assurance
  • Testers

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 -- any environment activities/roles that are for the 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 to the TCE core team. Q...


Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us   



RELATED CONTENT
Software Testing
How to stop developer vs. tester, quality-killing blame game
How to apply modeling techniques to support software testing
Calculating mean time to failure in performance testing
The lowdown on PCI compliance
5 ways to answer executives' unfair software test, QA questions
10 steps to acing Web app security assessments
Three software regression testing steps can perfect defect fixes
Exploring mobile layout testing, emulators and goals
Preparing for testing applications in the cloud
Hack maliciously to boost your software's security

Software testing and quality assurance (QA) fundamentals
Software Testing: New software testing technologies bring new challenges
Testing strategies for complex environments
Astronaut's STPCon advice: Teamwork delivers "The Right Stuff"
How to make your software tamperproof
Software consortium seeks standard quality metrics
Demo: Using WebGoat, a free software testing tool
Seven steps for a quality change and configuration management program
Winning responses to "Why is QA always the bottleneck?"
Where to find good methodology guides for software testing
5 ways to answer executives' unfair software test, QA questions

Software testing models and approaches (Context-driven, Factory, Analytic, Quality, IV&V)
Software Testing: New software testing technologies bring new challenges
Software Testing Ezines
Recognizing appropriate scenarios for context testing
Rich Internet applications security testing checklist
Seven steps for a quality change and configuration management program
How to create performance testing workload models
How to apply modeling techniques to support software testing
Transitioning from AJAX to .NET what changes to expect in RIA's
Oracle VM Template Builder aims to speed deployment of VMs
Why automated software testing fails and pitfalls to avoid

RELATED GLOSSARY TERMS
Terms from Whatis.com − the technology online dictionary
build  (SearchSoftwareQuality.com)
code review  (SearchSoftwareQuality.com)
conformance testing  (SearchSoftwareQuality.com)
error handling  (SearchSoftwareQuality.com)
garbage in, garbage out  (SearchSoftwareQuality.com)
load testing  (SearchSoftwareQuality.com)
NUnit  (SearchSoftwareQuality.com)
quality assurance  (SearchSoftwareQuality.com)
stress testing  (SearchSoftwareQuality.com)
white box  (SearchSoftwareQuality.com)

RELATED RESOURCES
2020software.com, trial software downloads for accounting software, ERP software, CRM software and business software systems
Search Bitpipe.com for the latest white papers and business webcasts
Whatis.com, the online computer dictionary


uality 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.

Test manager responsibilities

  • Champion the test competency center
  • Escalate test issues for resolution
  • Manage TCE human resources and budget
  • Police testing methodology usage
  • Assist in establishing and maintaining Service-Level Agreements (SLA)
  • Provide SLA knowledge to project teams

The role of test lead/manager is to effectively lead the testing teams. To fulfill this role, the test lead must understand the discipline of testing and how to effectively implement a testing process while fulfilling the traditional leadership roles of a manager. That means the manager must manage and implement or maintain an effective testing process. This involves creating a test infrastructure that supports robust communication and a cost-effective testing framework.

Test lead/manager responsibilities

  • Define and implement the role testing plays within the organizational structure.

  • Define the scope of testing within the context of each release/delivery.

  • Deploy and manage the appropriate testing framework to meet the testing mandate.

  • Implement and evolve appropriate measurements and metrics.

    • To be applied against the product under test
    • To be applied against the testing team

  • Plan, deploy and manage the testing effort for any given engagement/release.

  • Manage and grow testing assets required for meeting the testing mandate:

    • Team members
    • Testing tools
    • Testing process

  • Retain skilled testing personnel.

Managing or leading a testing team is probably one of the most challenging positions in the IT industry. The team is usually understaffed and lacks appropriate tooling and financing. Deadlines don't move, but the testing phase is continually being pressured by product delays. Motivation and retention of key testing personnel under these conditions is critical. How do you accomplish this seemly impossible task? I can only go by my personal experience as a lead, manager and a team member:

  • If the timelines are impacted, modify the test plan appropriately in terms of scope.

  • Clearly communicate the situation to the testing team and project management.

  • Keep clear lines of communication with development and project management.

  • Whenever possible sell, sell, sell the importance and contributions of the testing team.

  • Ensure the testing organization has clearly defined roles for each member of the team and a well-defined career path.

  • Measure and communicate the testing team's return on investment. For example, if the detected defect would have reached the field, what would have been the cost?

  • Explain testing expenditures in terms of investment (ROI), not cost.

  • Finally, never lose your cool.

Test architect responsibilities

  • Be the keeper of the test architectural vision
  • Formulate the test architectural goals (short and long term)
  • Ensure appropriate software testing tools are selected to meet these goals
  • Integrate tools, processes and methodologies into a cohesive whole
  • Provide testing frameworks and templates to projects
  • Champion the evolution of the TCE architecture

The role of the test architect is to set and keep the test architectural vision for the TCE. This is probably the most critical role within any TCE and should be undertaken only by senior testing personnel who have experience as a test manager, test methodologist, test designer or test automation engineer across several industries. The test architect is responsible for selecting and integrating the appropriate set of tools, processes and procedures to ensure overall testing efficiency. The test architect works closely with the TCE manager, test methodologist, senior test automation engineers, software vendors and quality assurance when formulating and implementing the testing framework.

Test methodologist responsibilities

  • Provide education to resources on the testing methodology
  • Work with QA for continuous improvement of the testing methodology
  • Provide guidance to project resources on applicable use of the methodology and project organization for testing
  • Evaluate and recommend approval of test strategies
  • Ensure proper methodology coverage of the technical testing processes

The role of the test methodologist is to provide the process, procedures and templates that support effective test design/testing. These include processes and procedures to support:

Test case design
A test case design is not the same thing as a test case. The design captures what the test designer/tester is attempting to accomplish with one or more test cases. This can be as informal as a set of notes or a formal deliverable that describes the content of the test cases before the actual tests are implemented.

Test case construction
A test case is a sequence of steps designed to test one or more aspects of the application. At a minimum, each test case step should include a description of the action, supporting data and expected results. The test case deliverable can be captured using a "test case template" or by using one of the several commercial, freeware or shareware tools available.

Test case execution
Test case execution is the actual running or execution of a test case. This can be done manually or by automated scripts that perform the actions of the test case.

Capturing test results
Capturing test results is a simple itemization of the success or failure of any given step in a test case. Failure of a test case step does not necessarily mean that a defect has been found; it simply means the application did not behave as expected within the context of the test case. There are several common reasons for a test case step to fail: invalid test design/expectations, invalid test data or invalid application state. The tester should ensure that the failure was caused by the application not performing to specification and that the failure can be replicated before raising a defect.

Documenting defects
The tester documents any defects found during the execution of the test case. The tester captures the tester name, defect name, defect description, severity, impacted functional area and any other information that would help in the remediation of the defect. A defect is the primary deliverable of any tester; it is what is used to communicate to the project team.

Test coverage analysis
The tester must determine if the testing mandate and defined testing scope have been satisfied. Then he must document the current state of the application. How coverage analysis is performed is dependent on the sources available to the tester. If the tester is able to map test cases to well-formulated requirements, then coverage analysis is a straightforward exercise. If that is not the case, the tester must map test cases to functional areas of the application and determine if the coverage is "sufficient." This is obviously more of a "gut-check" than a true analysis.

Test automation engineer responsibilities

  • Be skilled in the practical use of testing tools
  • Train end users on usage of testing tools
  • Administer the testing tools
  • Provide information on upgraded and new testing tools
  • Perform technical testing (performance, stress, capacity, etc.)

The role of the test automation engineer (test engineer) is to design, build, test and deploy effective test automation solutions. To fulfill this role, the test engineer applies appropriate automation technologies to meet the short- and long-term goals of the testing organization. The objective is to automate as much of the testing effort as possible with a minimum set of code/scripts. The focus should be on test effort, not testing coverage. If one manual test case or manual test preparation process consumes a large percentage of test resources, then this manual process should be the first to be automated.

System matter experts -- industry trend specialist responsibilities

  • In-depth knowledge of a particular industry trend
  • Adapt methodology to include trend-specific processes (i.e. data aging)
  • Advise on test depth and applicability of test stages for trend

System matter experts (SME) or business analysts (BA) may or may not exist within the context of the TCE. If the TCE is an internal organization, then the SMEs and/or BAs will probably exist as a distinct entity within the overall organization. In that case, the TCE must partner closely with the SMEs and/or BAs to ensure the business being tested is clearly understood. If the TCE is an external organization (outsourced), then the TCE should contain SMEs and/or BAs that act a liaisons to the client and as TCE experts to ensure the business being tested is clearly understood.

TCE coordinator responsibilities

  • Schedule shared project resources (human and environmental)
  • Manage reusable business components of test (plans, cases, data, schedules, scripts)
  • Publish testing schedules

The role of the TCE coordinator is to schedule the consumption of TCE resources, including software, hardware and human resources. The TCE coordinator works closely with the TCE managers, architect and environment specialist to ensure the schedule can deal with any planned (or unplanned) overlaps of resources. This is a classic resource matrix, but in the case of a TCE it must be communicated to all TCE partners and clearly understood. This is especially true when multiple clients/partners share a common resource pool.

Environment specialist (lab support) responsibilites

  • Administer hardware, software and networks (applications and systems)
  • Perform technical capacity planning
  • Support technical testing (performance, stress, capacity, etc.)
  • Provide primary interface to technical support groups
  • Provide technical consulting to project teams
  • Manage reusable technical components of testing
  • Monitor technical environment during testing

The role of the environment specialist (lab "rat") is to ensure the hardware -- and to a certain extent the software -- of the TCE will support all planned testing activities. The environment specialist is analogus to a chief mechanic -- he keeps it all running.

This preliminary introduction into the roles and responsibilities of the TCE team will be followed by articles on each of the roles, starting with the role of a test automation engineer.

-----------------------------------------
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.


Rate this Tip
To rate tips, you must be a member of SearchSoftwareQuality.com.
Register now to start rating these tips. Log in if you are already a member.


Submit a Tip




DISCLAIMER: Our Tips Exchange is a forum for you to share technical advice and expertise with your peers and to learn from other enterprise IT professionals. TechTarget provides the infrastructure to facilitate this sharing of information. However, we cannot guarantee the accuracy or validity of the material submitted. You agree that your use of the Ask The Expert services and your reliance on any questions, answers, information or other materials received through this Web site is at your own risk.



Software Design & Testing - Project Management
About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
SEARCH 
TechTarget provides technology professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective purchase decisions and managing their organizations' technology projects - with its network of technology-specific websites, events and online magazines.

TechTarget Corporate Web Site  |  Media Kits  |  Site Map




All Rights Reserved, Copyright 2006 - 2009, TechTarget | Read our Privacy Policy
  TechTarget - The IT Media ROI Experts