Software Quality Assurance SOFTWARE DEFECT. Defect Repair Defect Repair is a process of repairing...

21
Software Quality Assurance SOFTWARE DEFECT

Transcript of Software Quality Assurance SOFTWARE DEFECT. Defect Repair Defect Repair is a process of repairing...

Page 1: Software Quality Assurance SOFTWARE DEFECT. Defect Repair Defect Repair is a process of repairing the defective part or replacing it, as needed. For example,

Software Quality Assurance

SOFTWARE DEFECT

Page 2: Software Quality Assurance SOFTWARE DEFECT. Defect Repair Defect Repair is a process of repairing the defective part or replacing it, as needed. For example,

Defect Repair Defect Repair is a process of repairing the defective part or replacing it, as needed.

For example, let us say that you are manufacturing some component. Suddenly you see that a component is in bad shape or has any kind of non-conformity. You will physically inspect the material and you will see if this defect can be corrected.

If this defect can be corrected, you will correct it.

And if this defect cannot be corrected, then you will simply replace it.

Defect Repair is also known as the correction and it is performed when the product does not meet the quality requirements.

Page 3: Software Quality Assurance SOFTWARE DEFECT. Defect Repair Defect Repair is a process of repairing the defective part or replacing it, as needed. For example,

Corrective Action Corrective Action is a future response to the defect repair process or the correction, so that the cause of error or non-conformity will not occur again.

For example let us say that during the inspection you find some defective component, and you corrected the defective component.

Now, you don’t want this defect to happen again. Therefore, you will look into root cause of the problem, find a solution, and apply it to your operations so that the defects do not not occur again.

Page 4: Software Quality Assurance SOFTWARE DEFECT. Defect Repair Defect Repair is a process of repairing the defective part or replacing it, as needed. For example,

In other words, you can say that the Corrective Actions are the steps taken to correct the root problem and stop the recurrence of deviation.

Page 5: Software Quality Assurance SOFTWARE DEFECT. Defect Repair Defect Repair is a process of repairing the defective part or replacing it, as needed. For example,

Preventive Action Preventive Action is an action that is taken to avoid any anticipated future defects that may appear in the component.

For example, let us say that you are going to start production of some component. Before starting the production process, you think that some defects may appear on the component.

Therefore, you review your processes and procedures and make some changes (if needed) so that the cause of anticipated defects could be prevented.

Preventive Action is a proactive process.

difference between Corrective Action and Preventive Action.

Page 6: Software Quality Assurance SOFTWARE DEFECT. Defect Repair Defect Repair is a process of repairing the defective part or replacing it, as needed. For example,

Defect Seeding Willful insertion of errors into a software deliverable prior to a review, inspection, or testing activity

It is the quickest way of determining defect removal efficiency

Considered unpleasant by many

Page 7: Software Quality Assurance SOFTWARE DEFECT. Defect Repair Defect Repair is a process of repairing the defective part or replacing it, as needed. For example,

Defect Severity Levels Severity level 1: total failure of application

Severity level 2: failure of major function(s)

Severity level 3: minor problem

Severity level 4: cosmetic problem

Page 8: Software Quality Assurance SOFTWARE DEFECT. Defect Repair Defect Repair is a process of repairing the defective part or replacing it, as needed. For example,

Defect logging and Tracking Defect logging, a process of finding defects in the application under test or product by testing or recording feedback from customers and making new versions of the product that fix the defects or the clients feedback.

Defect tracking is an important process in software engineering as Complex and business critical systems have hundreds of defects.

One of the challenging factors is managing, evaluating and prioritizing these defects. The number of defects gets multiplied over a period of time and to effectively manage them, defect tracking system is used to make the job easier.

Page 9: Software Quality Assurance SOFTWARE DEFECT. Defect Repair Defect Repair is a process of repairing the defective part or replacing it, as needed. For example,

Defect Tracking Parameters Defects are tracked based on various parameters such as: Defect Id Priority Severity Created by Created Date Assigned to Resolved Date Resolved By Status

Page 10: Software Quality Assurance SOFTWARE DEFECT. Defect Repair Defect Repair is a process of repairing the defective part or replacing it, as needed. For example,

Defect Prevention Defect Prevention (DP) is a strategy applied to the software development life cycle that identifies root causes of defects and prevents them from recurring.

It is the core of Total Quality Management (TQM).

DP involves analyzing defects encountered in the past and specifying checkpoints and actions to prevent the occurrence of similar defects in the future.

Page 11: Software Quality Assurance SOFTWARE DEFECT. Defect Repair Defect Repair is a process of repairing the defective part or replacing it, as needed. For example,

