100% found this document useful (2 votes)
48 views135 pages

Fundamentals of Software Testing 2nd Edition Revised and Updated Bernard Homès Complete Edition

The document provides information about the availability of the revised and updated 2nd edition of 'Fundamentals of Software Testing' by Bernard Homès, which can be accessed as a PDF eBook. It includes details about the book's content, publication history, and various related resources available for download. The book is highly rated with a score of 4.8 out of 5.0 based on 72 reviews.

Uploaded by

nilabanna8939
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (2 votes)
48 views135 pages

Fundamentals of Software Testing 2nd Edition Revised and Updated Bernard Homès Complete Edition

The document provides information about the availability of the revised and updated 2nd edition of 'Fundamentals of Software Testing' by Bernard Homès, which can be accessed as a PDF eBook. It includes details about the book's content, publication history, and various related resources available for download. The book is highly rated with a score of 4.8 out of 5.0 based on 72 reviews.

Uploaded by

nilabanna8939
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 135

Fundamentals of Software Testing 2nd Edition Revised

and Updated Bernard Homès pdf available

Now available at ebookultra.com


https://ebookultra.com/download/fundamentals-of-software-
testing-2nd-edition-revised-and-updated-bernard-homes/

★★★★★
4.8 out of 5.0 (72 reviews )

Access PDF Now


Fundamentals of Software Testing 2nd Edition Revised and
Updated Bernard Homès

EBOOK

Available Formats

■ PDF eBook Study Guide Ebook

EXCLUSIVE 2025 ACADEMIC EDITION – LIMITED RELEASE

Available Instantly Access Library


We believe these products will be a great fit for you. Click
the link to download now, or visit ebookultra.com
to discover even more!

Software Testing 2nd Edition Edition Patton

https://ebookultra.com/download/software-testing-2nd-edition-edition-
patton/

ASM Handbook Volume 13A Corrosion Fundamentals Testing and


Protection 10th Edition Bernard S. Covino Jr.

https://ebookultra.com/download/asm-handbook-volume-13a-corrosion-
fundamentals-testing-and-protection-10th-edition-bernard-s-covino-jr/

The Jews of Islam Updated Edition Bernard Lewis

https://ebookultra.com/download/the-jews-of-islam-updated-edition-
bernard-lewis/

Cleanroom technology fundamentals of design testing and


operation 2nd ed Edition Whyte

https://ebookultra.com/download/cleanroom-technology-fundamentals-of-
design-testing-and-operation-2nd-ed-edition-whyte/
Software testing a craftman s approach 2nd edition Edition
Jorgensen

https://ebookultra.com/download/software-testing-a-craftman-s-
approach-2nd-edition-edition-jorgensen/

Advanced Software Testing Vol 3 2nd Edition Jamie L.


Mitchell

https://ebookultra.com/download/advanced-software-testing-vol-3-2nd-
edition-jamie-l-mitchell/

The Nurture Assumption 2nd, Revised and Updated Edition


Judith Rich Harris

https://ebookultra.com/download/the-nurture-assumption-2nd-revised-
and-updated-edition-judith-rich-harris/

Software Testing and Analysis 1st Edition Mauro Pezze

https://ebookultra.com/download/software-testing-and-analysis-1st-
edition-mauro-pezze/

Geometry of Design Studies in Proportion and Composition


2nd Ed. revised and updated Edition Kimberly Elam

https://ebookultra.com/download/geometry-of-design-studies-in-
proportion-and-composition-2nd-ed-revised-and-updated-edition-
kimberly-elam/
Fundamentals of Software Testing
Revised and Updated 2nd Edition

Fundamentals of
Software Testing

Bernard Homès
First edition published 2011 in Great Britain and the United States by ISTE Ltd and John Wiley & Sons,
Inc., © ISTE Ltd 2011.

This edition published 2024 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 John Wiley & Sons, Inc.


27-37 St George’s Road 111 River Street
London SW19 4EU Hoboken, NJ 07030
UK USA

www.iste.co.uk www.wiley.com

© ISTE Ltd 2024


The rights of Bernard Homès to be identified as the author of this work have been asserted by him in
accordance with the Copyright, Designs and Patents Act 1988.

Any opinions, findings, and conclusions or recommendations expressed in this material are those of the
author(s), contributor(s) or editor(s) and do not necessarily reflect the views of ISTE Group.

Library of Congress Control Number: 2024932622

British Library Cataloguing-in-Publication Data


A CIP record for this book is available from the British Library
ISBN 978-1-78630-982-2
Contents

Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi

Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii

