Software Testing: An ISTQB-ISEB Foundation Guide by ... - · PDF fileSoftware teSting An ISTQB–ISEB Foundation Guide Revised Second Edition Brian Hambling (Editor), ... (review of

Embed Size (px)

Citation preview

  • Software teStingAn ISTQBISEB Foundation Guide

    Revised Second EditionBrian Hambling (Editor), Peter Morgan, Angelina Samaroo,

    Geoff Thompson and Peter Williams

    This bestselling software testing title is the official textbook of the ISTQBISEB Foundation Certificate in Software Testing. Revised to cover the 2011 updates to the Foundation Syllabus, it is ideal for those with some experience of software testing who wish to cement their knowledge with industry-recognised techniques and theory. The book includes self-assessment exercises, sample examination questions and worked examples.

    Thebestsellingsoftwaretestingtitle TheofficialtextbookoftheISTQBISEBFoundation CertificateinSoftwareTesting Completeoverviewoftoolsandtechniques

    About the AuthorsThe authors are all experienced ISEB examination setters and markers and know the ISTQBISEB syllabus in depth. The editor Brian Hambling has experienced software development from a developers, a project managers and a quality managers perspective in a career spanning over 30 years.

    Youmightalsobeinterestedin:

    SoFTwarETESTIng:anISEBIntermediateCertificate Brian Hambling and Angelina Samaroo

    Invaluable for anyone involved in testing and would lift the game of most VV&T staff (including designers doing their informal reviews and tests) and their project managers. It is succinctly and clearly written with no nonsense. An unreserved 5 for value for money.IT Training Magazine (review of previous edition)

    InformationTechnology

    softwA

    re testing: An ISTQB - ISEB Foundation Guide

    Brian H

    ambling (Editor)

    Software teStingAn ISTQBISEB Foundation Guide Revised Second Edition

    Brian Hambling (Editor)

  • Software Testing 2nd Edition:Layout 1 10/1/10 4:55 PM Page x

  • SOFTWARE TESTINGAn ISTQBISEB Foundation GuideRevised Second Edition

    Software Testing 2nd Edition:Layout 1 11/19/11 2:45 PM Page i

  • BCS THE CHARTERED INSTITUTE FOR IT

    Our mission as BCS, The Chartered Institute for IT, is to enable the information society. We promote wider social and economic progress through the advancementof information technology, science and practice. We bring together industry, academics, practitioners and government to share knowledge, promote new thinking, inform the design of new curricula, shape public policy and inform the public.

    Our vision is to be a world-class organisation for IT. Our 70,000 strong membershipincludes practitioners, businesses, academics and students in the UK and internationally. We deliver a range of professional development tools for practitionersand employees. As leading IT qualification body, we offer a range of widely recognisedqualifications.

    Further InformationBCS The Chartered Institute for IT,First Floor, Block D,North Star House, North Star Avenue,Swindon, SN2 1FA, United Kingdom.T +44 (0) 1793 417 424F +44 (0) 1793 417 444www.bcs.org/contactus

    Software Testing 2nd Edition:Layout 1 10/1/10 4:55 PM Page ii

  • SOFTWARE TESTINGAn ISTQBISEB Foundation GuideRevised Second Edition

    Brian Hambling (Editor), Peter Morgan, Angelina Samaroo, Geoff Thompson and Peter Williams

    Software Testing 2nd Edition:Layout 1 11/19/11 2:45 PM Page iii

  • iv

    2010 British Informatics Society LimitedReprinted (with revision) in November 2011

    The right of Brian Hambling, Peter Morgan, Angelina Samaroo, Geoff Thompson and Peter Williams to beidentified as authors of this work has been asserted by them in accordance with sections 77 and 78 of theCopyright, Designs and Patents Act 1988.

    All rights reserved. Apart from any fair dealing for the purposes of research or private study, or criticism orreview, as permitted by the Copyright Designs and Patents Act 1988, no part of this publication may be reproduced, stored or transmitted in any form or by any means, except with the prior permission in writingof the publisher, or in the case of reprographic reproduction, in accordance with the terms of the licences issued by the Copyright Licensing Agency. Enquiries for permission to reproduce material outside thoseterms should be directed to the publisher.

    All trade marks, registered names etc. acknowledged in this publication are the property of their respectiveowners. BCS and the BCS logo are the registered trade marks of the British Computer Society charity number 292786 (BCS).

    Published by British Informatics Society Limited (BISL), a wholly owned subsidiary of BCS, The Chartered Institute for IT, First Floor, Block D, North Star House, North Star Avenue, Swindon, SN2 1FA, UK.www.bcs.org

    ISBN 978-1-906124-76-2

    British Cataloguing in Publication Data.A CIP catalogue record for this book is available at the British Library.

    Disclaimer:The views expressed in this book are of the authors and do not necessarily reflect the views of BCS or BISLexcept where explicitly stated as such. Although every care has been taken by the authors and BISL in thepreparation of the publication, no warranty is given by the authors or BISL as publisher as to the accuracy orcompleteness of the information contained within it and neither the authors nor BISL shall be responsible orliable for any loss or damage whatsoever arising by virtue of such information or any instructions or advicecontained within this publication or by any of the aforementioned.

    Typeset by Lapiz Digital Services, Chennai, India.Printed at CPI Antony Rowe Ltd, Chippenham, UK.

    Software Testing 2nd Edition:Layout 1 10/24/11 5:58 PM Page iv

  • v

    Figures and tables vii Abbreviations ix Authors xi

    INTRODUCTION 1Nature and purpose of the book 1 Purpose of Foundation 1 The Certified Tester Foundation Level syllabus 2 Relationship of the book to the syllabus 3 How to get the best out of this book 5

    1 THE FUNDAMENTALS OF TESTING 7 Background 7 Introduction 7Why software fails 10Keeping software under control 12What testing is and what testing does 14General testing principles 16Fundamental test process 20The psychology of testing 25Code of ethics 27Summary 28References 28

    2 LIFE CYCLES 34Introduction 34Software development models 36Test levels 41Test types 49Maintenance testing 51Summary 52

    3 STATIC TESTING 57Introduction 57Background to static techniques 59Reviews and the test process 59Static analysis by tools 68Summary 70

    CONTENTS

    Software Testing 2nd Edition:Layout 1 10/1/10 4:55 PM Page v

  • 4 TEST DESIGN TECHNIQUES 74Introduction 74The test development process 76The idea of test coverage 80Categories of test case design techniques 81Specification-based (black-box) techniques 82Structure-based (white-box) techniques 97Experience-based techniques 118Choosing test techniques 120Summary 121

    5 TEST MANAGEMENT 129Introduction 129Risk and testing 132Test organisation 135Test approaches (test strategies) 140Test planning and estimation 142Test progress monitoring and control 150Incident management 156Configuration management 159Summary 160

    6 TOOL SUPPORT FOR TESTING 167Introduction 167What Is a test tool? 169Test tools 173Introducing a tool into an organisation 204Summary 208

    7 THE EXAMINATION 215The examination 215Revision techniques 219Review 220

    Index 221

    vi

    CONTENTS

    Software Testing 2nd Edition:Layout 1 10/1/10 4:55 PM Page vi

  • vii

    Figure 0.1 Syllabus map 4Figure 1.1 Effect of an error 11Figure 1.2 Resources triangle 13Figure 1.3 Effect of identification time on cost of errors 19Figure 1.4 Fundamental test process 21Figure 1.5 Iteration of activities 22Figure 2.1 Waterfall model 36Figure 2.2 V-model for software development 38Figure 2.3 Iterative development 40Figure 2.4 Top-down control structure 44Figure 2.5 Bottom-up integration 45Figure 3.1 Stages of a formal review 62Figure 3.2 Formality of reviews 65Figure 4.1 State transition diagram of the hill-walkers watch 93Figure 4.2 State transition diagram 95Figure 4.3 Use case example 96Figure 4.4 Flow chart for a sequential program 101Figure 4.5 Flow chart for a selection (decision) structure 101Figure 4.6 Flow chart for an iteration (loop) structure 101Figure 4.7 Flow chart representation for Example 4.5 103Figure 4.8 Control flow graph showing subgraphs as nodes 106Figure 4.9 Control flow graph with subgraphs expanded 106Figure 4.10 Flow chart for Program Coverage Example 109Figure 4.11 The hybrid flow graph 109Figure 4.12 Paths through the hybrid flow graph 110Figure 4.13 Paths through the hybrid flow graph 112Figure 4.14 Paths through the hybrid flow graph 116Figure 4.15 Flow chart for Exercise 4.6 126Figure 4.16 Control flow graph for Exercise 4.6 127Figure 5.1 Levels of independent testing 136Figure 5.2 Test plans in the V-model 143Figure 5.3 iTesting Executive Dashboard 152Figure 5.4 Incidents planned/raised 153Figure 6.1 Test tool payback model 170Figure 6.2 Hotel system architecture 172Figure 6.3 An integrated set of tools 174Figure 6.4 Test execution tools payback model 188Figure 6.5 Test harness for middleware 189Figure 6.6 Test tool implementation process 209

    FIGURES AND TABLES

    Software Testing 2nd Edition:Layout 1 10/1/10 4:55 PM Page vii

  • Table 1.1 Comparative cost to correct errors 18Table 4.1 ST for the hill-walkers watch 94Table 5.1 Features of independent testing 137Table 5.2 Test plan sections 144Table 5.3 Test summary report outline 154Table 5.4 Test incident report outline 158Table 6.1 Configuration traceability 178Table 6.2 Hotel system extract (20/10/2006) 184Table 6.3 Hotel system extract (5/11/2006) 185Table 6.4 Exit criteria 191Table 6.5 Types of test tool 199

    FIGURES AND TABLES

    viii

    Software Testing 2nd Edition:Layout 1 10/1/10 4:55 PM Page viii

  • ix

    ABBREVIATIONS

    AUT Application Unde