Title: Software Quality Assurance
1Software Quality Assurance
Computer Science 370 Evans J. Adams
2Software Quality
- A program that does not work is undoubtedly
wrong, but a program that does work is not
necessarily right. Michael Jackson
3Working is Not a Synonym for Quality
- Would you rather have a working program that is
unmaintainable or a maintainable program that
is not working??? - Remember Software Rots
4Product Quality
- What is quality?
- Where is quality?
- SQA Objectives
5What is Quality? (1)Operations Dimension
- Correctness (Does it do what I want?)
- Reliability (Does it do it accurately all of the
time?) - Efficiency (Will it run on my hardware as well as
it can?) - Integrity (Is it secure?)
- Usability (Can I run it?)
6What is Quality? (2)Transition Dimension
- Portability (Will I be able to use it on another
machine?) - Reusability (Will I be able to reuse some of the
software?) - Interoperability (Will I be able to interface it
with another system?)
7What is Quality? (3)Revision Dimension
- Maintainability (Can I fix it?)
- Flexibility (Can I change it?)
- Testability (Can I test it?)
-
8Definition of Quality
- Crosby, Philip B., Quality is Free, The Art of
Making Quality Certain, New American Library, New
York, 1979, page 15. - That is precisely the reason we must define
quality as conformance to requirements if we
are to manage it. Thus, those who want to talk
about quality of life, must define that life in
specific terms, such as desirable income, health,
pollution control, political programs, and other
items that can each be measured. When all
measurement of quality of life is possible and
practical.
9- We decided we were in the business of causing
and measuring conformance to the requirements.
Therefore, quality means conformance. Nonquality
is nonconformance.
10Software quality means satisfying requirements,
both stated and implied.Greenwood, Frank,
Introduction to Computer-Integrated
Manufacturing, Harcourt Brace Jovanovich,
Publishers, Orlando, FL, 1989, page 15.Quality
means meeting the customers expectations.
11Software Quality Assurance
- Quality Attributes
- Correctness
- Fulfills Users Objective
- Meets Specifications
12Software Quality Assurance
- Quality Attributes
- Usability
- Easy to Learn How to Use it
- Easy to Run Program
- Easy to Input Data and Interpret Results
13Software Quality Assurance
- Quality Attributes
- Testability
- Easy to Devise Test to Verify Functional
Correctness
14Software Quality Assurance
- Quality Attributes
- Repairability
- Easy to Find and Fix Errors as They Are
Identified
15Software Quality Assurance
- Quality Attributes
- Enhanceability
- Easy to Change to Meet New Requirements
16Software Quality Terminology
- Error (mistake)
- Any unintentional or imprudent act causing a
fault - Fault (defect, bug)
- Any aspect of software with unanticipated
potential to cause a failure - Failure (crash)
- A difference between need and effect
- Incident
- Any event that needs investigation
17(No Transcript)
18Software QualityMeansSatisfying
Requirements,Both Stated and Implied.
- Implied requirements increase the risk of
customer disappointment. - Therefore, all high priority attributes should be
stated in the requirements specification.
19Quality Attributes Should Be Prioritized In
Requirements Specification.
- Ex. Reliability - High medium low
- Availability - High medium low
20Where is Quality?
- Requirements Specification
- Functional Specification
- Design
- Implementation
- Test Plan
- Documentation
21The most difficult problem in engineering today
is getting mistakes out of software. If you dont
share that view, you dont know how difficult the
job is.(W.W. Royce, T.R.W.)
22(No Transcript)