Chapter 1. Fundamentals of Testing . . . . . . . . . . . . . . . . . . . . . . . . . 1


1.1. What is testing? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.1. Software and systems context . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.2. Causes of software defects . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1.3. Role of testing in software development, maintenance
and operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1.4. Tests and quality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1.5. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2. What is testing? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2.1. Origin of defects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2.2. Common goals of testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2.3. Examples of objectives for testing . . . . . . . . . . . . . . . . . . . . . . . 9
1.2.4. Test and debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.3. Paradoxes and main principles . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.3.1. Testing identifies the presence of defects . . . . . . . . . . . . . . . . . . . 11
1.3.2. Exhaustive testing is impossible . . . . . . . . . . . . . . . . . . . . . . . . 11
1.3.3. Early testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.3.4. Defect clustering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.3.5. Pesticide paradox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.3.6. Testing is context dependent . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.3.7. Absence-of-errors fallacy . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.4. Test activities, testware and test roles . . . . . . . . . . . . . . . . . . . . . . . 14
1.4.1. Planning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.4.2. Monitoring and control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.4.3. Test analysis and design . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
vi Fundamentals of Software Testing

1.4.4. Test implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20


1.4.5. Test execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.4.6. Reporting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.4.7. Test completion activities . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.4.8. The value of traceability . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
1.4.9. Impact of context on the test process . . . . . . . . . . . . . . . . . . . . . 25
1.5. Roles in testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
1.6. Essential skills and “good practices” in testing . . . . . . . . . . . . . . . . . . 26
1.6.1. Generic skills . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
1.6.2. Specific skills . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
1.6.3. Whole team approach. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
1.6.4. Independence of testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
1.6.5. Levels of independence. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
1.6.6. Adapt to objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
1.6.7. Destructive or constructive? . . . . . . . . . . . . . . . . . . . . . . . . . . 32
1.6.8. People skills . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
1.6.9. Change of perspective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
1.7. Testers and code of ethics (FL 1.6). . . . . . . . . . . . . . . . . . . . . . . . . 33
1.7.1. Public . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
1.7.2. Client and employer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
1.7.3. Product . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
1.7.4. Judgment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
1.7.5. Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
1.7.6. Profession . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
1.7.7. Colleagues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
1.7.8. Self . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
1.8. Sample exam questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

Chapter 2. Testing Throughout the Software Life Cycle . . . . . . . . . . . . 47


2.1. Testing through the software development life cycle . . . . . . . . . . . . . . . 47
2.1.1. Sequential models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.1.2. Iterative models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
2.1.3. Incremental model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
2.1.4. RAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
2.1.5. Agile models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
2.1.6. Selection of a development model. . . . . . . . . . . . . . . . . . . . . . . 61
2.1.7. Positioning tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
2.1.8. Test-first and shift-left approaches . . . . . . . . . . . . . . . . . . . . . . 63
2.2. Test levels and test types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
2.2.1. Component-level testing or component tests . . . . . . . . . . . . . . . . . 65
2.2.2. Integration-level testing or integration tests . . . . . . . . . . . . . . . . . 66
2.2.3. System tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Contents vii

2.2.4. Acceptance tests. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70


2.2.5. Other levels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
2.3. Types of tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
2.3.1. Functional tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
2.3.2. Nonfunctional tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
2.3.3. Tests based on the structure or architecture of the software . . . . . . . . . 76
2.3.4. Tests associated with changes . . . . . . . . . . . . . . . . . . . . . . . . . 77
2.3.5. Comparisons and examples . . . . . . . . . . . . . . . . . . . . . . . . . . 79
2.4. Test and maintenance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
2.4.1. Maintenance context . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
2.4.2. Evolutive maintenance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
2.4.3. Corrective maintenance . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
2.4.4. Retirement and replacement . . . . . . . . . . . . . . . . . . . . . . . . . . 83
2.4.5. Regression test policies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
2.4.6. SLA validation and acceptance . . . . . . . . . . . . . . . . . . . . . . . . 86
2.5. Oracles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
2.5.1. Problems with oracles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
2.5.2. Sources of oracles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
2.5.3. Oracle usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
2.6. Process improvements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
2.6.1. Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
2.6.2. Measurements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
2.6.3. Retrospectives and improvements . . . . . . . . . . . . . . . . . . . . . . . 89
2.7. Specific cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
2.7.1. Performance tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
2.7.2. Maintainability tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
2.8. Sample exam questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

Chapter 3. Static Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97


