y lit a u

advertisement
 Reusability
Interoperability
Survivability
Safety
Manageability
Supportability
Replaceability
Functionality
Reliability
Efficiency
Usability
Integrity
Maintainability
Flexibility
Testability
Security
Reliability
Availability
Maintainability
Safety
Security
What
Whathorror
horrorstories
stories(true
(true
or
orfalse)
false)do
doyou
youknow
knowof?
of?
and needs experience
Kristian Sandahl, IDA
krisa@ida.liu.se
Critical systems makes expensive methods worthwhile
Kristian Sandahl, IDA
krisa@ida.liu.se
lead to damage
Incident – dangerous system behaviour which
does not result in an accident
Hazard – a state that can result in an incident, but
is hindered by other mechanisms
Accident – unplanned sequence of events that
When failed a critical system can cause injury of people,
damage the environment or loose immense sum of
money.
Criticality is often expressed in terms of:
Terminology
Kristian Sandahl, IDA
krisa@ida.liu.se
Critical systems
Many
⇒Sandahl, IDA
Manyopinions
opinions
Kristian⇒
krisa@ida.liu.se
Statistical
Statisticaltechniques
techniques
requirements
Value-based – market sets the value
Manufacturing-based – conformance to
Usage-based – in the eyes of the beholder
Price?
Portability
Correctness
Transcendent – something we learn to recognize
Product-based – measurable variable
Quality factors
Perspectives of quality
is built on the principles:
Principle 1 Customer focus
Principle 2 Leadership
Principle 3 Involvement of people
Principle 4 Process approach
Principle 5 System approach to management
Principle 6 Continual improvement
Principle 7 Factual approach to decision making
Principle 8 Mutually beneficial supplier relationships
Kristian Sandahl, IDA
krisa@ida.liu.se
Another approximation: λ = (1-R)/t
[failures / hours of execution time]
Easier to manage: Failure intensity,
Approximation: MTTF/(1+MTTF)
failures during a specified time interval
Kristian Sandahl, IDA
krisa@ida.liu.se
The probability that the software executes with no
Reliability
A guideline to apply ISO 9001 to software industry, which
ISO 9000-3
10-1
1
$10 cost
$1 cost
Kristian Sandahl, IDA
krisa@ida.liu.se
Operation,
input state,
direct and indirect variables
A test case is defined as a run with named direct variables and values
A test case is independent of the operational mode
Thus a test case can generate multiple runs
Problem: how to select test cases?
Maximise variable distance in input space
behaviour
Spread input variables on levels, with similar failure
Accelerate rare, critical operation
Assign at least one case per operation
Distribute test cases proportionally to operations
Sanity check: #new operations + 100
Determine the total number of test cases.
Feature test – check that each operation work properly
Load test – mimic filed usage
Tests are executed in runs comprising:
1h
100 h
10 h
10-2
Select test cases
Kristian Sandahl, IDA
krisa@ida.liu.se
6 weeks
10-3
$100 cost
114 years
$1000 cost
10-6
Kristian Sandahl, IDA
krisa@ida.liu.se
Kristian Sandahl, IDA
krisa@ida.liu.se
114 000 years
10-9
Hundreds of deaths,
$109 cost
1-2 deaths, $106 cost
Time btwn failures
Failure intensity
Impact
Failure intensity guideline
Prepare for test
Apply data to decisions
Execute test
Plan tests
Develop operational profile
Define target failure intensity
Software reliability engineering
Kristian Sandahl, IDA
krisa@ida.liu.se
Don’t count multiple failures due to single fault
Run performance tests simultaneously
criteria
Decisions made according to reliability growth
fault (don’t count twice)
Kristian Sandahl, IDA
krisa@ida.liu.se
Run test cases
When a failure is found, log the time, correct the
Execute tests
duration which returns control to the system when
complete and whose processing is substantially different
from other operations.
Operational modes (e.g. day, night)
Initiators (human, systems)
Representation (tabular, graphical)
Ignore non-critical with p < 1-Rtarget
How do you find and asses probabilities of operations?
Find operations and their relative probability
An operation is a major system logical task of short
Develop operational profiles
Automatic logging
Heuristic evaluation 50% hit rate
User review with expert users
Attitude
Learnability
Usability engineering:
Normal users
Minor problem
Medium problem
Annoying
Kristian Sandahl, IDA
krisa@ida.liu.se
http://www.tickit.org/
n
tio
ra
st
illu
ly
on
Kristian Sandahl, IDA
krisa@ida.liu.se
Kristian Sandahl, IDA
krisa@ida.liu.se
Kristian Sandahl, IDA
krisa@ida.liu.se
standard deviation from the mean = 3.4 faults per million
Define
Measure
Variant of the Shewhart cycle
Analyze
Improve
Control
Statistical process control
The variance of approved products should lie +/- 3
certification auditors,
a standardized training course for certification auditors,
a registration scheme for approved certification auditors,
a system for accrediting certification bodies for conducting TickIT
certifications,
a logotype to be used on certificates to show TickIT certification.
a standard set of requirements on the competence and behavior of
An interpretation of ISO 9001 for software,
Missing function
Task failure
Six sigma
Input: artefact, test tasks (realistic, closed)
Participants: test user, facilitator, log keeper
Explain purpose
Background and daily matters
Task
Observe
If necessary: give hints
Debriefing
Output: List of problems
TickIT
Kristian Sandahl, IDA
krisa@ida.liu.se
Testing process
Usability problem severity classes
Kristian Sandahl, IDA
krisa@ida.liu.se
Observation test
Efficiency
Avoid trade-union representatives and IT-experts
Think-aloud test
Relevance
Task analysis
Prototyping (HI-FI, LO-FI), 3 rounds?
Usability testing
Usability
6.
5.
4.
3.
2.
1.
4: Managed
Kristian Sandahl, IDA
krisa@ida.liu.se
Kristian Sandahl, IDA
krisa@ida.liu.se
5: Optimising
Each level has process areas.
Set quantifiable goals
Select processes
Run processes
Measure objectives
Analyse measurements
Package experience
QIP
1: Initial
3: Defined
2: Repeatable
CMMI
Experience factory
Configuration Management
Process and Product Quality Assurance
Measurement and Analysis
Supplier Agreement Management
Project Monitoring and Control
Project Planning
Requirements Management
PA CMMI2
Kristian Sandahl, IDA
krisa@ida.liu.se
Kristian Sandahl, IDA
krisa@ida.liu.se
QFD
Requirements Development
Technical Solution
Product Integration
Verification
Validation
Organizational Process Focus
Organizational Process Definition
Organizational Training
Integrated Project Management
Risk Management
Decision Analysis and Resolution
Organizational Environment for Integration
PA CMMI3
Kristian Sandahl, IDA
krisa@ida.liu.se
Kristian Sandahl, IDA
krisa@ida.liu.se
Inspection
data
Analysis
Coding
Inspection
Sandahl, IDA
data Kristiankrisa@ida.liu.se
Test-cases
Inspection Inspection Inspection
data
data
data
Design
Improvement: reduce variation, increase precision
Control – adjust the process
Assurance – prediction of defects
Appraisal – defect detection
Inspections in quality assurance
What’s get measured gets done
Importance of feed-back
Non-personal software
Creating a passion for quality
Live as you learn
Incentive system
Involve customers
Set prioritized goals
Quality is everybody’s responsibility
Document how you will work with quality
Improve continuously
Management
Kristian Sandahl, IDA
krisa@ida.liu.se
=TQM
communication
Wisdom
Kristian Sandahl, IDA
krisa@ida.liu.se
performance
infrastructure
Download