ESSENTIAL SOFTWARE TEST DESIGN
1
2
ESSENTIAL SOFTWARE TEST DESIGN
ESSENTIAL SOFTWARE TEST DESIGN
3
Copyright © Fearless Consulting Kb
A Production with Unique Publishing Ltd
English translation by Philip Medding, Estilo Translations
Cover Art & design Alexandra Neméth, Grundform
Illustrations Alexandra Németh, Grundform
Production Manager Cecilia Henricson
Typographer Elisabet Jensen
Printed Mediaprint Uddevalla AB, Sverige 2007
ISBN 13: 978-91-85699-03-9
ISBN 10: 91-85699-03-9
4
ESSENTIAL SOFTWARE TEST DESIGN
Dedication:
For Karin, Elin and Alice
ESSENTIAL SOFTWARE TEST DESIGN
5
6
ESSENTIAL SOFTWARE TEST DESIGN
CONTENT
FOREWORD: BY JAMES BACH ..............................................................
FOREWORD: BY STUART REID..............................................................
PREFACE BY AUTHOR ...........................................................................
1
PREFACE.....................................................................................
1.1 Whom the Book is Intended For..............................................
1.2
The Structure of the Book........................................................
1.3 What is not in This Book ..........................................................
The Author ................................................................................
1.4
1.5
Acknowledgements ..................................................................
PART I
2
2.1
2.2
2.3
2.4
INTRODUCTION.........................................................................
Insuffi cient Requirements ........................................................
Infi nite Number of Possible Test Cases ....................................
Less Time....................................................................................
Other Tips ..................................................................................
WHAT IS TESTING?....................................................................
3
Controllability – How Do We Ask the Questions? ..................
3.1
Test Design – What Questions Do We Ask?.............................
3.2
Observability – How Do We See the Answers? .......................
3.3
3.4
Oracle – How Do We Know if The Answers are Correct?.......
3.4.1 Heuristics ...................................................................................
3.4.2 High Volume Automated Testing ............................................
3.5
Example: Loan Application ......................................................
DEVELOPMENT MODELS ..........................................................
4
4.1
The Waterfall Model.................................................................
4.1.1 The Effect on Testing ................................................................
4.2
The V-model ..............................................................................
4.2.1 The Effect on Testing ................................................................
4.3
The W-model.............................................................................
4.3.1 The Effect on Testing ................................................................
Unifi ed Process..........................................................................
4.4
ESSENTIAL SOFTWARE TEST DESIGN
15
17
19
21
22
22
23
23
23
27
27
28
29
30
33
34
34
34
35
35
35
35
39
39
41
41
43
43
44
45
7
4.4.1 Phases in the Process ................................................................
4.4.2 The Effect on Testing ................................................................
4.5
Agile ..........................................................................................
4.5.1 The Effect on Testing ................................................................
APPROACHES ............................................................................
5
Test Levels..................................................................................
5.1
5.1.1 Unit Testing ...............................................................................
5.1.2 Unit Integration Testing ...........................................................
5.1.3 System testing ...........................................................................
5.1.4 System Integration Testing.......................................................
5.1.5 Acceptance Testing ...................................................................
5.1.6 Test Levels in Production ..........................................................
5.2 Which Tests Do We Run? ..........................................................
5.3
Scripted Testing.........................................................................
The Context-Driven School.......................................................
5.4
5.5
Striking the Golden Balance ....................................................
EXPLORATORY TESTING EXPLAINED .......................................
6
Exploratory Testing Defi ned.....................................................
6.1
Other Terms for Exploratory Testing .......................................
6.2
Think of it as an Approach, Not a Technique..........................
6.3
Exploratory vs. Scripted Testing ...............................................
6.4
6.5
How to Identify Exploratory Testing........................................
6.6 Why Talk About ET?..................................................................
6.7
Exploratory Testing From the Outside.....................................
Exploratory Testing on the Inside: A Skilled Activity ..............
6.8
6.9
Exploratory Testing is a Profoundly Situational Practice........
6.10 Managing Exploratory Testing.................................................
6.11 Where ET Fits ............................................................................
ET in Action ...............................................................................
6.12
6.13
The Productivity of ET .............................................................
6.14 Acknowledgements ..................................................................
7
TEST DESIGN TECHNIQUES: AN OVERVIEW ............................
7.1
Static and Dynamic Techniques................................................
7.2
Static Techniques.......................................................................
7.2.1
Inspection ..................................................................................
7.2.2 Walkthrough .............................................................................
45
45
46
47
49
49
49
50
50
50
50
51
52
53
54
55
57
57
59
60
60
61
62
62
64
69
70
72
73
74
75
77
77
77
78
78
8
ESSENTIAL SOFTWARE TEST DESIGN