(Reading time: 4 - 8 minutes)

Quality - CMMI Processes for Software Testing

CMMI Processes for Software Testing

CMMI models are collections of best practices that you can compare to an organization's best practices and guide improvement to the processes.

In this article, let us talk about the key checklists to be considered & deployment of CMMI processes for testing projects.

 

Introduction to CMMI:

Capability Maturity Model Integration (CMMI) in organizational development is a process improvement approach that provides industry with the important elements for efficient process improvement. This can be used to direct the process improvement across a project, a unit, or industry.

CMMI is a collection of in-class methods that meet the needs of organizations in many areas of interest. A collection of best practices that cover a particular area of interest is called a CMMI model.

 

Brief History:

CMMI was developed by a group of experts from industry, government, and the Software Engineering Institute (SEI) at Carnegie Mellon University.

CMMI models provide methods for developing or improving processes that meet the industry business goals.

A CMMI model can also be deployed as a framework for appraising the process maturity of the organization.

CMMI originated in software engineering but has been highly generalized to encompass other areas of interest, such as the development of hardware products, the delivery of all kinds of services, and the acquisition of products and services.

The word "software" does not appear in definitions of CMMI. This generalization of improvement concepts makes CMMI extremely abstract.

Capability Maturity Model Integration (CMMI) is developed by the CMMI project, which targeted to improve the usability of maturity models by collating many different models into one framework. The project consisted of members of industry, government and the Carnegie Mellon Software Engineering Institute (SEI). The main sponsors included the Office of the Secretary of Defense (OSD) and the National Defense Industrial Association.

 

Level 5:

Obtaining Level 5 need additional process improvements; enhancement or development of a project tracking system; deployment of business process capability baselines; quantitative control of processes; and deployment of a process improvement, change management and defects prevention systems.

For Many industries, one of the most difficult aspects in the process of preparing for the Level 5 assessment is getting everyone in the organization to be part of the process improvement road & must work very hard to create an environment that encourages everyone to work on refining the process as well as the project at hand.

The other challenge is putting together complete process data, specifically defect data and time sheets. And, once the data is assembled, understanding the metrics and filtering out abnormal data due to special causes presented important hindrances.

In Product Testing projects the following areas need to be addressed adequately: 

  • Requirement Management : The test plans should follow the V-estimation model approach wherein the acceptance test plans conforms to the detailed out requirements, Unit test plans maps to the Detailed Level Design (DLD) and Integration Testing - System Testing (IT –ST) plans conforms to the High Level Design (HLD) stage.

 

  • Project Planning, Monitoring and Control: are required to execute the tasks/activities inline with the estimate and budget. It also ensures a systematic approach towards execution thereby ensuring detailed task coverage and right goal setting so to achieve the project objectives thereby satisfying customer. Monitoring and Control mechanisms will serve as leading indicators during execution to take corrective and preventive measures.

 

  • Measurement and Analysis: Identifying the right set of metrics holds the key to a successful project execution. Defect, Effort and Schedule are the most relevant basic metrics to be captured in a testing project. Testing effectiveness and efficiency are two base derived metrics which can help enhancing the process and render stability.

 

  • Verification and Validation: Verification holds a key in ensuring defect free software. Test plans should be prepared covering detailed test coverage, defects should be logged and audit trail maintained so to close defects as well as ensuring none of the requirements gets missed out. Periodic analysis of defects and identifying root causes to eliminate their recurrence will help in delivering a stable product/software. Validating the functionality in production environment to check conformance to requirements will ensure delivering a stable product/software.

 

  • Risk Management: is an umbrella activity which runs throughout the project execution. Identification of risks, its impact, probability of occurrence and exposure needs to be determined and adequate mitigation plans should be put in place.

 

  • Continuous Improvement: Identification of means to automate work processes, eliminate manual intervention, testing tools deployment will lead to productivity and efficiency gains during execution .Certain techniques like FMEA, Design of Experiments add to the process of continuous improvement.

 

 

Suggested Checkpoints:

 

Requirements Deliverable

Key issues to be looked into

Requirements Documentation

Functional Requirements

The business rules should be abstract & properly defined

The input & output events should be specified.

The functions for input & output should be defined

The validations to the inputs should be specified

The sequence of processes should be described

There should be sufficient description in support to exception handling & recovery scenarios

The effect of parameters should be clearly defined

The relations & formulae of Input to output should be mentioned.

The shortcut keys, if any should be defined.

The reporting structure should be clear

The error messages & function keys should be specified

Performance Requirements

The performance requirements should be measurable

The  latent requirements should be identified & documented

Check for measurable requirements availability

Check for measurable requirements reliability

 

Manageability & Maintainability

Check for the requirements related to ease of maintenance

Check for normal operations

Check for special operations, if any

Usability factors

The usability requirements should be clearly defined

Interfaces (Systems, Network, Hardware) and Integration

Check for the interface with the system with other components

The description of the Interface with the network should be clear.

The description of the Interface with the hardware should be clear.

The Input & output conditions should be described

Check for the documented references to existing interface

 

Data Management

The requirements related to the date should be defined

Standards, laws & regulation Compliance

Check for the standards derivation from the existing standards

Requirements related to Security

Check for the authorization, & password policies

Portability requirements

The system should be scalable enough to be carried to different web clients

Check for the platform dependency of the system

 

Existing defects

Check for the identification & documentation of the existing defects which are to be resolved in the current release

Traceability

The requirements should be readily identifiable & traceable

Priority Assignments

The requirements should be prioritized

 

 

Requirements Confirmation

Check for the requirements sign off by the business

Requirements Conciseness, Completeness & consistency

The requirements should be complete, concise & correct.

All the requirements should be properly documented.

Check for the scope & conformance to the client’s expectations & needs

Check for the gap items or loopholes in the requirements gathering

Identify the requirements which are unspecified but if incorporated would add to customer delight

There should not be any conflicting requirements.

Check for the requirements having adverse impact on the existing product or system

There should be thorough reviews before the base lining

 

Deferred Requirements

The deleted requirements should be updated & documented

Identification & documentation of the deferred requirements

 

Testability

Make a note of the requirements that cannot be tested

Types of testing techniques to be used must be decided

 

Detailed analysis

Check if the requirements & readable.

Check if the requirements are easily understood

Check if the complex requirements discussed in detail

 

Test Planning

Check for the reusable business scenarios

Check for the traceability of each test requirement

Check for the requirements compatibility with subsequent test phases

Identify the key scenarios for automation

Check if sufficient test data is available

Check if the report & test results are predictable & in compliance to the outputs

 

Requirements Management

Check for an effective configuration management for requirements

Check if the requirement documents flexible enough to accommodate frequent changes

Check for the processes followed in accordance with the Project plans

 

Summary: 

In short, CMMI models are collections of best practices that you can compare to your organization's best practices and guide improvement to your processes. The extent and effectiveness of deployment determines the success of a project ensuring predictability, productivity and quality. The focus areas and checkpoints attempt to highlight their importance and adequacy thereby ensuring a predictable outcome, a stable process and a high quality product.

 

Oxygen
Author: Oxygen
Other articles by this author

Chillzee Tag Cloud

Let's Socialize

About Chillzee

Chillzee.com is an entrepreneurship portal.

The site provides informative topics on Organizational and Strategic needs.