Issue 1

January 2004
 
 
 

 

 

 
 

Measuring Test Teams

Many organizations find it difficult to measure the effectiveness of their test team. This first technology management note outlines concrete deliverables that provide insight into the accomplishments of the test team. Measuring the test team’s accomplishments helps the quality organization articulate its value and justify current and future investments in quality and testing.


   
 

Get “hooked”!
Being “on the hook” for the ultimate quality of a software product can appear daunting and immeasurable. After all, the quality of a product is the responsibility of many organizations - marketing, product development, product management - and not just the quality organization. However measuring the performance of a test team is beneficial to both corporate management AND the quality team.

Test teams often regard themselves as being tossed about by the sea changes of organizational dynamics, shifting business priorities and poor work product follow-through from other organizations. 

Frequently the test team and its management feel they have many factors working against them. They feel their only recourse is to take on a defensive posture. This usually manifests itself in a number of behaviors that impact the perception of how well the test team communicates and performs. Some of the more common behaviors include

·        Status reports that present test completion as percentages of testing completed,

·        Insistence on re-running all the tests if a change is made to code after testing has started,

·        Test Cases that are not reviewed outside of the test team,

·        Shifting testers onto and off of projects with little or no visibility to the rest of the project team,

·        Etc.

As it turns out, a defensive stance serves no one well. Like any other business function, a test team needs to justify its existence and quantify its contribution. And the number of pizzas consumed by the test team over that long weekend or the number of bugs entered into the database simply doesn’t make the grade!

Quality organizations should be held accountable for deliverables that articulate their accomplishments, pinpoint project sticking points, and provide insight into risk and downstream cost analysis. Quality organization deliverables should be the company’s “executive dashboard”, providing metrics on product readiness that guide informed business decisions. In tandem, these same deliverables continuously evaluate the ROI of your testing and quality assurance organization.

The deliverables described here provide a means of measuring the test team’s levels of activity and effectiveness as they contribute to the quality program.

 

 

Quantifying Quality ROI
Any investment a company makes in additional resources for testing and quality should yield clearly measurable returns. As with anything, you get what you pay for. The key to accountability in testing comes in knowing what to expect as a measure of return for your investment. One way to assess your company’s ROI for its investment in testing is to view accountability as a set of levels. Each level can be characterized by the business costs the company is incurring. There are corresponding deliverables from the test team that provide a measurement of assurance that the investment is not wasted.

Level 1: Testing to catch and remove defects
The first level of investment and associated return/accountability applies where an initial investment has been made in building a Test Team that will off load developers of test activities associated with debugging code. This is one of the most common starting points for investing in quality. This type of testing is also common to product releases that are schedule and budget driven. In these situations most senior managers realize the Test Team cannot be held responsible for defects that reach the field. Rather the team is asked to test efficiently and find the important problems. Product organizations that operate at this level usually limit quality assurance to testing. And, testing is in place to help debug the product before it reaches the customer. None-the-less, the Test Team can be held responsible for four critical deliverables. These deliverables help your project team understand just how much testing is happening and help ensure efficient use of the test resources.

·         Written Test Cases. - Written Test Cases document, in detail, each test that was performed on the product. Even if testing must happen as quickly as possible and without prior planning, at the very least, the testers should write the test cases as the testing takes place. This allows a second test run to cover ground faster and provides a good starting point for future testing. These written test cases also demonstrate the amount and type of testing the team has actually performed.

·         Written Test Plans. - Test Plans document the actual and desirable resource needs for testing the product. They also describe what will be tested and how the team goes about creating and executing the tests. These plans can be very simple. The critical pieces of a plan include people assignments, duration of testing for each functional area being tested, and descriptions of special test environments. This information provides a way of measuring actual resource needs against estimated needs. At the very least these plans form a start for estimating the costs of a second pass of testing or a second release of the product.

·         Test Status Reports. Status Reports document, at regular intervals, the amount of testing performed. In their simplest terms, these status reports should describe for each week and for each functional area being tested how many Test Cases exist and how many have been completed.

·         Written Defect Reports. Defect Reports should be generated for every bug, enhancement request, and issue found by the test team. This information provides insight into the quantity and nature of defects remaining in the product at the time it is released. This documentation ensures that defects are not lost on scraps of paper and buried in emails between developers and testers.

These deliverables provide transparency into the test process and form the foundation for all other measures of return on the investment being made in testing and quality. Without these four types of documentation it becomes difficult to objectively determine if the investment in testing is really worthwhile.

Level 2: Ensuring complete test coverage
The second level of investment and associated return/accountability reflects a commitment in the company to thorough testing of product releases. This level of investment occurs when a company is willing to invest in strong test methodologies and is willing to hold up release of an offering until after all appropriate testing has completed. This level still views testing as primarily a debugging function. The incremental cost here is found in the areas of test planning, status reporting, reviewing plans, and additional staffing.

·         The costs for planning and status are usually associated with asking test leaders and senior test personnel to spend additional time planning tests, developing tests and reporting status in a manner that can be acted upon by the project team. This implies that a Test Team is truly a team with some level of test project lead or management hierarchy. The planning and status reporting activities incur a cost as they divert the leader’s attention from actually performing tests.

·         The costs associated with reviewing derive from asking developers, product managers and other personnel to participate in reviews that contribute to test planning, status evaluation, test scripting, and defect management. The involvement of the cross-functional team at this test level implies that test related responsibilities are now expanding beyond just the Test Team.

·         Staffing costs derive from adding full time and temporary staff that are necessary to accomplish special testing, or planned testing within the desired schedules. Now that there are plans, the project team can legitimately seek additional resources to meet the test coverage and schedule milestones.

