Table of Contents
I would like to dedicate this book to a number of persons:
to those who came before me and opened the way in the field of testing, many of them are listed in the bibliography;
to those who will follow me, hoping that this book will provide you with a good start in this wonderful career;
to my colleagues and dear friends who read the draft and proposed suggestions;
to my spouse and children who have to suffer a husband and father who is too frequently away and quite demanding.
First published 2012 in Great Britain and the United States by ISTE Ltd and John Wiley & Sons, Inc.
Apart from any fair dealing for the purposes of research or private study, or criticism or review, as permitted under the Copyright, Designs and Patents Act 1988, this publication may only be reproduced, stored or transmitted, in any form or by any means, with the prior permission in writing of the publishers, or in the case of reprographic reproduction in accordance with the terms and licenses issued by the CLA. Enquiries concerning reproduction outside these terms should be sent to the publishers at the undermentioned address:
ISTE Ltd 27-37St Georges Road London SW19 4EU UK | John Wiley&Sons, Inc. 111 River Street Hoboken, NJ 07030 USA |
www.iste.co.uk | www.wiley.com |
ISTE Ltd 2012
The rights of Bernard Homs to be identified as the author of this work have been asserted by him in accordance with the Copyright, Designs and Patents Act 1988.
Library of Congress Cataloging-in-Publication Data
Homs, Bernard.
Fundamentals of software testing / Bernard Homs.
p. cm.
Includes bibliographical references and index.
ISBN 978-1-84821-324-1
1. Computer software--Testing. I. Title.
QA76.76.T48H674 2012
005.1--dc23
2011040335
British Library Cataloguing-in-Publication Data
A CIP record for this book is available from the British Library
ISBN: 978-1-84821-324-1
Why this book
Software testing is becoming more and more important in the industry, reflecting the increasing importance of software quality in todays world.
Due to the lack of formal and recognized training in software testing, a group of specialist consultants gathered together in 2002 and founded the International Software Testing Qualifications Board (ISTQB). They defined the minimal set of methodological and technical knowledge that testers should know depending on their experience. This was gathered into what is called a syllabus. The foundation level syllabus was reviewed in 2011 and is the basis of an international certification scheme, already obtained by more than 200,000 testers worldwide. For testers who wish to prepare for the ISTQB foundation level exam, this book can serve as reference material and a study guide. It references the 2011 version of the ISTQB Certified Tester Foundation Level syllabus.
This book follows the order and chapters of the syllabus, helping you to successfully complete the certification exam. It is a one-stop reference book offering you:
more detailed explanations than those found in the ISTQB syllabus;
definitions of the terms (i.e. the Glossary) used in the certification exams;
practice questions similar to those encountered during the certification exam;
a sample exam.
For testers who want to acquire a good understanding of software and system tests, this book provides the fundamental principles as described by the ISTQB and recognized experts.
This book provides answers and areas of discussion allowing test leaders and managers to:
improve their understanding of testing;
have an overview of process improvement linked to software testing;
increase the efficiency of their software development and tests.
Throughout this book, you will find learning objectives (noted FLO-) that represent the ISTQB foundation level syllabus learning objectives. These are the topics that certification candidates should know and that are examined in the ISTQB certification exams.
Prerequisite
Software testing does not require specific prerequisites. Although it is not mandatory, a common understanding of data processing and software allows you to have a better understanding of software testing.
The reader with software development knowledge, whatever the programming language, will understand certain aspects faster, but a simple practice as a user should be enough to understand this book.
ISTQB, CFTL (Comit Franais des Tests Logiciels) and national boards
The ISTQB is a not-for-profit international association grouping national software testing boards covering approximately 50 countries. These national boards are made up of software testing specialists, consultants, and experts, and together they define the syllabi and examination directives for system and software testers. The CFTL represents France on the ISTQB and offers the ISTQB certification in France.
To define the syllabus content for all three software tester certification levels (i.e. foundation, advanced, expert), and the applicable exam directives, the ISTQB has created a number of working groups, each in charge of a specific subject (i.e. foundation level syllabus, advanced level syllabus, expert level syllabi, training provider accreditation, examination specification, etc.). These work groups are, as the national boards, made up of software testing experts and specialists, consultants, presenters at conferences, professors and national or international specialists in software testing and systems quality. Their combined expertise enables them to synthesize knowledge from numerous fields (aeronautics, space, medical, commercial, rail, telecoms, etc.) and various levels (technicians, analysts, project leaders, specialists, experts, researcher, managers, etc.).
A number of prominent authors of software testing books participate in the creation of the syllabi, ensuring that these reflect what a tester should know depending on his/her level of experience (foundation, advanced, expert) and on his/her objectives (test management, functional testing, and test techniques, specialization in software security or performance testing, etc.).
Glossary and syllabus
The ISTQB is aware of the broad diversity of terms used and the associated diversity of interpretation of these terms depending upon the customers, countries, and organizations. A common glossary of software testing terms has been set up and national boards provide translation of these terms in national languages to promote better understanding of the terms and the associated concepts. This becomes more and more important in a context of international cooperation and offshore subcontracting.
The syllabi define the basis of the certification exams; they also help to define the scope of training and are applicable at three levels of experience: foundation level, advanced level and expert level. This book focuses on the foundation level.
The foundation level, made up of a single module, is detailed in the following chapters.
The advanced level is made up of three modules:
test manager, which focuses on the test management and test process improvements aspects;
test analyst, which focuses on the testing of characteristics of the software and systems, mostly without the use of tools; and
technical test analyst, which focuses on the testing of non-functional characteristics of software and systems, mostly with the use of tools.