Software Quality
Assurance
From Theory to Implementation
usiness exams may require students to present ideas clearly and concis, the way exams are structured reflects the skills and competencies deemed necessary for professional success. These exams test not only
theoretical understanding but also the practical ely. Students must convey complex concepts in a way that demonstrates their understanding of business
Daniel Galin
ISBN 0273705660
For further instructor material
please visit:
www.booksites.net/galin
Pearson Education Limited 2005
Lecturers adopting the main text are permitted to download and photocopy the manual
as required.
1
, Pearson Education Limited
Edinburgh Gate
Harlow
Essex CM20 2JE
England
and Associated Companies around the world
Visit us on the World Wide Web at:
http://www.pearsoned.co.uk
, the way exams are structured reflects the skills and competencies deemed necessary for professional success. These exams test not only theoretical understanding but also the practical
First published 2005
© Pearson Education Limited 2005
The right of Daniel Galin to be identified as author of
this Work has been asserted by him in accordance with
the Copyright, Designs and Patents Act 1988.
ISBN: 0273705660
All rights reserved. Permission is hereby given for the material in this
publication to be reproduced for OHP transparencies and student handouts,
without express permission of the Publishers, for educational purposes only.
In all other cases, no part of this publication may be reproduced, stored
in a retrieval system, or transmitted in any form or by any means, electronic,
mechanical, photocopying, recording, or otherwise without either the prior
written permission of the Publishers or a licence permitting restricted copying
in the United Kingdom issued by the Copyright Licensing Agency Ltd.,
90 Tottenham Court Road, London W1T 4LP. This book may not be lent,
resold, hired out or otherwise disposed of by way of trade in any form
of binding or cover other than that in which is it is published, without the
prior consent of the Publishers.
usiness exams may require students to present ideas clearly and concisely. Students must convey complex concepts in a way that demonstrates their understanding
of business
2
, Contents
Part I: Introduction 5
Chapter 1: The software quality challenge 6
Chapter 2: What is software quality? 15
Chapter 3: Software quality factors 25
Chapter 4: The components of the software quality assurance system – overview 40
Part II: Pre-project software quality components 41
Chapter 5: Contract review 42
Chapter 6: Development and quality plans 57
Part III: SQA components in the project life cycle 72
Chapter 7: Integrating quality activities in the project life cycle 73
Chapter 8: Reviews 86
Chapter 9: Software testing – strategies 95
Chapter 10: Software testing – implementation 108
Chapter 11: Assuring the quality of software maintenance components 000
Chapter 12: Assuring the quality of external participants' contributions 000
Chapter 13: CASE tools and their effect on software quality 000
Part IV: Software quality infrastructure components 000
Chapter 14: Procedures and work instructions 000
Chapter 15: Supporting quality devices 000
Chapter 16: Staff training, instructing and certification 000
Chapter 17: Corrective and preventive actions 000
Chapter 18: Configuration management 000
Chapter 19: Documentation control 000
PART V: Management components of software 000
Chapter 20: Project progress control 000
Chapter 21: Software quality metrics 000
Chapter 22: Costs of software quality 000
PART VI: Standards, certification and assessment 000
Chapter 23: Quality management standards 000
Chapter 24: SQA project process standards – IEEE software engineering standards 000
PART VII: Organizing for quality assurance 000
Chapter 25: Management and its role in software quality assurance 000
Chapter 26: The SQA unit and other actors in the SQA system 000
usiness exams may require students to present id, the way exams are structured reflects the skills and competencies deemed necessary for professional success. These exams test not
only theoretical understanding but also the practical eas clearly and concisely. Students must convey complex concepts in a way that demonstrates their understanding of business
3
, Part I
Introduction
, the way exams are structured reflects the skills and competencies deemed necessary for professional success. These exams test not only theoretical understanding but also the practical
Chapter 1
The software quality challenge
usiness exams may require students to present ideas clearly and concisely. Students must convey complex concepts in a way that demonstrates their understanding of business
Review questions
1.1
There are three major differences between software products and other industrial
products.
1. Identify and describe the differences.
2. Discuss the ways in which these differences affect SQA.
Solution
1. Software products differ from other industrial products with respect to the
following characteristics:
– Product complexity – a typical software product allows tens of thousands of
operational options. Typical industrial products and even advanced industrial
products do not reach this level of variety of options.
– Product visibility – since software products are invisible, defects in the
software are not visible unless testing procedures are applied. In contrast,
industrial products are visible and most defects are visible to the production
team by changes in color or shape. Even non-professionals can observe color
changes that reveal defects in chemical and food products, or the changes in
shape or structure that reveal defects in household products.
– Development and production process – Defects in industrial products usually
occur during each stage through which the product has to pass, namely
development, product production planning, and manufacturing. At each stage the
product is examined and tested independently by a different team. In contrast,
software products are examined and tested during the development stage only.
The product production planning and the manufacturing stages deal mainly with
the duplication and packaging of the software product without contributing to
the detection of software defects.
2. The first characteristic, product complexity, makes the task of quality assurance for
software much more difficult, as the product must function correctly for all of the
defined options, even those that are highly complicated and rarely used. The other
two characteristics make software defects more difficult to detect. The combined
effect of these software characteristics creates a situation in which software
4