9
Ch # 7 Quality Planning & Defect Estimation

Ch # 7 Quality Planning & Defect Estimation. Introduction Quality determines success factor Definition Delivered Defect Density i.e. the number of

Embed Size (px)

Citation preview

Page 1: Ch # 7 Quality Planning & Defect Estimation. Introduction Quality  determines success factor Definition  Delivered Defect Density i.e. the number of

Ch # 7

Quality Planning & Defect Estimation

Page 2: Ch # 7 Quality Planning & Defect Estimation. Introduction Quality  determines success factor Definition  Delivered Defect Density i.e. the number of

IntroductionQuality determines success factorDefinition Delivered Defect Density i.e. the number

of defects per unit size in the delivered software (de facto industry standard)

For high-quality software, final product should have as few defects as possible.

For delivery of high-quality software, active removal of defects is necessary; this removal takes place through quality control activities of reviews & testing.

Quality control is different from quality assurance . Whereas quality control focuses on finding & removing defects, the main purpose of quality assurance is to verify that applicable procedures & standards are being followed.

Page 3: Ch # 7 Quality Planning & Defect Estimation. Introduction Quality  determines success factor Definition  Delivered Defect Density i.e. the number of

Quality Management Software Quality & Defects Software development is highly people-oriented activity-and hence

error-prone. Defects can be injected in software at any stage during its evolution.

These stages are primarily requirements specification, HLD, DD & coding.

Project’s process includes many activities for defect identification, which then leads to their removal.

Identification & removal are two distinct activities Larger the latency of defects more it costs to remove Activities for defect removal include requirements reviews design

reviews, code reviews, unit testing, integration testing, system testing, & acceptance testing. Process of injection & removal is depicted in fig[A].

Task of QM is to plan suitable quality control activities & then properly execute & control these activities such that most defects are detected “in-process” – i.e., before software is delivered

Page 4: Ch # 7 Quality Planning & Defect Estimation. Introduction Quality  determines success factor Definition  Delivered Defect Density i.e. the number of

Requirementsanalysis

Design

R

Developmentprocess

R RCoding

UT IT / ST AT

Defect removal

R – removalUT – unit testingIT – integration testingST – system testingAT – acceptance testing

Fig[A] : Defect injection & removal

Quality Management

Page 5: Ch # 7 Quality Planning & Defect Estimation. Introduction Quality  determines success factor Definition  Delivered Defect Density i.e. the number of

Quality Management Procedural Approach to Quality

Management Defects are detected by performing reviews or testing. Whereas

reviews are structured, human-oriented processes. Testing is process of executing software in attempt to identify defects.

In procedural approach for QM, procedures & guidelines for review & testing activities are established. In a project, these activities are planned during execution, they are carried out according to defined procedures.

Execution of activities identifies defects, which are later removed.

Procedural approach to defect removal does not allow claims to be made about percentage of defects removed or quality of software following procedure’s completion.

Key drawback Lack of quantitative means for project manager to assess quality of software produced – only factor visible to manager is whether quality control tasks are executed

Page 6: Ch # 7 Quality Planning & Defect Estimation. Introduction Quality  determines success factor Definition  Delivered Defect Density i.e. the number of

Quality Management Quantitative Approach to Quality

Management Quantitative QM has 2 key aspects : setting quantitative quality

goal & then managing software development process quantitatively so that this quality goal is met.

Managing process quantitatively requires that intermediate goals are met during actual project execution, the quality goal will be met.

Proper quantitative quality management is expected at level 4 of CMM

One approach to quantitatively controlling quality of software is to work with software reliability models. These models can indicate whether reliability is acceptable or more testing is needed.

Unfortunately, reliability models do not provide intermediate goals for early phases of project.

This approach makes management of quality closely resemble management of effort & schedule – two major success parameters of project.

Conti…

Page 7: Ch # 7 Quality Planning & Defect Estimation. Introduction Quality  determines success factor Definition  Delivered Defect Density i.e. the number of

Quantitative Approach to Quality Management

Another well-known quality concept in software is defect removal efficiency. This parameter provides good measure of effectiveness of quality control activities in process.

For quality control we define defect removal efficiency (DRE) as percentage of total defects that exist at that time that are detected by QC activity.

Quality Management

DRE = Defects found by QC activity . Total errors in product before QC Activity

Page 8: Ch # 7 Quality Planning & Defect Estimation. Introduction Quality  determines success factor Definition  Delivered Defect Density i.e. the number of

Quantitative Quality Management Through Defect Prediction

One approach to quantitative quality management is through defect prediction. Here quality goal is set in terms of delivered defect density.

For process management, predicted defect levels become benchmark against which actual defect levels are compared to evaluate whether development process is moving in direction of achieving quality goal.

Effectiveness of this approach depends on one key factor: how well we can predict defect levels at different stages of project.

One approach to making this prediction is to use concepts of defect removal efficiency and defect injection rate.

Yet another approach is to use observed defect pattern in projects to forecast defect levels.

Quality Management

Conti…

Page 9: Ch # 7 Quality Planning & Defect Estimation. Introduction Quality  determines success factor Definition  Delivered Defect Density i.e. the number of

Quantitative Quality Management Through Defect Prediction

If total number of defects introduced into project can be estimated, then percentage distribution can be used to estimate number of defects expected to be identified at different stages.

Total number of defects in project increases with size of software; its normalized value can be represented as defect injection rate, which is number of defects per unit size.

Major assumption in this approach is that defect injection rates can be predicted for project. Hence past data on injection rates can be used to estimate injection rate in current projects.

Quality Management