This lecture Software quality and inspections

advertisement
This lecture
Software quality and inspections
• Perspectives of quality
• Quality factors
• Two examples:
– Reliability
– Usability
by
Kristian Sandahl
• Inspections
• Process improvement paradigms
Perspectives of quality
• Transcendent – something we learn to
recognize
• Product-based – measurable variable
• Usage-based – in the eyes of the beholder
• Manufacturing-based – conformance to
requirements
• Value-based – market sets the value
Many opinions ⇒
Statistical techniques
Quality factors
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Correctness
Reliability
Efficiency
Usability
Integrity
Maintainability
Flexibility
Testability
Security
Price?
Portability
Reusability
Interoperability
Survivability
Safety
Manageability
Supportability
Replaceability
Functionality
Reliability
• The probability that the software executes
with no failures during a specified time
interval
• Approximation: MTTF/(1+MTTF)
• Reliability engineering:
– Goal failure intensity
– Operational profiles
– Statistical Usage Testing
Usability
• Relevance
• Efficiency
• Attitude
• Learnability
Usability engineering:
– Task analysis
– Prototyping (HI-FI, LO-FI)
Systematic inspections
• The best way of finding many defects
• Experimentally proven in replicated studies
• Goals:
– Find defects
– Training
– Communications
– Hostage taking
Roles
•
•
•
•
Author
Moderator
Inspector
Scribe
Process
Inspection record
• Group:
• Initial:
– Check criteria
– Plan
– Overview
• Individual:
– Preparation, or
– Detection
–
–
–
–
Detection, or
Collection
Inspection record
Data collection
• Location
• Description
• Decision for entire document:
– Pass with changes
– Reinspect
• Exit:
– Change
– Follow-up
– Document & data
handling
Data collection
•
•
•
•
•
Number of defects
Classes of defects
Severity
Number of inspectors
Number of hours
Reading techniques
•
•
•
•
Inspections cost a lot!
Checklist
Scenario
Perspective
Usage-based
Inspections in quality assurance
•
•
•
•
Appraisal – defect detection
Assurance – prediction of defects
Control – adjust the process
Improvement: reduce variation, increase precision
Analysis
Design
Coding
Root-cause analysis
• Performed regularly
for severe defects,
frequent defects, or
random defects
• Popular mind map:
The Ishikawa diagram
Main
cause
Main Main
cause cause
Test-cases
Problem
Inspection
data
Inspection Inspection Inspection
data
data
data
Main
cause
Inspection
data
CMM
QIP
5: Optimising
4: Managed
3: Defined
2: Repeatable
1: Initial
Main Main
cause cause
1.
2.
3.
4.
5.
6.
Set quantifiable goals
Select processes
Run processes
Measure objectives
Analyse measurements
Package experience
Download