CS 325: Software Engineering March 26, 2015 Software Quality Assurance Software Metrics Defect...

6
CS 325: Software Engineering March 26, 2015 Software Quality Assurance Software Metrics Defect Injection Software Quality Lifecycle Measuring Progress Software Reliability

Transcript of CS 325: Software Engineering March 26, 2015 Software Quality Assurance Software Metrics Defect...

Page 1: CS 325: Software Engineering March 26, 2015 Software Quality Assurance Software Metrics Defect Injection Software Quality Lifecycle Measuring Progress.

CS 325: Software Engineering

March 26, 2015

Software Quality Assurance• Software Metrics• Defect Injection• Software Quality Lifecycle• Measuring Progress• Software Reliability

Page 2: CS 325: Software Engineering March 26, 2015 Software Quality Assurance Software Metrics Defect Injection Software Quality Lifecycle Measuring Progress.

CS 325March 26, 2015Page 2

Software MetricsMeasuring the quality of software is a difficult task, but efforts are being made to do soISO 9126, an international standard for the evaluation of software, classifies software quality as a hierarchy of characteristics

ISO 9126

Functionality

* Suitability* Accuracy* Interoperability* Compliance* Security

Reliability* Maturity* Recoverability* Fault Tolerance

Usability* Learnability* Understandability* Operability

Efficiency* Time Behavior* Resource Behavior

Maintainability

* Stability* Analyzability* Changeability* Testability

Portability* Installability* Replaceability* Adaptability

Page 3: CS 325: Software Engineering March 26, 2015 Software Quality Assurance Software Metrics Defect Injection Software Quality Lifecycle Measuring Progress.

CS 325March 26, 2015Page 3

Defect InjectionCutting corners in the early stages of software development tends to cause defects to be injected.

Page 4: CS 325: Software Engineering March 26, 2015 Software Quality Assurance Software Metrics Defect Injection Software Quality Lifecycle Measuring Progress.

CS 325March 26, 2015Page 4

Software Quality LifecycleQuality can be infused into a software product throughout its lifecycle.

Plan• Clarify

goals• Analyze

risks• Assign QA

roles

Verify/Validate• Customize

processes• Peer reviews• Examine

alternatives• Develop test

cases

Improve• Analyze

reviews/tests• Diagnose defect

causes• Repair, review,

repeatManage• Status reports• Manage resources

Page 5: CS 325: Software Engineering March 26, 2015 Software Quality Assurance Software Metrics Defect Injection Software Quality Lifecycle Measuring Progress.

CS 325March 26, 2015Page 5

Measuring ProgressA variety of metrics may be used to determine how a project is progressing

• Time invested• Lines of code• Reused lines of

code• Changed lines of

code• Number of

modules• Size of database• Defect count

Collecting measurements isn’t enough - reviewing them is essential to determining whether a project is on track

Page 6: CS 325: Software Engineering March 26, 2015 Software Quality Assurance Software Metrics Defect Injection Software Quality Lifecycle Measuring Progress.

CS 325March 26, 2015Page 6

Software ReliabilityOnce installed, the reliability of a software system may be measured via the mean time to repair (MTTR), the mean time to failure (MTTF), and their sum, the mean time between failures (MTBF).

MTBF

MTTR MTTF

System Availability = MTTF/(MTTF+MTTR)