CS 325: Software Engineering March 26, 2015 Software Quality Assurance Software Metrics Defect...
-
Upload
cordelia-wilkerson -
Category
Documents
-
view
212 -
download
0
Transcript of CS 325: Software Engineering March 26, 2015 Software Quality Assurance Software Metrics Defect...
CS 325: Software Engineering
March 26, 2015
Software Quality Assurance• Software Metrics• Defect Injection• Software Quality Lifecycle• Measuring Progress• Software Reliability
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
CS 325March 26, 2015Page 3
Defect InjectionCutting corners in the early stages of software development tends to cause defects to be injected.
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
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
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)