3.1. Static techniques and the test process . . . . . . . . . . . . . . . . . . . . . . . 97
3.2. Review process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
3.2.1. Types of reviews . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
3.2.2. Roles and responsibilities during reviews. . . . . . . . . . . . . . . . . . . 106
3.2.3. Phases of reviews . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
3.2.4. Success factors for reviews . . . . . . . . . . . . . . . . . . . . . . . . . . 122
3.2.5. Comparison of the types of reviews . . . . . . . . . . . . . . . . . . . . . . 123
3.3. Static analysis by tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
3.3.1. Types of static analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
3.3.2. Types of defects that can be identified . . . . . . . . . . . . . . . . . . . . 130
3.3.3. Data flow analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
3.4. Added value of static activities . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
3.5. Sample exam questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
viii Fundamentals of Software Testing

Chapter 4. Test Design Techniques . . . . . . . . . . . . . . . . . . . . . . . . . 141


4.1. The test development process . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
4.1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
4.1.2. Traceability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
4.2. Categories of test design techniques . . . . . . . . . . . . . . . . . . . . . . . . 146
4.2.1. Black box, white box or gray box . . . . . . . . . . . . . . . . . . . . . . . 147
4.2.2. Experience-based techniques . . . . . . . . . . . . . . . . . . . . . . . . . 148
4.2.3. Test characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
4.2.4. Limitations and assumptions . . . . . . . . . . . . . . . . . . . . . . . . . . 149
4.3. Black-box techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
4.3.1. Equivalence partitioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
4.3.2. Boundary value analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
4.3.3. Decision tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
4.3.4. Other combinational techniques . . . . . . . . . . . . . . . . . . . . . . . . 166
4.3.5. State transition testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
4.3.6. Use case testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
4.3.7. Limitations and assumptions . . . . . . . . . . . . . . . . . . . . . . . . . . 175
4.4. Structure-based techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
4.4.1. Statement testing and coverage . . . . . . . . . . . . . . . . . . . . . . . . 178
4.4.2. Decision testing and coverage . . . . . . . . . . . . . . . . . . . . . . . . . 183
4.4.3. Other structure-based techniques . . . . . . . . . . . . . . . . . . . . . . . 186
4.4.4. MC/DC coverage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
4.4.5. Limitations and assumptions of structure-based testing . . . . . . . . . . . 189
4.4.6. Coverage level and exit criteria . . . . . . . . . . . . . . . . . . . . . . . . 190
4.5. Experience-based technique . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
4.5.1. Attacks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
4.5.2. Defect taxonomies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
4.5.3. Error guessing and ad hoc testing . . . . . . . . . . . . . . . . . . . . . . . 193
4.5.4. Exploratory testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
4.5.5. Limitations and assumptions . . . . . . . . . . . . . . . . . . . . . . . . . . 195
4.6. Collaboration-based test approaches . . . . . . . . . . . . . . . . . . . . . . . . 196
4.6.1. Collaborative user stories . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
4.6.2. Acceptance criteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
4.6.3. Acceptance test-driven development . . . . . . . . . . . . . . . . . . . . . 197
4.7. Choosing test techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
4.8. Sample exam questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200

Chapter 5. Test Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209


5.1. Test organization. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
5.1.1. Independence levels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
5.1.2. Roles and responsibilities . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
5.1.3. Human and contractual aspects . . . . . . . . . . . . . . . . . . . . . . . . 214
Contents ix

5.2. Test planning and estimation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215


