A Model to Assess Testing Process Maturity

Ilene Burnstein, Ariya Homyen, Robert Grom, C.R. Carlson
Illinois Institute of Technology

 

This article describes a test process assessment model based on the Testing Maturity ModelSM (TMM) we have reported on in this publication. We discuss the test process assessment procedure, assessment inputs and outputs, the assessment questionnaire, and team selection and training criteria associated with the TMM Assessment Model (TMM-AM). Forms and tools to support test process assessment are also described, and we report on preliminary experiments with the TMM questionnaire.

SOFTWARE SYSTEMS CONTINUE to have an increasingly strong impact on vital operations such as military, medical, and telecommunication systems. For this reason, it is imperative that we address quality issues that relate to both the software development process and to the software product. Our research focuses on process. We are developing a TMM designed to help software development organizations evaluate and improve their testing processes [1, 2]. Testing is applied in its broadest sense to encompass all software quality-related activities. We believe that improving the testing process thorough application of the TMM maturity criteria will have a highly positive impact on software quality, software engineering productivity, and cycle time reduction efforts.
     In previous Crosstalk articles (August 1996, p. 21; September 1996, p. 19), we have reported on our approach to building Version 1.0 of the TMM [1, 2]. We have also described the internal structure of the TMM, including its maturity levels, associated maturity goals, subgoals, activities, tasks, and responsibilities. In this article, we describe the TMM-AM, which is designed as a tool with which organizations may assess, evaluate, and improve their software testing processes.

An Overview of the TMM
Development of the initial version of the TMM, as we have described in previous articles, was guided by the work done on the Software Capability Maturity Model, a process improvement model that has received widespread support from the U.S. software industry [3]. TMM, Version 1.0 has two major components [1, 2], which are discussed below.

Set of Levels
The characteristics of each level are described in terms of organizational goals and testing capability. Each level, with the exception of Level 1, has a structure that consists of

  • A set of maturity goals - these identify testing improvement goals that must be addressed and satisfied to achieve maturity at that level (Figure 1).
  • Supporting maturity subgoals - these define the scope, boundaries, and needed accomplishments for a particular level.
  • Activities, tasks, and responsibilities (ATR) - these address implementation and organizational adaptation issues at a specific level. Activities and tasks are defined in terms of actions that must be performed at a given level to improve testing capability; they are linked to organizational commitments. Responsibilities are assigned for these activities and tasks to three groups that represent the key participants in the testing process: managers, developers and testers, and users and clients.

Figure 1. The 5-level structure of the TMM
Figure 1. The 5-level structure of the TMM.

The Assessment Model
The TMM-AM can help organizations assess and improve their testing processes. The TMM (levels, maturity goals, subgoals, and ATRs) serves as its reference model. The outputs of a TMM assessment allow an organization to

  • Determine its level of testing maturity (on a scale from 1 to 5).
  • Identify its testing process strengths and weaknesses.
  • Develop action plans for test process improvement.
  • Identify mature testing subprocesses that are candidates for reuse.

     The remainder of this article discusses the TMM-AM in greater detail.

The TMM-AM: Development Approach
The TMM-AM has the following research objectives.

  • Provide a framework, based on a set of principles in which software engineering practitioners could assess and evaluate their software testing processes.
  • Provide a foundation for test process improvement through data analysis and action planning.
  • Contribute to the growing body of knowledge in software process engineering.

     We have used the Capability Maturity Model (CMM) and Software Process Improvement and Capability Determination (SPICE) assessment models to guide development of the TMM-AM [3-6]. We wanted the resulting TMM-AM to be CMM Appraisal Framework (CAF) compliant [5] and integratable with the CMM assessment model so that organizations could one day perform parallel assessments in multiple process areas. A set of 16 principles has been developed to support TMM-AM design. For example, a testing process assessment model should

  • Be based on a testing maturity model as its reference model.
  • Support test process improvement so that an organization can achieve software product and process quality goals.
  • Provide a profile of an organization's testing process capability.
  • Help an organization make decisions about where to improve its testing process in order to achieve testing process maturity.
  • Be integratable with other assessment models.
  • Provide high-quality data and repeatable, reliable results.
  • Provide visibility to the testing process.

