CONTENTS
Figures and tables v Acknowledgements vi Preface vii
1 Fundamentals of testing 1
Section 1 Why is testing necessary? 1 Section 2 What is testing? 6 Section 3 Seven testing principles 9 Section 4 Fundamental test process 14 Section 5 The psychology of testing 18 Section 6 Code of ethics 23 Chapter review 25 Sample exam questions 26
2 Testing throughout the software life cycle 27
Section 1 Software development models 27
Section 2 Test levels 34
Section 3 Test types 40
Section 4 Maintenance testing 44
Chapter review 48
Sample exam questions 49
3 Static techniques 50
Section 1 Static techniques and the test process 50
Section 2 Review process 52
Section 3 Static analysis by tools 63
Chapter review 69
Sample exam questions 70
4 Test design techniques 71
Section 1 The test development process 71
Section 2 Categories of test design techniques 77
Section 3 Specification-based or black-box techniques 81
Section 4 Structure-based or white-box techniques 99
Section 5 Experience-based techniques 106
Section 6 Choosing test techniques 108
Chapter review 111
Sample exam questions 112
Exercises: Test design techniques 115
Exercise solutions 116
5 Test management 121
Section 1 Test organization 121
Section 2 Test planning and estimation 125
Section 3 Test progress monitoring and control 1 36
Section 4 Configuration management 142
Section 5 Risk and testing 143
Section 6 Incident management 149
Chapter review 154
Sample exam questions 155
Exercise: Incident report 158
Exercise solution 159
6 Tool support for testing 160
Section 1 Types of test tool 160
Section 2 Effective use of tools: Potential benefits and risks 175 Section 3 Introducing a tool into an organization 181 Chapter review 184 Sample exam questions 186
7 ISTQB Foundation Exam 187
Section 1 Preparing for the exam 187 Section 2 Taking the exam 188 Section 3 Mock exam 191
Glossary 199
Answers to sample exam questions 221 References 225 Authors 229 Companies 232