viii SWEBOK®Guide V3.0 Chapter 4:Software Testing 4-1 1.Software Testing Fundamentals 4-3 1.1.Testing-Related Terminology 43 1.2.Key Issues 4-3 1.3.Relationship of Testing to Other Activities 44 2.Test Levels 4-5 2.1.The Target of the Test 45 2.2.Objectives of Testing 45 3.Test Techniques 47 3.I.Based on the Software Engineer's Intuition and Experience 4-8 3.2.Input Domain-Based Techniques 4-8 3.3.Code-Based Techniques 4-8 3.4.Fault-Based Techniques 4-9 3.5.Usage-Based Techniques 49 3.6.Model-Based Testing Techniques 4-10 3.7.Techniques Based on the Nature of the Application 4-10 3.8.Selecting and Combining Techniques 4-11 4.Test-Related Measures 4-11 4.1.Evaluation of the Program Under Test 4-11 4.2.Evaluation of the Tests Performed 4-12 5.Test Process 4-12 5.1.Practical Considerations 4-13 5.2.Test Activities 4-14 6.Software Testing Tools 4-15 6.1.Testing Tool Support 4-15 6.2.Categories of Tools 4-15 Matrix of Topics vs.Reference Material 4-17 Chapter 5:Software Maintenance 5-1 1.Software Maintenance Fundamentals 5-1 1.1.Definitions and Terminology 5-1 1.2.Nature of Maintenance 5-2 1.3.Need for Maintenance 5-3 1.4.Majority of Maintenance Costs 5-3 1.5.Evolution of Software 5-3 1.6.Categories of Maintenance 5-3 2.Key Issues in Software Maintenance 5-4 2.1.Technical Issues 5-4 2.2.Management Issues 5-5 2.3.Maintenance Cost Estimation 5-6 2.4.Software Maintenance Measurement 5-7 3.Maintenance Process 5-7 3.1.Maintenance Processes 5-7 3.2.Maintenance Activities 5-8 4.Techniques for Maintenance 5-10 4.1.Program Comprehension 5-10 4.2.Reengineering 5-10 4.3.Reverse Engineering 5-10 4.4.Migration 5-10 4.5.Retirement 5-11viii SWEBOK® Guide V3.0 Chapter 4: Software Testing 4-1 1. Software Testing Fundamentals 4-3 1.1. Testing-Related Terminology 4-3 1.2. Key Issues 4-3 1.3. Relationship of Testing to Other Activities 4-4 2. Test Levels 4-5 2.1. The Target of the Test 4-5 2.2. Objectives of Testing 4-5 3. Test Techniques 4-7 3.1. Based on the Software Engineer’s Intuition and Experience 4-8 3.2. Input Domain-Based Techniques 4-8 3.3. Code-Based Techniques 4-8 3.4. Fault-Based Techniques 4-9 3.5. Usage-Based Techniques 4-9 3.6. Model-Based Testing Techniques 4-10 3.7. Techniques Based on the Nature of the Application 4-10 3.8. Selecting and Combining Techniques 4-11 4. Test-Related Measures 4-11 4.1. Evaluation of the Program Under Test 4-11 4.2. Evaluation of the Tests Performed 4-12 5. Test Process 4-12 5.1. Practical Considerations 4-13 5.2. Test Activities 4-14 6. Software Testing Tools 4-15 6.1. Testing Tool Support 4-15 6.2. Categories of Tools 4-15 Matrix of Topics vs. Reference Material 4-17 Chapter 5: Software Maintenance 5-1 1. Software Maintenance Fundamentals 5-1 1.1. Definitions and Terminology 5-1 1.2. Nature of Maintenance 5-2 1.3. Need for Maintenance 5-3 1.4. Majority of Maintenance Costs 5-3 1.5. Evolution of Software 5-3 1.6. Categories of Maintenance 5-3 2. Key Issues in Software Maintenance 5-4 2.1. Technical Issues 5-4 2.2. Management Issues 5-5 2.3. Maintenance Cost Estimation 5-6 2.4. Software Maintenance Measurement 5-7 3. Maintenance Process 5-7 3.1. Maintenance Processes 5-7 3.2. Maintenance Activities 5-8 4. Techniques for Maintenance 5-10 4.1. Program Comprehension 5-10 4.2. Reengineering 5-10 4.3. Reverse Engineering 5-10 4.4. Migration 5-10 4.5. Retirement 5-11