The TMM-AM Components
Based on the 16 principles, the CMM assessment model, SPICE, and the CAF [3-6], we have identified a set of inputs and outputs and have developed a set of three components for the TMM-AM:

  • The assessment instrument (a questionnaire).
  • The assessment procedure.
  • Team training and selection criteria.

     A set of inputs and outputs is also prescribed for the TMM-AM. The relationship between these items is shown in Figure 2. A discussion of the components follows.

Figure 2. The TMM assessment process
Figure 2. The TMM assessment process: components, inputs, and outputs.

The Assessment Procedure
The TMM-AM assessment procedure consists of a series of steps that guide an assessment team in carrying out a testing process self-assessment. The principle goals are to

  • Ensure the assessment is executed with efficient utilization of the organization's resources.
  • Guide the assessment team as to who to interview and how to collect, organize, and analyze assessment data.
  • Support the development of a test process profile and the determination of a TMM level.
  • Guide the assessors in developing action plans for test process improvement.

     A brief summary of the steps in the assessment procedure follows:

Preparation
This includes selecting and training the assessment team, choosing the team leader(s), developing the assessment plan, selecting the projects, and preparing the organizational units that are participating in the assessment. A statement of assessment purpose, scope, and constraints is also prepared to guide the development of the assessment plan.

Conducting the Assessment
The team collects and records assessment information from interviews, presentations, questionnaires, and relevant documents. All collected information must be protected by a confidentiality agreement. The TMM level of the organization is determined by analysis of the collected data and use of a ranking algorithm.
     Our TMM-AM ranking algorithm is similar to the algorithm described by S. Masters, et al., in their work on the CAF [5]. First, it requires a rating of the maturity subgoals, then the maturity goals, and finally the maturity level [7]. Our "degree of satisfaction" measure with respect to the maturity subgoals and goals is more fine-grained than the corresponding measure in the Masters model. Our purpose was to provide more detailed information to identify test process strengths and weaknesses. We also provide guidance for prioritization of goal areas needed for test process improvement.

Reporting the Assessment Outputs
The TMM-AM outputs include a process profile, a TMM level, a statement of test process strengths and weaknesses, and the assessment record. The assessment team prepares the process profile, which gives an overall summary of the state of the organization's testing process. The profile is based on analysis of the assessment data and results of the ranking process. The profile can be presented as a graphical display or in the form of a matrix that indicates maturity goals and subgoals that are satisfied, not satisfied, not applicable, or not rated. The profile also includes the TMM level, a summary of test process strengths and weaknesses, and recommendations for improvements.
     The assessment record is also completed in this step. This written account includes

  • Names of assessment team members.
  • Assessment inputs and outputs.
  • Actual schedules and costs.
  • Tasks performed.
  • Task durations.
  • People responsible.
  • Data collected.
  • Problems that occurred.

     The assessment outputs can be delivered as a presentation or a written report (the final assessment report) or both.

Analyzing the Assessment Outputs
The assessment team uses the assessment outputs to identify and prioritize goals for improvement. An approach to prioritization is described in [7]. Quantitative test process improvement targets need to be established in this phase so they can support the action plans developed in the next step.

Action Planning
An action planning team develops action plans that focus on improvements in the high-priority areas identified in the previous step. The action planning team can include assessors, Software Engineering Process Group members, software quality assurance staff, or opinion leaders chosen from among assessment participants [8]. Inputs to action planning include the final assessment report, the process profile, and prioritized areas for improvement.
     The action plan describes specific actions needed to improve existing practices (and to support the addition of missing practices) so the organization can move to the next TMM level. The action plan, like all other software engineering project plans, should include measurable goals, tasks, responsibilities, resources required, risks and benefits, and reporting and tracking mechanisms. Action planning can be accomplished through the convening of a workshop directed by the action planning team. The result should be a draft of an action plan. The workshop members should also identify pilot projects that will implement the new process.

Implementing Improvement
Developed and approved action plans can be applied to selected pilot projects, which are monitored and tracked to ensure task progress and achievement of target goals. Favorable results set the stage for organizational adaptation of the new process.

