Post on 09-Apr-2018
8/7/2019 Sw Quality Assurance
http://slidepdf.com/reader/full/sw-quality-assurance 1/19
1
Software Quality Assurance
8/7/2019 Sw Quality Assurance
http://slidepdf.com/reader/full/sw-quality-assurance 2/19
Introduction to Software QualityAssurance
Left: The Ariane 501rocket·s guidance computer
software just threw anunchecked exception.
[Image source: European
Space Agency]
8/7/2019 Sw Quality Assurance
http://slidepdf.com/reader/full/sw-quality-assurance 3/19
Ob jectives
What is Software Quality? Why is Software Quality important?
What is Software Quality Assurance ?
Software Quality factors
Elements of Software Quality Assurance
Development and quality plans
Process Maturity models
8/7/2019 Sw Quality Assurance
http://slidepdf.com/reader/full/sw-quality-assurance 4/19
What is Software ?
According to the IEEE Software is:
² Computer programs, procedures, and possiblyassociated documentation and data pertainingto the operation of a computer system.
8/7/2019 Sw Quality Assurance
http://slidepdf.com/reader/full/sw-quality-assurance 5/19
Software Errors, software faults andsoftware failures
Bug/defect/fault consequence of a human error.² Results in non-conformance to requirements.
² Manifests as failure in running software.
Software development process
software fault
softwarefailure
softwareerror
8/7/2019 Sw Quality Assurance
http://slidepdf.com/reader/full/sw-quality-assurance 6/19
Nine Causes of Software Errors
Faulty requirements definition. Client-developer communication failures.
Deliberate deviations from software requirements.
Logical design errors.
Coding errors.
Non-compliance with documentation and coding instructions.
Shortcomings of the testing process.
User interface and procedure errors.
Documentation errors.
8/7/2019 Sw Quality Assurance
http://slidepdf.com/reader/full/sw-quality-assurance 7/19
When are defects introduced?
The majority of defects are introduced in earlierphases.
² Requirements are the top factor in a project·ssuccess or failure.
Phase % ofdefects
% effort tofix
Requirements 56 82
Design 27 13
Code 7 1Other 10 4
8/7/2019 Sw Quality Assurance
http://slidepdf.com/reader/full/sw-quality-assurance 8/19
Cost of fixing defects
Relative cost of fixing defects² benchmark: cost at requirements phase = 1
Phase found Cost ratio
Requirements 1Design 3 ² 5
Coding 10
Unit / integration testing 15 - 40
System / acceptance testing 30 ² 70
Production 40 - 1000
8/7/2019 Sw Quality Assurance
http://slidepdf.com/reader/full/sw-quality-assurance 9/19
What is Software Quality ?
Conformance to requirements. Narrowest sense of software quality.
² Lack of bugs.
² Low defect rate (# of defects/size unit)² High reliability (number of failures per n hours
of operation).
² Mean Time To Failure (MTTF): probability of
failure-free operation in a specified time.
8/7/2019 Sw Quality Assurance
http://slidepdf.com/reader/full/sw-quality-assurance 10/19
What is Software Quality ?
According to the IEEE: Software quality is:
1. The degree to which a system, component, orprocess meets specified requirements.
2. The degree to which a system, component, orprocess meets customer or user needs orexpectations.
8/7/2019 Sw Quality Assurance
http://slidepdf.com/reader/full/sw-quality-assurance 11/19
What is Software Quality ?
According to Pressman: Software quality is:
Conformance to explicitly stated functional and
performance requirements, explicitly documenteddevelopment standards, and implicitcharacteristics that are expected of allprofessionally developed software.
8/7/2019 Sw Quality Assurance
http://slidepdf.com/reader/full/sw-quality-assurance 12/19
Importance of Software Quality
Software is a major component of computer systems (ab
out80% of the cost) ² used for
² Communication (e.g. phone system, email system).
² Health monitoring.
² Transportation (e.g. automobile, aeronautics).
² Economic exchanges (e.g. e-commerce).² Entertainment.
² etc.
Software defects are extremely costly in term of
² money² reputation
² loss of life
8/7/2019 Sw Quality Assurance
http://slidepdf.com/reader/full/sw-quality-assurance 13/19
Importance of Software Quality
Notable consequences of software errors:
² 1988 shooting down of Airbus 320 b y the USS Vincennes -cryptic and misleading output displayed b y tracking software.
² 1991 patriot missile failure - inaccurate calculation of time dueto computer arithmetic errors.
² London Ambulance Service Computer Aided Dispatch System ²
several deaths.² On June 3, 1980, the North American Aerospace Defense
Command (NORAD) reported that the U.S. was under missileattack.
² First operational launch attempt of the space shuttle, whosereal-time operating software consists of about 500,000 lines of
code, failed - synchronization problem among its flight-controlcomputers.
² 9 hour breakdown of AT&T's long-distance telephone network -caused b y an untested code patch.
8/7/2019 Sw Quality Assurance
http://slidepdf.com/reader/full/sw-quality-assurance 14/19
Importance of Software Quality
Ariane 5 explosion June 4, 1996² First flight of the European Ariane 5 launcher crashed
about 40 seconds after takeoff.
² Cost was about half a billion dollars.
² Explosion was the result of a software error:
² Uncaught exception due to floating-point error:conversion from a 64-bit integer to a 16-bit signedinteger applied to a larger than expected number.
² Module was re-used without proper testing fromAriane 4 .
² Error was not supposed to happen with Ariane 4.
² No exception handler.
8/7/2019 Sw Quality Assurance
http://slidepdf.com/reader/full/sw-quality-assurance 15/19
Importance of Software Quality
Mars Climate Orbiter - September 23, 1999² Mars Climate Orbiter, disappeared as it began
to orbit Mars.
² Cost about $US 125-million.
² Failure due to error in a transfer ofinformation between a team in Colorado and ateam in California.
² One team used imperial units (e.g., inches,
feet and pounds) while the other used metricunits for a key spacecraft operation.
8/7/2019 Sw Quality Assurance
http://slidepdf.com/reader/full/sw-quality-assurance 16/19
Importance of Software Quality
Mars Polar Lander - December, 1999² Mars Polar Lander, disappeared during landing
on Mars.
² Failure most likely due to unexpected setting of
a single data bit.² Defect not caught b y testing.
² Independent teams tested separate aspects.
8/7/2019 Sw Quality Assurance
http://slidepdf.com/reader/full/sw-quality-assurance 17/19
Importance of Software Quality
Internet viruses and worms² Blaster worm (US$ 525 million)
² Sobig.F (US$ 500 million ² 1 billion)
Exploit well known software vulnerabilities
² Software developers do not devote enougheffort to applying lessons learned about thecauses of vulnerabilities.
² Same types of vulnerabilities continue to be
seen in newer versions of products that were inearlier versions.
Usability problems
8/7/2019 Sw Quality Assurance
http://slidepdf.com/reader/full/sw-quality-assurance 18/19
Importance of Software Quality
Monetary impact of poor software quality(Standish group - 1995)
175,000 software projects/year - Average Costper project
² Large companies - $US 2,322,000
² Medium companies - $US 1,331,000
² Small companies - $US 434,000
31.1% of projects canceled before completed.² cost $81 billion
8/7/2019 Sw Quality Assurance
http://slidepdf.com/reader/full/sw-quality-assurance 19/19
Importance of Software Quality
52.7% of projects exceed theirbudget - costing189% of original estimates.
² cost $59 billion
16.2% of software projects completed on-time and
on-budget (9% for larger companies). Large companies - delivered systems have
approximately only 42% of originally-proposedfeatures and functions.
78.4% of smaller companies projects get deployedwith at least 74.2% of their original features andfunctions.