Features of Defect Prevention

Management must be committed to following a written policy for defect prevention at both the organization and project level.

The policy should contain long-term plans for funding, resources and the implementation of DP activities across the organization including within management, to improve software processes and products.

To assist in the successful implementation of a DP strategy, members of the software engineering group and other software-related groups should receive training to perform their DP activities.

Training should include software quality assurance, configuration management and document support and focus on DP and statistical methods (e.g., cause/effect diagrams and Pareto analysis).

Page 12: Software Quality Assurance SOFTWARE DEFECT. Defect Repair Defect Repair is a process of repairing the defective part or replacing it, as needed. For example,

kick-off meeting Creation of an Action Plan plays a key role in the implementation process.

At the beginning of a software task, the members of the team meet to prepare for the task and related DP activities.

A kick-off meeting is held to familiarize members of the team with details of the implementation process.

Included in the meeting is information related to the software process, standards, procedures, methods, and tools applicable to the task, with an emphasis on recent changes; inputs required and available for the task; expected outputs; and methods for evaluation of outputs and of adherence to the software process.

A list of common errors and recommended preventive actions are also introduced along with team assignments, a task schedule and project goals.

Page 13: Software Quality Assurance SOFTWARE DEFECT. Defect Repair Defect Repair is a process of repairing the defective part or replacing it, as needed. For example,

Periodic reviews are conducted by each of the teams assigned to coordinate DP activities.

During the reviews, action items are identified and priorities set based on a causal analysis that determines: the causes of defects, the consequences of not addressing the defects, the cost to implement process improvements to prevent the defects, and the expected impact on software quality.

Page 14: Software Quality Assurance SOFTWARE DEFECT. Defect Repair Defect Repair is a process of repairing the defective part or replacing it, as needed. For example,

Education and Training Education and training provide people-based solutions for error source elimination

The people factor is the most important factor that determines the quality and, ultimately, the success or failure of most software projects

Education and training of software professionals can help them control, manage, and improve the way they work

Page 15: Software Quality Assurance SOFTWARE DEFECT. Defect Repair Defect Repair is a process of repairing the defective part or replacing it, as needed. For example,

Focus of Education & Training

Product and domain specific knowledge

Software development knowledge and expertise

Knowledge about Development methodology, technology, and tools

Development process knowledge

Page 16: Software Quality Assurance SOFTWARE DEFECT. Defect Repair Defect Repair is a process of repairing the defective part or replacing it, as needed. For example,

Product and Domain Specific Knowledge People involved are not familiar with the product type or application domain; there is a good chance that wrong solutions will be implemented

Page 17: Software Quality Assurance SOFTWARE DEFECT. Defect Repair Defect Repair is a process of repairing the defective part or replacing it, as needed. For example,

Changing nature of customer needs /

requirements Frequently changing customer requirements and high levels of customer expectations exist in almost all the domains of software industry.

This became challenging for various teams in these software organizations which have to balance independence with the need to respond to external forces and inter-team responsibilities.

In this context, various skills, capabilities or competencies which make up software team’s know-how factors are considered to be the principle resources of organizations .

Page 18: Software Quality Assurance SOFTWARE DEFECT. Defect Repair Defect Repair is a process of repairing the defective part or replacing it, as needed. For example,

Understanding knowledge management

Knowledge management is the process that involves a cycle of exchanging tacit knowledge and converting it to explicit knowledge.

Page 19: Software Quality Assurance SOFTWARE DEFECT. Defect Repair Defect Repair is a process of repairing the defective part or replacing it, as needed. For example,

Formal Methods Formal methods provide a way to eliminate certain error sources and to verify the absence of related faults

Formal methods include◦ Formal specification ◦ Formal verification

Page 20: Software Quality Assurance SOFTWARE DEFECT. Defect Repair Defect Repair is a process of repairing the defective part or replacing it, as needed. For example,

Formal Specification Formal specification is concerned with producing an unambiguous set of product specifications so that customer requirements, as well as environmental constraints and design intentions, are correctly reflected

Page 21: Software Quality Assurance SOFTWARE DEFECT. Defect Repair Defect Repair is a process of repairing the defective part or replacing it, as needed. For example,

Formal Verifications

Formal verification checks the conformance of software design or code against these formal specifications, thus ensuring that the software is fault free with respect to its formal specifications

There are a number of formal method approaches.

The oldest and most influential formal method is the so-called axiomatic approach.

The biggest obstacle to formal methods is the high cost associated with the difficult task of performing these human intensive activities correctly without adequate automated support.