The TMM Assessment Questionnaire
Assessment instruments are needed to help collect and record assessment information, maintain a record of results, and provide information for assessment post-mortem analysis. We use the questionnaire as our assessment instrument because it

  • Supports CAF compliance.
  • Facilitates integration with other process assessment instruments.
  • Ensures assessment coverage of all activities, tasks, and responsibilities identified in each maturity goal for each level of the TMM.
  • Provides a solid framework in which to collect and store assessment data.

     Our choice was also influenced by the success of the CMM questionnaire as an assessment instrument [3]. The TMM questionnaire consists of eight parts:

  • Instructions for use.
  • Respondent background.
  • Organizational background.
  • Maturity goal and subgoal questions.
  • Testing tool use questions.
  • Testing trends questions.
  • Recommendations for questionnaire improvement.
  • A glossary of testing terms [4, 7].

     Components 2 and 3 of the questionnaire gather information about the respondent, the organization, and the projects that will be involved in the TMM assessment. Maturity goal and subgoal questions in component 3 are organized by TMM Version 1.0 levels, and include a developer or a tester, a manger, and a client or a user view. The questions determine to what extent the organization has in place mechanisms to achieve the maturity goals and resolve maturity issues at each TMM level. The responses are input to the ranking algorithm that determines a TMM level.
     The testing tool component records information about type and frequency of tool use. This information can help the action planning team make recommendations for future tool usage. We added the testing trends section to provide a perspective on how the testing process in the organization has evolved over the last several years. This information helps the assessment team prepare the assessment profile and assessment record.
     The recommendations component allows each respondent to give the TMM-AM developers feedback on the clarity, completeness, and usability of the questionnaire. A complete TMM questionnaire is found in [7]. The questionnaire can also be found on the Web site noted in the "Forms and Tools for Assessment Support" section of this article.

Assessment Training and Team Selection Criteria
Self-assessment of your organization's testing process requires a trained assessment team, the members of which are selected from within the organization [7]. Team members should be selected in a manner that ensures that they understand assessment goals, have the proper knowledge experience and skills, have strong communication skills, and are committed to improving the testing process. Assessment team size should be appropriate for the purpose and scope of the assessment.
     We have adapted SPICE guidelines to select and prepare an effective assessment team [6, 7]. Preparation is conducted by the assessment team leader who is experienced in TMM assessments. Preparation includes topics such as an overview of the TMM, process management concepts, interviewing techniques, data collection, and data analysis. Training activities include team-building exercises, a walk-through of the assessment process, filling out a sample questionnaire, performing data analysis, and learning to prepare final reports.

Forms and Tools for Assessment Support
We have developed several forms and templates and a tool that implements a distributed version of the TMM questionnaire to support a TMM assessment team [7, 9]. These tools are important to ensure the assessments are performed in a consistent, repeatable manner, to reduce assessor subjectivity, and to ensure the validity, usability, and comparability of the assessment results. Tools and forms also help to collect, formalize, process, store, and retrieve assessment information. The tools and forms we have developed include the Process Profile and Assessment Record forms, which have been described in previous sections of this article, and also include

  • Team Training Data Recording Template - This allows the team leader to record and validate team training data. This data can be used in future assessments to make any needed improvements to the assessment training process.
  • Traceability Matrix - This matrix is filled in as assessment data is collected, allows the assessors to identify sources of data, resolve data related issues, and ensure the integrity of the data.
  • Web-Based Questionnaire - A complete version of the TMM-AM questionnaire is at http://www.csam.iit.edu/~tmm. The Web-based questionnaire was designed so that assessment data could easily be collected from distributed sites and organized and stored in a central data repository that could be parsed for later analysis [9]. Developed using an HTML-based development tool, it runs on multiple operating systems, allowing data collection from users around the world, thus providing support for test process assessment to local and global organizations. A detailed description of tool development is given [9]. The Web-based questionnaire and links to supporting information related to the TMM is found at the above Web site. We welcome comments and recommendations.

Preliminary Results on Questionnaire Usage
Two software engineers from different development organizations have evaluated the TMM questionnaire and have applied it to three development groups in their organizations (one engineer evaluated two groups). Their feedback helped revise and reorganize some TMM questions, experiment with our ranking algorithm using actual industrial data, generate sample action plans, and study problems of testing process improvement in real-world environments.
     Obtaining and analyzing this industrial data, although on a small scale, has been useful to our research team. One interesting result was that all three groups were evaluated to be at TMM Level 1, but strengths and weaknesses of each group were significantly different. Two groups satisfied several maturity goals at the higher levels of the TMM. Given the quality of the existing processes for the latter two groups, they should be able to reach TMM Level 2 in a relatively short time. More experimental data is needed to further test the usefulness and effectiveness of the TMM and the Assessment Model for test process assessment and improvement.