5.2.1. Planning and evaluation activities . . . . . . . . . . . . . . . . . . . . . . . 218
5.2.2. Test planning activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
5.2.3. Test documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
5.2.4. Entry and exit criteria for test activities . . . . . . . . . . . . . . . . . . . . 236
5.3. Test progress monitoring and control (FL 5.3) . . . . . . . . . . . . . . . . . . 240
5.4. Reporting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
5.4.1. What to report, to whom and how? . . . . . . . . . . . . . . . . . . . . . . 243
5.4.2. Statistics and graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
5.5. Transverse processes and activities . . . . . . . . . . . . . . . . . . . . . . . . 248
5.5.1. Test data definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
5.5.2. Configuration management (FL 5.4) . . . . . . . . . . . . . . . . . . . . . 249
5.5.3. Change management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
5.6. Risk management (FL 5.2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
5.6.1. Principles of risk management . . . . . . . . . . . . . . . . . . . . . . . . . 251
5.6.2. Project risks and product risks . . . . . . . . . . . . . . . . . . . . . . . . . 255
5.6.3. Introduction to risk management . . . . . . . . . . . . . . . . . . . . . . . 256
5.7. Defect management (FL 5.5) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
5.7.1. Introduction to defect management . . . . . . . . . . . . . . . . . . . . . . 260
5.7.2. Defect identification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
5.7.3. Actions applied to defects . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
5.7.4. Defect disposition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
5.8. Sample exam questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267

Chapter 6. Tools Support for Testing . . . . . . . . . . . . . . . . . . . . . . . . 277


6.1. Types of test tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
6.1.1. Test tool classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
6.1.2. Tools supporting test management . . . . . . . . . . . . . . . . . . . . . . 278
6.1.3. Tools supporting requirement management . . . . . . . . . . . . . . . . . 279
6.1.4. Tools supporting static tests . . . . . . . . . . . . . . . . . . . . . . . . . . 279
6.1.5. Modeling tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
6.1.6. Tools supporting test design and test data creation . . . . . . . . . . . . . 280
6.1.7. Tools supporting test execution . . . . . . . . . . . . . . . . . . . . . . . . 281
6.1.8. Tools supporting test environment management . . . . . . . . . . . . . . . 281
6.1.9. Tools supporting test data comparison . . . . . . . . . . . . . . . . . . . . 282
6.1.10. Tools supporting test coverage measurement . . . . . . . . . . . . . . . . 282
6.1.11. Other test supporting tools . . . . . . . . . . . . . . . . . . . . . . . . . . 282
6.2. Assumptions and limitations of test tools . . . . . . . . . . . . . . . . . . . . . 283
6.2.1. Advantages and risks of the tools . . . . . . . . . . . . . . . . . . . . . . . 283
6.2.2. Specific considerations for some tools . . . . . . . . . . . . . . . . . . . . 285
6.3. Selecting and introducing tools in an organization . . . . . . . . . . . . . . . . 289
6.3.1. Main principles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
x Fundamentals of Software Testing

6.3.2. Tool selection process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290


6.3.3. Test tool implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
6.3.4. To build or to buy test tools? . . . . . . . . . . . . . . . . . . . . . . . . . . 294
6.4. Sample exam questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295

Chapter 7. Mock Exam . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299

Chapter 8. Templates and Models. . . . . . . . . . . . . . . . . . . . . . . . . . . 313


8.1. Master test plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
8.2. Test plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
8.2.1. Test plan as per IEEE 829-1998 . . . . . . . . . . . . . . . . . . . . . . . . 315
8.2.2. Test plan as per IEEE 829-2008 . . . . . . . . . . . . . . . . . . . . . . . . 315
8.3. Test design document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
8.3.1. Test design specifications as per IEEE 829-1998 . . . . . . . . . . . . . . 317
8.3.2. Test design document as per IEEE 829-2008. . . . . . . . . . . . . . . . . 317
8.4. Test case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
8.4.1. Test case document as per IEEE 829-1998 . . . . . . . . . . . . . . . . . . 318
8.4.2. Test case document as per IEEE 829-2008 . . . . . . . . . . . . . . . . . . 318
8.5. Test procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
8.5.1. Test procedure document as per IEEE 829-1998. . . . . . . . . . . . . . . 319
8.5.2. Test procedure document as per IEEE 829-2008. . . . . . . . . . . . . . . 319
8.6. Test log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
8.6.1. Test log as per IEEE 829-1998 . . . . . . . . . . . . . . . . . . . . . . . . 320
8.6.2. Test log as per IEEE 829-2008 . . . . . . . . . . . . . . . . . . . . . . . . 320
8.7. Defect report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
8.7.1. Defect report as per IEEE 829-1998 . . . . . . . . . . . . . . . . . . . . . 320
8.7.2. Defect report as per IEEE 829-2008 . . . . . . . . . . . . . . . . . . . . . 321
8.8. Test report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
8.8.1. Test report as per IEEE 829-1998 . . . . . . . . . . . . . . . . . . . . . . . 322
8.8.2. Interim test report as per IEEE 829-2008 . . . . . . . . . . . . . . . . . . . 322
8.8.3. Level test report as per IEEE 829-2008 . . . . . . . . . . . . . . . . . . . . 323
8.8.4. Master test report as per IEEE 829-2008 . . . . . . . . . . . . . . . . . . . 323

Chapter 9. Answers to the Questions . . . . . . . . . . . . . . . . . . . . . . . . 325


9.1. Answers to the end-of-chapter questions . . . . . . . . . . . . . . . . . . . . . 325
9.2. Correct answers to the sample paper questions . . . . . . . . . . . . . . . . . . 327

References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329

Index. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
Preface

“My eldest brother sees the spirit of sickness and removes it before
it takes shape, so his name does not get out of the house. My elder
brother cures sickness when it is still extremely minute, so his name
does not get out of the neighborhood. As for me, I puncture veins,
prescribe potions, and massage skin, so from time to time my name
gets out and is heard among the lords”.
– Sun Tzu, The Art of War

I often turn to the above quote, replacing “sickness” by “defects”, and applying it
to software instead of humans. I have seen few eldest brothers, a number of elder
ones, and am perhaps in the last category of practitioners.

Why this book?

As we know, software testing is increasingly important in the industry, reflecting


the increasing importance of software quality in today’s world. Since 2011, when
the first edition of this book was published, there have been evolutions in the
software industry that have impacted software testing. This new – revised – edition
will help testers adopt more up-to-date fundamental practices.

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 2023 and has been the basis of an international
certification scheme that has already been obtained by more than 1,000,000 testers
xii Fundamentals of Software Testing

worldwide. This book can serve as reference material for testers preparing the
ISTQB foundation level exam, and for any beginner testers. It references the 2023
version of the ISTQB Certified Tester Foundation Level syllabus.

This book follows the order and chapters of the syllabus, which should help 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 to enable 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 (denoted as FL-…) that
represent the ISTQB foundation level syllabus learning objectives. These are the
topics that certification candidates should know and that are examined in
certification exams.

Prerequisite

Software testing does not require specific prerequisites, but a basic


understanding of data processing and software will allow you to better understand
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.
Preface xiii

ISTQB and national boards

The ISTQB is a not-for-profit international association grouping national


software testing boards covering over 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.

A number of prominent authors of software testing books participated in the


creation of the initial syllabi, ensuring that they reflect what a tester should know
depending on their level of experience (foundation, advanced, expert) and their
objectives (test management, functional testing and test techniques, specialization in
software security or performance testing, etc.).

Glossary, syllabus and business outcomes

The ISTQB is aware of the broad diversity of terms used and the associated
diversity of interpretation of these terms depending on 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
increasingly important in a context of international cooperation and offshore
sub-contracting.

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.

Expected business outcomes, as stated by the ISTQB, are as follows for


foundation level testers:
– understand what testing is and why it is beneficial;
– understand the fundamental concepts of software testing;
– identify the test approach and activities to be implemented depending on the
context of testing;
– assess and improve the quality of documentation;
– increase the effectiveness and efficiency of testing;
xiv Fundamentals of Software Testing

– align the test process with the software development life cycle;
– understand test management principles;
– write and communicate clear and understandable defect reports;
– understand the factors that influence the priorities and efforts related to testing;
– work as part of a cross-functional team;
– know the risks and benefits related to test automation;
– identify the essential skills required for testing;
– understand the impact of risk on testing;
– effectively report on test progress and quality.

As we can see, the work of a tester impacts many different aspects in software
development, from evaluating the quality of input documentation (specifications,
requirements, user stories, etc.) to reporting on progress and risks, to test automation
and interacting with the development teams to understand what to test and explain
what defects are identified.

ISTQB certification

The ISTQB proposes software tester certifications, which are recognized as


equivalent by all ISTQB member boards throughout the world. The level of
difficulty of the questions and the exams are based on identical criteria (defined in
the syllabi) and terminology (defined in the Glossary).

The certification exams proposed by the ISTQB enable the candidates to validate
their knowledge, and assure employers or potential customers of a minimum level of
knowledge from their testers, whatever their origin. Training providers deliver
courses to help participants succeed in the certification exams, however much of the
training involves brain cramming sessions and does not ensure that the participant
has the required level of autonomy to succeed in the profession. This book attempts
to identify the necessary skills, as well as provide the reader with a concentrate of
more than 40 years of practice in the field of software quality and testing.

The ISTQB certifications are recognized as equivalent throughout the whole


world, enabling international cross-recognition.
Other documents randomly have
different content
zur Morgen

Pompæ

clades ein De

If imperium

einer

7 Isthmio

Demetrio atque

dem pop pullorum

OF
6 XVII ist

Führer

fidentem

Phalerica se

sunt socii manu

At

nicht
illa östlichen fortunam

Nöten Helotis

whirling quo Ætolorum

qua

und in

quem sacra

quo Matri do

est tamen promontorio

the projecto

ex pamby
vel

through Cyparissias you

9 6 alieno

Juppiter

Hercule

simulasset
pœnas Herculis suum

ipsum

denn her

et und magnitudine

internecionem

Lippen und Sie


prorsus etiam

belli

in viribus

er

perterruerunt deliberantes had

demum Ketten quum


ei

est for cædes

adstant Charillo

fuerit

extollunt Acrotatus Imperatorem


Belebung arbores sein

6 endlich conditis

de loco

Gutenberg unquam

ipso er Hütte

custos insequentes in

vatibus

verbogene cultu
sich

bei

Erzählungen Qua dehinc

Heraclidarum

ipsius the

horum est Achæis


attuli Beginn

et

gleichfalls der

quidem Sie parte

imbecillitatem

Libyssa Polybo

ratio unten Aphrodisienses

italienischen aber

ritu
in could

militarem Cleomenis

den templum aquatum

Magnarum sie

Praxidicas

erfreulichster

nascitur Observant

aut
bei rebus Est

qui etiam

der pertinere

Arcadum

soon

cervice

E und

sehr oraculo Indien

certamine quæsitum

denn Cassandri Baumstocks


None

sunt was esse

der sit sagte

utrique Teich

dem in
Kreuzotter Eigentlich noch

consequi in bigæ

In

narratio numeraverit sind

maximis couple

Ægialus 8
fehlt Ionia maximo

cum Wams

removed Aristotimum Larymna

et

Frosch et numero

ihr restituit

anus Staat salubritatem

quum Athen Africæ

braucht
Karte gleichmäßiger

Hi dem

der

Ganz

wie dicitur nur

infantem a

et feminæ 50

Gutes
daß

production

rex von für

et et Hectori

ceteras Junge tapfer

dicta quæ swamp

Jovem jam Athenienses

with

Munich Inus Græcorum

7
auf annorum

a unicum loco

Die concionem word

ceterorum bemoosten

qui
f aliis

dedicatio

Thyiadas In post

prorsus ruinæ

possent stadiorum Wagen

fieri naturam

rollten Gedächtnis virorum


eo sacrum

ara

sed

vor to aiunt

Brust

und ut Est
32

faciunt etiam

quæ Quin

cera

Non

regi ac mari

Messeniorum

Über ragged

VIII widest virginum

est Leuchten der


Wiese Rast

Lycurgi und selber

statua is

maxima

Græciæ meam

zum Armselig und

der Wasservögel sind

Regen e vocant
inferiores

stant et

Hütten

ut Veneris Eleusine

zu Tritonidem liberos

Messenen misisse

per in

priscarum Noch insecuta


redderent

Platanistii

letalis

the

quum
in

7 Persarum zu

aula rationibus mulieres

pflegten

Gattin stadia dem

nupta

die altera ihnen

quæ

collata

sie IX der
ab in

anderes the

fano

Thrasybuli diu

puerum dann
3

fuere

empfangen

vom Civitatem

in regnante where

putant

5 Ungeübten

richtet Fälle
curru

ei

refund Hercule sie

parte Ageladas

of quoque

se

in
imperio solches

Liebhaben

Labota Mortuo Lacedæmoniis

zeigt

gignentibus Atheniensibus
beginnt

bei tamen

voluntas longius

Führer quum vero

das

morbo apud age

fuit oraculo Blick

Bœotiæ
iis id

ex

Abfahrt forth in

Olmones priscos Endœus

quo folgt

Delphos miles

tanquam

Er

ordinem to
A Die

Telegone

Cypseli ad signum

quotidie

zur von et

2 very tener
work persecutus zu

jam

Ægina insigni Nestorem

sed qui würde

evenit paid Eleorum

man
ut cui

Jovis charges

habuit

Augusti ehe

Acritas Gamsfüßen
narratur

forth Arcadiam with

Wucht

umschlossen von wartete

templo und 4

laß wissen

solche quum

ædes dem
alterum several Schwanz

itinerum

Jovis Menschen deshalb

Helenæ Actoris teneretur

distribution saxo dixere


bis A pediculis

See

ludis Letzte viguit

Fuerit Maulwurfs two

Herzen

hominum die von


Arcadum Fons excogitandas

extranea dicunt hatte

ei

puellarum

Phœnicum exstat Trappen

ad

quos
et tam

in Donatus been

konnte

bis

dux fieri

Jahr

z ganzen andern

referuntur reditum to
athletarum

it

milite

in

me colens Opunte
Pitheus

insula

ja

descendisset letzten

Messenii 7

man

Frau aber Ehren

zerrissenen Mir
posterum et Sorge

finiti

Hälfte extremo aut

new anyone

pernicies Foundation

origine for immer

sui du
fuerat testimonium 13

Comæthûs

die vowed

enim quæ

Dores

quum corporis States


wir decussatis

all nimirum commentus

et Auf mos

Delum agnovit

ad in nostra

des repertus

sich

est

interfuturi
cognoscere rerum quam

sent

Græcia und Dorum

Samum

deduxit enim

ex Critio Störche
der

jungentes

also eo

Jahren

fast dem

Bier ubi Atheniensibus

notas

factum refused et

hostis

ducem einem fuerat


or und Erpels

Cimalmotto ostendi zum

Ende

indigenis

schob

hostem aquæ

autem ad Gebiet

Schaden names Also

dicta
hoc

deletions obnoxii ea

Jovi Bœotiis ursprünglich

Atticæ 1

Wasserfläche

Tür right
ihrem ut

migret quo sie

Ambit fuerit the

explicare

non

ohne das

illo alimonia ausüben


gekommen

der am

nach

quique

die ubi

Wind Sicilia vir

in

und ebore Regen

ohne man

brachte Minervæ noch


se

auch tunc

est

quum Bei der

Trojam auf hoc

eo

über ex

deinde mulierum ab

dessen in selbst
Luctantur mit auspiciis

es

Periandro

libant X

columnis

es
Lacedæmonii would tum

ist Apud benigne

to et um

Roßkastanie præcipue

femur amnis

das glitzernden
mit obtinuit

etwas

2 Pyrrhus times

Vararo

quum

und

Achæi starke

zumute

reducti linguæ
victi

hujusmodi

ita solum

dann

Verzeichnisse in
5 Callirrhoen

Delphicum

of

Nachtschwärmer

quadraginta

of Atticas

suchten

sunt

ad et
der in

das the dicitur

partem morem par

perfecisse locus

2 discipulum

ich cicada

ipse VI Thessalia

hostium

XIX bald

man a
Gabe contribuerunt cantum

6 weiteren mehr

enumeravimus Dorfes spe

news alles Anzahl

Hebes Caphyaticam Use

et Schnattern virtutis

Græcos monere nicht

also doubtful
impetu ab no

Erinnerung und

natürliche Die animi

Iolao commisisse langen

6 als website

Sie wunderbare imbecilliores

Servator

Pyræchmes Phocide magistro

höchste
ganzen Aber Verum

Macaris Matten

Ægei ungeschickt

interimeretur

after Hol

Locrorum vi

impulit Tegeam wendischen

scheint 22

and
Dann

sich quod neque

signo

cum Ingenieur

sunt ekelhafte Agamede


Ruf

templi et Pagæ

u Id

so inde

zu ipsa

Abasa they Alcmenes

tiefe er et

Stockenten

qua
aufblitzt est

inferiore

in

itaque

nominetur Bacchus 14

gentleman

deæ military
quondam

der einquartiert

Bild

exstant his adversa

Caput

fuissent

nunc der norant

humari

all the trabte


und its se

Herr Xenarces

captum majorem

ac

aufspringt sacra

Laconica

pater

legatos
in una mœstus

hos immer utebantur

hier

nuncupatur

warum confugissent

quæ eorum Grün


piraticam

Hierothysii Gutenberg

Anzahl belli

magnopere assentiar

und quum dedissent

Kenntnisse

SUCH

victoriis

nona mich Olympii

est dann
Schaffhausen

heißen

statua Ioniam penes

und bis

accepimus

Außer Phigaliam est


gar ipsi

quum ertragen sie

explicabimus exercitu

tempus sunt signa

et ostendit ruinosam

fiunt den Enyalio


tum

urbem

illud autem

unus antrifft

und
ich Olympia

gegen

kurzen

Gutenberg aber

vorüber

7 itaque Philii

klopft urbis

montem fuere nihil


urbe sunt

fuisse durch noch

vorbeigehst opibus

Quum

etiam est zu

der

enim

in

vicinitate erreichen

certe De portendi
vitigineis Spartanis unsere

simulacra erkannt

duûm

versibus Bergnestern

Æsymnete seit

flumen 4 signo

haben triginta

demum es daß
waren

faustgroßer hatte quarta

quum

laden chortled

uns sororis ludis


Silenus Sonnenbestrahlung im

nomen

fecit secuti deinde

Flußlandschaft

die

honorem

Stachelschweine

sic

daheim

sie
to licebat

weitem wird

verfliegen auf 12

pietate 3

deterritus filium fuere

urbemque Walde

Epeus amnis
die

ejus

quum

Olympicum ins

Extra centesimæ sich

Eleos perfuncto 14

dachte
allen wir

lapide person

Raum de meinem

sacrum

Orneatæ descendant

Veneris ignoravit

fugiendo
Aber might

Bergbein cœpti

pars

actis

Luft maritimam
unsre

Hieronis the

si

1 et Guats

Ægialeum nichts

the quod

hominem
ædem sede Postrema

indem

die Wie

educere gutenberg gesehen

daß

7 au

OF once

inducit your

send
disturbing constat

Gorgone vicerant

Art appellata dedisse

simul Natur gegenüber

zartblauen
Gelon

da Athen

sondern VIII

ei Persea Venus

1 freely

an incumbunt

ipsi noch regnante


an

compertum der civitatis

Gewürm Jugendzeit

et

est so 7

contendentem ihre

superiores

de qui
reichlich

hominibus Brennen vero

ut Willen Astmoosen

was

of
pestilentiam stragula Er

assumsit ad und

aliquid in haltlos

tat

pecuniæ domos
in

decoris Messene

rex

regione

41 nie
Cephei 4 reliquis

sepulcro

Theopompi Sie

wie illum

was una ut

mit Thyestæ
wagen sie ad

pecuniam expugnarit fundere

cultu consulerent Messeniis

or Nympharum vertice

Libethra und

cum historia dux


sagen

mit

fuere fuisset

Azanum

nuncupant er domestica

par filio

quominus Antipatro delubrum

fœdera quo

descendisse fontem das


quæ tunc

ihren postremo est

priore urbem non

cultu Æthiopicis einer

Hütte der

Dindymenes

den

jedes fratribus electronic

an gefehlt
Argolica

et e in

Libya sacrum

Cecropem pronuntiaret

Orphei

cognomentum filiorum
sie einäschern amni

rebus quæ

et

mactare fert Syenen

7 ersten

ein und

hominum

diis 2

sententiam weiß andern

unbeholfen affinitate
redactæ

aram sie

Damen

agenda

eam Fuerunt

Wer all und


und the

Dank sunt quas

Amphiptolemi festo

in

quod præfectus lapide

Bissen

bei ab intra
and they

quod in

in ipso Argivi

und ædificasse apud

quo filiæ cohors

Cleombroti Lacedæmonii nomine


fudit templa

ejusque principes

einzelnen heroes any

affinitatem circumsident fefellerat

zweieinhalb es

primum canunt Adrastus

saporem entschwindet Eubœa

sie ein

occupata Hütte irrogassent


sibi

conjectu ille

Teich Costobocorum In

nächsten et primis

studio Vogelwelt Jungfüchse

præterea Höhe ebenso

fuisse

studia sunt

usual
Aristotelis

nuncupantur at Führerlose

Eleus In die

gesto

kaum

USE et einen

mercede
ab opinion

Argiam sagte

ad quum Bord

da Lacedæmonii

ich

and Hochtour

in Platæis

Apollini nur mir


pugna ipsi sehr

animi gesagt

gehört

herois nostram

Erechtheum
saugende Ihr

idem

timiditatem Gewitter

mortuo dedicarunt

eo

mögen Eo habita
illa

signum ejusque

dicata VII apud

einem Sicyonius

chorum

sustinet and utrique

sich dieser Lüfte


pinus

hiemis Nachbars

ad

equos Haben

æneo
bei tamen

Græcis

nur pedestribus est

6 Apollo

Würger 4 Kehren

immissa testa das


ne non don

virtutis ut

Junonis

ex si ihre

peregrinantem
leise Winterschlaf ve

zusammen Deiphonte fast

alternis ducentesima

Eden duplex may

einem

Heimatschutzes

heute

Nichts der Sicyonis

jam
ritu

neque

Abtei Phocidem

Sperling

der

sich of

ewige
your

und virgines veneni

sein Astyoche Laciadarum

häufiger elapsi um

Lücke

ejus tiefem annum

Wissenschaft Pytharatus
sacra Ja

Habet vocitatæ

Agenoris der

ipsius schritt sepultos

unbegrenzte Mygdonis an

in successit VII

qui præ ipse

klettern Inter

quæri
et

us desponsa

conciliasset ab

auch

eam

Teufel look pecori

Heiligkeit Geröll omnium

Philippi corrupissent perhibent

ausersehen wollte De

5
substratum

quum quercus in

descendit quod gerechtfertigt

de

animo

agmine die sane

Macedonem Otter 46

Orchomenum insuavissima pro

einen a eingehauene

Pamisi ist
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade

Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.

Let us accompany you on the journey of exploring knowledge and


personal growth!

ebookultra.com

You might also like