The deliverables outlined for Level 1 testing are sufficient to determine that test related activities are taking place with some level of forethought as to their appropriateness. However, the Level 1 deliverables do not provide assurance that testing is fully benefiting from knowledge and skill found outside of the test organization. Nor do the Level 1 deliverables provide a sound basis for evaluating risks associated with schedules and quality. To address these areas, the Test Teams should be held responsible for all the first level deliverables and the following additional items.

·         Standard formats for written Test Cases with required reviews by developers and product managers. The Test Cases should not only reflect what was tested. They should also reflect what should be tested. The standard formats ensure that reviewers become familiar with how to evaluate Test Cases. These formats also allow the Test Team to enhance and extend information as the need for improved Test Case documentation grows.

·         Documented Test Cycle plans for each base level or release. These plans include the definition and execution of quick “verification tests” and Test Cycle Completion Reports. The depth and breadth of testing should change in response to different stages of product development. Documented Test Cycles describe the intended amount and type of testing for each stage. This allows the project team to better understand and influence the amount of planned testing.

·         Formal Defect Management Procedures that include documented processes for assigning severities, priorities, responsibilities and status. These procedures should include involvement of the cross-functional team in reviewing defects. Many times the decision to fix or defer defects is a business decision that impacts the final features of a product and the call load on support organizations. By managing a formal defect review process, the Test Team ensures input from all affected organizations.

·         Graphical and tabular Defect Status Reports that demonstrate trends in arrival and closure rates. Defect arrival rates and closure rates are critically important in assessing the likelihood of releasing a product to a given schedule. These rates also provide insight into the stability of the product development, release and testing process.

Level 3: Introductory Quality Assurance
The third level of investment and associated return/accountability applies when a company invests in more efficient and effective testing and quality procedures. At this stage, the company begins to look at quality assurance in a more comprehensive fashion. However, testing is still primarily focused on debugging the deliverable. The types of costs at this level include investing in tools and procedures that improve test coverage and test efficiency. Additional costs involve increased project management of cross organization processes and investing in automated test development and management.

The investment in this area should be targeted at facilitating a number of test related activities that improve the speed with which tests are executed and improve the test coverage. An important goal of the initiatives at this level is to reduce the number of defects that are first found by customers. This is an important measure of the effectiveness of testing. The Test Team should actively pursue a number of test improvement initiatives. Each of these has associated costs and potential benefits.

·         Implementation of comprehensive Regression Testing. This includes advocacy for and the development of an appropriate test automation program. While an expensive endeavor, certainty in regression testing is a key quality initiative for ensuring that defects do not re-appear in future releases, and that today’s changes do not break past features. Measuring the implementation of regression testing is accomplished using Test Plans and Test Completion Status reports that are specific to this type of testing.

·         Process and technology tie-in for customer service issues with the Defect Management Procedures. A tight coupling of customer reported problems with defect management provides assurance that customer complaints are receiving attention inside of the development program. This also facilitates tracking of customer reported defects within the design and implementation process. This in turn provides Customer Service with tools for assuring customers they are being heard and their problems are being appropriately addressed.

·         Use of instrumented test environments to accurately determine the level of test coverage. Instrumented testing provides insight into how much of a deliverable is actually being tested by the documented Test Cases. This information is important for improving test coverage. It also provides insight into how much redundancy exists in the test process. By understanding what is covered by tests and where redundancy exists, the project team can make informed tradeoffs regarding what tests are absolutely necessary for any given change in the deliverable. This in turn can lead to shorter test cycles especially near the end of a project when last minute changes are so important and also potentially risky.

·         Creation and management of dedicated test systems and test labs. Test labs provide the test team with environments they can better tailor for emulating customer environments. When evaluating the return on the investment in test labs, there are three key questions the Test Team should answer. 1) How will the test team use the lab to speed up the execution of tests? 2) How will the test team setup and use the lab to execute important tests they could not execute without a lab? 3) If automated tests are being used, how will the lab be used to reduce test development time and increase test execution speed?

·         Documented plans and procedures for emulating customer environments and data. The actual cost of establishing emulated customer environments is often overlooked. Furthermore, a hidden cost involves selecting the appropriate customer environments in the first place. By requiring plans and then measuring progress against these plans, you are more likely to end up with efficient and effective emulations of customer environments. The planning process also facilitates involvement of cross functional groups like sales, product management, customer support, and business line management. Each of these groups brings insights into what is important and what can be ignored when developing and maintaining emulated customer environments.

Beyond Testing: Quality Program Definition and Management
As a company looks to move beyond testing and toward defect prevention and true quality assurance, a number of investments and associated returns can be realized. This is the area of Quality Program Definition and Management. We will save this discussion for a future technology note.

 

Discussion
A company can use the levels described above to help it develop and manage an investment strategy for testing and quality assurance. These levels not only provide a framework for discussing investments in testing, they also provide a basis for determining how to measure the return on those investments. In short, the company can measure, with some clarity, how the test team is performing.

Many companies implement a Quality Assurance organization that is really just a Test Team. This team serves the very important purpose of helping the developers debug their releases. When a company invests in test initiatives there should be tangible deliverables and measurable results. The measures described in this note provide a basis for evaluating further investments in quality assurance and improved product development methodologies.


 

Managing Technology, LLC
Managing Technology provides pragmatic interim management and advisory services to senior managers and project teams that are developing and delivering software products and services. Managing Technology has directly participated in delivery of hundreds of software releases in companies that range from Internet startups to the Fortune 500. Managing Technology has directly constructed or consulted on the re-directing of dozens of new quality assurance organizations, quality programs, project management teams, and software and product lifecycles. Additional information about Managing Technology, LLC can be obtained by contacting
www.managing-technology.com

Tony Troppito