|
沙发
楼主 |
发表于 2008-7-14 13:44:06
|
只看该作者
|
Level 2 - Phase Definition
At Level 2 of the TMM, an organization has defined a testing phase in the software lifecycle that follows
coding. It is planned and repeatable over all software projects. It is separated from debugging, which is an
unplanned activity. The maturity goals at Level 2 follow.
第二级:阶段定义
TMM的第二级是在软件生命周期中紧随着编码后定义的测试阶段。贯穿所有软件项目中测试阶段是需要计划的并可重复执行的。测试必须和无计划的调试活动区分开。
TMM的定义级中需实现下面几个成熟度目标:
1. Develop Testing and Debugging Goals
This means an organization must clearly distinguish between the processes of testing and debugging. The
goals, tasks, activities, and tools for each must be identified. Responsibilities for each must be assigned.
Management must develop plans and policies to accommodate and institutionalize both processes. The
separation of these two processes is essential for testing maturity growth, since they are different in goals,
methods, and psychology. Testing at this level is now a planned activity and therefore can be managed,
whereas debugging cannot. Maturity subgoals that support this goal include
· The organization must form a committee(s) on testing and debugging with support and funding.
· The committee(s) must develop and record testing goals.
· The committee(s) must develop and record debugging goals.
· The documented testing and debugging goals must be distributed to all project managers and
developers.
· Testing goals must be reflected in test plans.
1.制订测试与调试目标
软件组织必须消晰地区分软件开发的测试过程与调试过程,识别各自的目标,任务和括动。正确区分这两个过程是提高软件组织测试能力的基础。与调试工作不同,测试工作是一种有计划的活动,可以进行管理和控制。这种管理和控制活动需要制订相应的策略和政策,以确定和协调这两个过程。
制订测试与调试目标包含5个子成熟度目标:
1)分别形成测试组织和调试组织,并有经费支持。
2)规划并记录测试目标。
3)规划井记录调试目标。
4)将测试和调试目标形成文档,并分发至项目涉及的所有管理人员和开发人员。
5)将测试目标反映在测试计划中。
2. Initiate a Test Planning Process
Planning is essential for a process that is to be repeatable, defined, and managed. Test planning involves
stating objectives, analyzing risks, outlining strategies, and developing test design specifications and test
cases. In addition, the test plan must address the allocation of resources and the responsibilities for testing
on the unit, integration, system, and acceptance levels. Maturity subgoals that support this goal include
· An organization-wide test planning committee must be established with funding.
· A framework for organization-wide test planning policies must be established and supported by
management.
· A test plan template must be developed, recorded, and distributed to project managers and
developers.
· A mechanism must be put in place that includes user-generated requirements as inputs to the test
plan.
· Basic planning tools must be evaluated, recommended, and acquired. Usage must be supported
by management.
2.启动测试计划过程
制订计划是使一个过程可重复,可定义和可管理的基础。测试计划应包括测试目的,风险分析,测试策略以及测试设计规格说明和测试用例。此外,测试计划还应说明如何分配测试资源,如何划分单元测试,集成测试,系统测试和验收测试的任务。启动测试计划过程包含5个子目标:
1)建立组织内的测试计划组织并予以经费支持。
2)建立组织内的测试计划政策框架并予以管理上的支持。
3)开发测试计划模板井分发至项目的管理者和开发者。
4)建立一种机制,使用户需求成为测试计划的依据之一。
5)评价,推荐和获得基本的计划工具并从管理上支持工具的使用。
3. Institutionalize Basic Testing Techniques and Methods
To improve test process capability, basic testing techniques and methods must be applied across the
organization. How and when these techniques and methods are to be applied and any basic tool support
for them should be clearly specified. Examples of basic techniques and methods are black-box and white-box testing strategies, use of a requirements validation matrix, and the division of execution-based testing
into subphases such as unit, integration, system, and acceptance testing. Maturity subgoals that support
this goal include
· An organization-wide test technology group must be formed to study, evaluate, and recommend a
set of basic testing techniques and methods and recommend a set of simple tools to support them.
· Management must institute a set of policies that ensures recommended techniques and methods
are consistently applied throughout the organization.
3.制度化基本的测试技术和方法
为改进测试过程能力,组织中需应用基本的测试技术和方法,并说明何时和怎样使用这些技术,方法和支持工具。将基本测试技术和方法制度化有2个子目标:
1)在组织范围内成立测试技术组,研究,评价和推荐基本的测试技术和测试方法,推荐支持这些技术与方法的基本工具。
2)制订管理方针以保证在全组织范围内一致使用所推荐的技术和方法。
Level 3 - Integration
1. Establish a Software Test Organization
A software test organization is created to identify a group of people who are responsible for testing.
Because testing in its fullest sense has a great influence on product quality, and because testing consists of
complex activities usually performed under tight schedules and high pressure, management realizes it is
necessary to have a well-trained and dedicated group of specialists in charge of this process. The test
group is responsible for test planning, test execution and recording, test-related standards, test metrics, the
test database, test reuse, test tracking, and evaluation. Maturity subgoals that support this goal include
· An organization-wide test group must be established with leadership, support, and funding from
upper management.
· Roles and responsibilities must be defined for the test group.
· Well-trained and motivated staff members must be assigned to the test group.
· The test group must establish communication links, which solicit user and client participation in
testing activities and help collect, document, and incorporate user needs, concerns, and
requirements into the testing process.
1.建立软件测试组织
软件测试的过程及质量对软件产品质量有直接影响。由于测试往往是在时间紧,压力大的情况下所完成的一系列复杂的活动,因此应由训练有素的专业人员组成测试组。测试组要完成与测试有关的多种活动,包括负责制订测试计划,实施测试执行,记录测试结果,制订与测试有关的标准和测试度量,建立铡试数据库,测试重用,测试跟踪以及测试评价等。建立软件测试组织要实现4个子目标:
1)建立全组织范围内的测试组,并得到上级管理层的领导和各方面的支持,包括经费支持。
2)定义测试组的作用和职责。
3)由训练有素的人员组成测试组。
4)建立与用户或客户的联系,收集他们对测试的需求和建议。
A technical training program ensures a skilled staff is available to the testing group. Testers must be
properly trained so they can perform their jobs efficiently and effectively. At Level 3 of the TMM, the
staff is trained in test planning, testing methods, standards, techniques, and tools. At the higher levels of
the TMM they learn how to define, collect, analyze, and apply test-related metrics. The training program
also prepares the staff for the review process, instructing review leaders and instituting channels for user
participation in the testing and review processes. Training includes in-house courses, self-study,
mentoring programs, and support for attendance at academic institutions. Maturity subgoals that support
this goal include
· Management must establish an organizational training program, providing funding and support.
· Training goals and plans must be developed.
· An in-house training group must be established, with tools, facilities, and materials in place.
2.制订技术培训计划
为高效率地完成好测试工作,测试人员必须经过适当的培训。制订技术培训规划有3个子目标:
1)制订组织的培训计划,并在管理上提供包括经费在内的支持。
2)制订培训目标和具体的培训计划。
3)成立培训组,配备相应的工具,设备和教材
3. Integrate Testing into the Software Lifecycle
Management and technical staff now recognize that test process maturity and software product quality
require that testing activities be conducted in parallel with all lifecycle phases. Test planning is now
initiated early in the lifecycle. A variation of the V-model is used by the testers and developers. User
input to the testing process is solicited through established channels for several of the testing phases.
Maturity subgoals that support this goal include
· The test phase must be partitioned into subphases that can be integrated into the software
lifecycle.
· An institutionalized version of the V-model, based on defined testing subphases, must be
developed and adopted.
· Standards definitions must be developed for test-related work products.
· A mechanism must be established that allows testers to work with developers, which facilitates
testing activity integration
3.软件全生命周期测试
提高测试成熟度和改善软件产品质量都要求将测试工作与软件生命周期中的各个阶段联系起来。该目标有4个子目标:
1)将测试阶段划分为子阶段,并与软件生命周期的各阶段相联系。
2)基于已定义的测试子阶段,采用软件生命周期V字模型。
3)制订与渊试相关的工作产品的标准。
4)建立测试人员与开发人员共同工作的机制。这种机制有利于促进将测试活动集成于软件生命周期中
4. Control and Monitor the Testing Process
According to R. Thayer, management consists of five principal activities: planning, directing, staffing,
controlling, and organizing [4]. Level 2 of the TMM introduces planning capability to the testing process.
In addition to staffing, directing, and organizing capabilities, Level 3 introduces several controlling and
monitoring activities. These provide visibility and ensure the testing process proceeds according to plan.
When actual activities deviate from test plans, management can take effective action to correct the
deviations and return to test plan goals. Test progress is determined by comparing the actual test work
products, test effort, costs, and schedule to the test plan. Support for controlling and monitoring comes
from standards for test products, test milestones, test logs, test-related contingency plans, and test metrics
that can be used to evaluate test progress and test effectiveness. Maturity subgoals that support this goal
include
· The organization must develop mechanisms and policies to control and monitor the testing
process.
· A set of basic test process-related measurements must be defined, recorded, and distributed.
· A set of corrective actions and contingency plans must be developed, recorded, and documented
for use when testing deviates significantly from what is planned.
4.控制和监视测试过程
为控制和监视测试过程,软件组织需采取相应措施,如:制订测试产品的标准,制订与测试相关的偶发事件的处理预案,确定测试里程碑,确定评估测试效率的度量,建立测试日志等。控制和监视测试过程有3个子目标:
1)制订控制和监视测试过程的机制和政策。
2)定义,记录并分配一组与测试过程相关的基本测量。
3)开发,记录并文档化一组纠偏措施和偶发事件处理预案,以备实际测试严重偏离计划时使用。
Level 4 - Management and Measurement
1. Establish an Organization-Wide Review Program
At TMM Level 3, an organization integrates testing activities into the software lifecycle. At Level 4, this
integration is augmented by the establishment of a review program. Reviews are conducted at all phases
of the lifecycle to identify, catalog, and remove defects from software work products and to test work
products early and effectively. Maturity subgoals that support this goal include
· Upper management must develop review policies, support the review process, and take
responsibility for integrating them into the organizational culture.
· The test group and the software quality assurance group must develop and document goals, plans,
follow-up procedures, and recording mechanisms for reviews throughout the software lifecycle.
· Items for review must be specified by the above bodies.· Personnel must be trained so that they understand and follow proper review policies, practices,and procedures.
1.建立组织范围内的评审程序
软件组织应在软件生命周期的各阶段实施评审,以便尽早有效地识别,分类和消除软件中的缺陷。建立评审程序有4个子目标:
1)管理层要制订评审政策支持评审过程。
2)测试组和软件质量保证组要确定并文档化整个软件生命周期中的评审目标,评审计划,评审步骤以及评审记录机制。
3)评审项由上层组织指定。通过培训参加评审的人员,使他们理解和遵循相牢的评审政策,评审步骤。
2. Establish a Test Measurement Program
A test measurement program is essential in the evaluation of the quality of the testing process, to assess
the productivity of the testing personnel and the effectiveness of the testing process, and for test process
improvement. Test measurements are vital in the monitoring and controlling of the testing process. A test
measurement program must be carefully planned and managed. Test data to be collected must be
identified; how they are to be used and by whom must be decided. Measurement data for every test
lifecycle phase must be specified. Measurements include those related to test progress, test costs, data on
errors and defects, and product measures such as software reliability. Maturity subgoals that support this
goal include
· Organizational-wide test measurement policies and goals must be defined.
· A test measurement plan must be developed with mechanisms for data collection, analysis, and
application.
· Action plans that apply measurement results to test process improvements must be developed and
documented.
2.建立测试过程的测量程序
测试过程的侧量程序是评价测试过程质量,改进测试过程的基础,对监视和控制测试过程至关重要。测量包括测试进展,测试费用,软件错误和缺陷数据以及产品渊量等。建立渊试测量程序有3个子目标:
1)定义组织范围内的测试过程测量政策和目标。
2)制订测试过程测量计划。测量计划中应给出收集,分析和应用测量数据的方法。
3)应用测量结果制订测试过程改进计划。
3. Software Quality Evaluation
One purpose for software quality evaluation at this TMM level is to relate software quality issues to the
adequacy of the testing process. Software quality evaluation involves defining measurable quality
attributes and defining quality goals to evaluate software work products. Quality goals are tied to testing
process adequacy because a mature testing process must lead to software that is at least correct, reliable,
usable, maintainable, portable, and secure. Maturity subgoals that support this goal include
· Management and the testing and software quality assurance groups must define quality-related
polities, quality goals, and quality attributes for software products.
· The testing process must be structured, measured, and evaluated to ensure the quality goals can
be achieved.
3.软件质量评价
软件质量评价内容包括定义可测量的软件质量属性,定义评价软件工作产品的质量目标等项工作。软件质量评价有2个子目标:
1)管理层,测试组和软件质量保证组要制订与质量有关的政策,质量目标和软件产品质量属性。
2)测试过程应是结构化,己测量和己评价的,以保证达到质量目标。
Level 5 - Optimization, Defect Prevention, and Quality Control
1. Application of Process Data for Defect Prevention
Mature organizations are able to learn from their history. Following this philosophy, organizations at the
highest level of the TMM record defects, analyze defect patterns, and identify root causes of errors.
Techniques such as Pareto diagrams are used [6]. Actions plans are developed, actions are taken to
prevent defect recurrence, and there is a mechanism to track action progress. At TMM Level 5, defect
prevention is applied across all projects and across the organization. A defect prevention team is
responsible for defect prevention activities, interacting with developers to apply defect prevention
activities throughout the lifecycle. Maturity subgoals that support this goal include
· A defect prevention team must be established with management support.
· Defects injected or removed must be identified and recorded during each lifecycle phase.
· A causal analysis mechanism must be established to identify the root causes of defects.
· Action plans must be developed through the interaction of managers, developers, and testers to
prevent identified defects from recurring; these plans must be tracked.
1.应用过程数据预防缺陷。这时的软件组织能够记录软件缺陷,分析缺陷模式,识别错误根源,制订防止缺陷再次发生的计划,提供跟踪这种括动的办法,并将这些活动贯穿于全组织的各个项目中。应用过程数据预防缺陷有礴个成熟度子目标:
1)成立缺陷预防组。
2)识别和记录在软件生命周期各阶段引入的软件缺陷和消除的缺陷。
3)建立缺陷原因分析机制,确定缺陷原因。
4)管理,开发和测试人员互相配合制订缺陷预防计划,防止已识别的缺陷再次发生。缺陷预防计划要具有可跟踪性。
2. Quality Control
At TMM Level 4, organizations focus on testing for a group of quality-related attributes such as
correctness, security, portability, interoperabiilty, usability, and maintainability. At TMM Level 5,
organizations use statistical sampling, measurements of confidence levels, trustworthiness, and reliability
goals to drive the testing process. The testing group and the software quality assurance (SQA) group
consist of quality leaders who work with software designers and implementators to incorporate techniques
and tools that reduce defects and improve software quality. Automated tools support the running and
rerunning of test cases and defect collection and analysis. Usage modeling is used to perform statistical
testing [7, 8]. The cost to achieve quality goals is measured relative to the cost of not testing for
quantitative quality goals. Subgoals that support statistical quality control include
· The software test group and the SQA group must establish quality goals for software products
such as product unit defectiveness, confidence levels, and trustworthiness.
· Test managers must incorporate these quality goals into the test plans.
· The test group must be trained in statistical methods.
· User input must be collected for usage modeling.
2.质量控制在本级,软件组织通过采用统计采样技术,测量组织的自信度,测量用户对组织的信赖度以及设定软件可靠性目标来推进测试过程。为了加强软件质量控制,测试组和质量保证组要有负责质量的人员参加,他们应掌握能减少软件缺陷和改进软件质量的技术和工具。支持统计质量控制的子目标有:
1)软件测试组和软件质量保证组建立软件产品的质量目标,如:产品的缺陷密度,组织的自信度以及可信赖度等。
2)测试管理者要将这些质量目标纳入测试计划中。
3)培训测试组学习和使用统计学方法。
4)收集用户需求以建立使用模型
3. Test Process Optimization
At the highest level of the TMM, the testing process is subject to continuous improvement across projects
and across the organization. The test process is quantified and can be fine-tuned so that capability growth
is an ongoing process. An organizational infrastructure exists to support this continual growth. This
infrastructure, which consists of policies, standards, training, facilities, tools, and organizational
structures, has been put in place through the goal achievement processes that constitute the TMM
hierarchy. Optimizing the testing process involves
· Identifying testing practices that need to be improved.
· Implementing the improvements.
· Tracking improvement progress.
· Continuous evaluation of new test-related tools and technologies for adaptation.
· Support for technology transfer.
3.优化测试过程在测试成熟度的最高级,己能够量化测试过程。这样就可以依据量化结果来调整测试过程,不断提高测试过程能力,并且软件组织具有支持这种能力持续增长的基础设施。基础设施包括政策,标准,培训,设备,工具以及组织结构等。优化测试过程包含:
1)识别需要改进的测试括动
2)实施改进。
3)跟踪改进进程。
4)不断评估所采用的与测试相关的新工具和新方法。
5)支持技术更新。
Maturity subgoals needed for test process optimization include
· A test process improvement group must be established to monitor the testing process and identify
areas for improvement.
· A mechanism must be in place to evaluate new tools and technologies that may improve the
capability and maturity of the testing process.
· The effectiveness of the testing process must be continually evaluated, and decisions on when to
stop testing must be related to quality goals and made in a measurable and optimal manner.
测试过程优化所需子成熟度目标包括:
1)建立测试过程改进组,监视测试过程并识别其需要改进的部分。
2)建立适当的机制以评估改进测试过程能力和测试成熟度的新工具和新技术。
3)持续评估测试过程的有效性,确定测试终止准则。终止测试的准则要与质量目标相联系。 |
|