Future Plans
Our future plans include research on formal integration of TMM and CMM components so that organizations can carry out parallel assessments in several process areas. We also are planning the development of more intelligent tools to aid the assessors. Wider industrial application of the TMM-AM is planned to help us evaluate its usefulness and effectiveness for test process improvement. end.gif

About the Authors
Burnstein.gifIlene Burnstein holds a doctorate from Illinois Institute of Technology, where she is an associate professor of computer science, teaching undergraduate and graduate courses in software engineering. Her research interests include software process engineering, testing techniques and methods, automated program recognition and debugging, and software engineering education.

Computer Science Department
Illinois Institute of Technology
10 West 31st Street
Chicago, IL 60616
Voice: 312-567-5155
Fax: 312-567-5067
E-mail: csburnstein@minna.iit.edu

Homyen.gifAriya Homyen is a doctoral candidate in computer science at Illinois Institute of Technology. She has a master's degree in computer science from the University of New Haven and a bachelor's degree from Chulalongkorn University in Thailand. Upon completing her doctorate, she will return to her position at the Ministry of Science, Technology, and Energy in Thailand. Her research interests include test process improvement, test management, and process reuse.

Computer Science Department
Illinois Institute of Technology
10 West 31st Street
Chicago, IL 60616
Voice: 312-567-5150
Fax: 312-567-5067
E-mail: homyari@minna.iit.edu

Grom.gifRobert Grom has a bachelor's degree from Southern Illinois University and a master's degree in computer science from Illinois Institute of Technology. He has worked as a hardware engineer and is currently manager of data collection software for SAFCO Technologies, where he develops software for cellular test equipment. His research interests are software testing, test process improvement, and data communications.

SAFCO Technologies, Inc.
6060 N. Northwest Highway
Chicago, IL 60631
Voice: 773-467-2673
Fax: 773-594-2618
E-mail: rag@safco.com

Carlson.gifC.R. Carlson holds a doctorate from the University of Iowa. He is a professor in the computer science department at Illinois Institute of Technology. He has published extensively in the fields of database design, information architecture, and software engineering. His research interests include object-oriented modeling, design and query languages, and software process issues.

Computer Science Department
Illinois Institute of Technology
10 West 31st Street
Chicago, IL 60616
Voice: 312-567-5152
Fax: 312-567-5067

References

  1. Burnstein, I., T. Suwanassart, and C.R. Carlson, "The Development of a Testing Maturity Model," Proceedings of the Ninth International Quality Week Conference, San Francisco, May 21-24, 1996.
  2. Burnstein, I., T. Suwanassart, and C.R. Carlson, "Developing a Testing Maturity Model," Crosstalk, Software Technology Support Center, Hill Air Force Base, Utah; Part I: August 1996, pp. 21-24; Part II: September 1996, pp. 19-26.
  3. Paulk, M., C. Weber, B. Curtis, and M. Chrissis, The Capability Maturity Model: Guideline for Improving the Software Process, Addison-Wesley, Reading, Mass., 1995.
  4. Zubrow, D., W. Hayes, J. Siegel, and D. Goldenson, "Maturity Questionnaire," Technical Report, Software Engineering Institute, CMU/SEI-94-SR-7, June 1994.
  5. Masters, S. and C. Bothwell, "A CMM Appraisal Framework, Version 1.0," Technical Report, Software Engineering Institute, CMU/SEI-95-TR-001, February 1995.
  6. ISO/IECJTC1/WG10, "SPICE Products," Technical Report, Type 2, June 1995.
  7. Homyen, A., "An Assessment Model to Determine Test Process Maturity," Diss., Illinois Institute of Technology, July 1998.
  8. Puffer, J. and A. Litter, "Action Planning," IEEE Software Engineering Technical Council Newsletter, Vol. 15, No. 2, pp. 7-10.
  9. Grom, R., "Report on a TMM Assessment Support Tool," Technical Report, Illinois Institute of Technology, April 1998.

Testing Maturity Model and TMM are service marks of the Illinois Institute of Technology.