1. Agile Software Development
- 1.1 The Fundamentals of Agile Software Development
- 1.1.1 Agile Software Development and the Agile Manifesto
1.1.2 Whole-Team Approach
1.1.3 Early and Frequent Feedback
- 1.2.1 Agile Software Development Approaches
1.2.2 Collaborative User Story Creation
1.2.3 Retrospectives
1.2.4 Continuous Integration
1.2.5 Release and Iteration Planning
- 1.1.1 Agile Software Development and the Agile Manifesto
- 2.1 The Differences between Testing in Traditional and Agile Approaches
- 2.1.1 Testing and Development Activities
2.1.2 Project Work Products
2.1.3 Test Levels
2.1.4 Testing and Configuration Management
2.1.5 Organizational Options for Independent Testing
- 2.2.1 Communicating Test Status, Progress, and Product Quality
2.2.2 Managing Regression Risk with Evolving Manual and Automated Test Cases
- 2.3.1 Agile Tester Skills
2.3.2 The Role of a Tester in an Agile Team
- 2.1.1 Testing and Development Activities
- 3.1 Agile Testing Methods
- 3.1.1 Test-Driven Development, Acceptance Test-Driven Development, and Behavior-Driven Development
3.1.2 The Test Pyramid
3.1.3 Testing Quadrants, Test Levels, and Testing Types
3.1.4 The Role of a Tester
- 3.2.1 Assessing Quality Risks in Agile Projects
3.2.2 Estimating Testing Effort Based on Content and Risk
3.3 Techniques in Agile Projects
3.3.1 Acceptance Criteria, Adequate Coverage, and Other Information for Testing
3.3.2 Applying Acceptance Test-Driven Development
3.3.3 Functional and Non-Functional Black Box Test Design
3.3.4 Exploratory Testing and Agile Testing
3.4 Tools in Agile Projects
3.4.1 Task Management and Tracking Tools
3.4.2 Communication and Information Sharing Tools
3.4.3 Software Build and Distribution Tools
3.4.4 Configuration Management Tools
- 3.1.1 Test-Driven Development, Acceptance Test-Driven Development, and Behavior-Driven Development