Chapter 1
The Uniqueness of Software Quality
Assurance
•
•
•
•
•
•
Part 1
The software quality challenge
What is software quality?
Software quality factors
The components of the software quality assurance system – overview
The software quality challenge
• The Software Quality Challenge
• Differences between Software Products and
Industrial Products
• Only Chance to Discover Defects:
• The Environment for which SQA Methods are
Developed
The Software Quality Challenge
• This chapter is essentially about two major topics: – The uniqueness of software quality assurance
– The environments for which SQA methods are developed. Introduction
• Why study Quality Assurance and Testing?
• With all the methodology wars, numerous processes, huge number of tools to assist in software development, why this separate topic? • What makes SQA important that it deserves so much attention?
• SQA is a key course in software engineering curricula. Differences between Software
Products and Industrial Products
• High complexity
– The potential ways in which a software product can be used with different data / data paths reflecting different incoming data is almost infinite.
– Manner in which industrial products can be used are usually well-defined.
– Think about software:
• every loop with different values of data reflects a different opportunity to see software fail.
• In truth, the number of paths through a non-trivial software product is infinite.
Differences between Software
Products and Industrial Products
• Invisibility of the product
– In an industrial product, missing parts are obvious. • Something missing? Easily identified.
– Not so in software products.
• May not be noticeable for years – if at all!
• Cite: phantom paths product at AFDSDC!
• Parts may have never been in the software ever!