1 Introduction 1 2 The Basics of Software Testing 5 2.1 Terms and Motivation 6 2.1.1 Error and Bug Terminology 7 2.1.2 Testing Terms 8 2.1.3 Software Quality 10 2.1.4 Test Effort 12 2.2 The Fundamental Test Process 16 2.2.1 Test Planning and Control 18 2.2.2 Test Analysis and Design 21 2.2.3 Test Implementation and Execution 24 2.2.4 Evaluation of the Test Exit Criteria and Reporting 26 2.2.5 Test Closure Activities 29 2.3 The Psychology of Testing 30 2.4 General Principles of Testing 32 2.5 Summary 33 3 Testing in the Software Lifecycle 35 3.1 The General V-Model 35 3.2 Component Test 38 3.2.1 Explanation of Terms 38 3.2.2 Test Objects 39 3.2.3 Test Environment 39 3.2.4 Test Objectives 42 3.2.5 Test Strategy 44 3.3 Integration Test 46 3.3.1 Explanation of Terms 46 3.3.2 Test Objects 48 3.3.3 Test Environment 48 3.3.4 Test Objectives 49 3.3.5 Integration Strategies 51 3.4 System Test 54 3.4.1 Explanation of Terms 54 3.4.2 Test Object and Test Environment 55 3.4.3 Test Objectives 56 3.4.4 Problems in System Test Practice 56 3.5 Acceptance Test 57 3.5.1 Testing for Acceptance According to the Contract 58 3.5.2 Testing for User Acceptance 59 3.5.3 Operational (Acceptance) Testing 59 3.5.4 Field Testing 60 3.6 Testing New Product Versions 60 3.6.1 Software Maintenance 61 3.6.2 Release Development 63 3.6.3 Testing in Incremental Development 64 3.7 Generic Types of Testing 65 3.7.1 Functional Testing 65 3.7.2 Nonfunctional Testing 67 3.7.3 Testing of Software Structure 69 3.7.4 Testing Related to Changes and Regression Testing 70 3.8 Summary 71
4 Static Testing 73 4.1 Structured Group Examinations 73 4.1.1 Foundations 73 4.1.2 Reviews 74 4.1.3 The General Process 76 4.1.4 Roles and Responsibilities 80 4.1.5 Types of Reviews ……