Duration: 3 Days
Overview:
By using a step-by-step approach, this course documents how to transition from traditional test practices to an Agile testing approach. Learning the goals of Agile will help you transition, implement, and monitor testing in the high-speed Agile testing environment. Agile principles add value to your organization.
Building on traditional risk-based test practice, we are now being challenged by incremental delivery. To address, and not inhibit, we examine the concept of pair testing. Strengthening relationships in a team setting helps to build a sense of common purpose. Working in parallel eliminates hand-offs, late stage testing, and an opportunity for incremental confirmed component delivery. This program builds on what we know and adapts to what we have: Agile delivery. Traditional methods become a barrier under new development methods and place further pressure on the test team to feel a sense of value compromise. The new-found, high-speed test delivery opens new areas of opportunity to build strength in product quality, process improvement, and test confidence.
Learn to transition to Agile testing practices across the entire release cycle. Despite changes in methods and approaches, we continually slide back into old test habits. Often we leave methods behind, rather than transition from them. We throw everything away and do a wholesale replacement without putting to bed the reasons for change. Most testing works but only within the development context that it was framed. The program will reflect tradition against Agile testing, what changes we must make, and the role that we will play. Testing is not a service but an integrated part of the development team.
What You Will Learn
- Key differences between traditional and Agile testing practices
- Develop a transition plan to move from traditional test practices to Agile testing
- Construct a Lean Testing Framework to expedite Agile delivery
- Operate in a time-constrained development cycle without losing testable value
- Develop Iteration 0 test plans that guide test design development
- Use high-speed test methods to supplement and support story-based testing practices (Exploratory, Pairwise, Pareto techniques)
- Capitalize on test development through use and reuse management
- Integrate team testing into Agile projects
- Build Lean Test Artifacts for Regression Testware
- Engage stakeholders in quality trade-off decision-making
- Coach story card contributors in test case construction
- Gain exposure to automation support opportunities
Audience
- Quality analysts & engineers
- Software test leads & testers
- Software quality & testing managers
- Software project managers
- Software engineering managers
- Business analysts
- Software development managers
- IT managers
- Programmers/developers
Prerequistes
Basic understanding and working knowledge of traditional software testing and software development techniques
Course Outline
1. Agile Testing
- Poor Quality Creates Drag
- Integrating the Team into an Agile Testing Mindset
- Hard & Soft Constraints to Adopting Agile Testing
- Getting the Customer to Participate in Quality Decisions
2. Testing Practices
- Testing Quadrants
- Automation
- Unit Tests
- Integration Tests
- Acceptance Tests
- Functional Tests
3. Quality Practices
- Pairing & Collaboration
- Inspections
- Reviews
- Demos
4. Unit Testing & Test Driven Development (TDD)
- Unit Testing Principles
- Test First vs. Test Last
- Unit Testing Legacy Applications
- TDD Rhythm: Red, Green, Refactor
- TDD Influence on Design
- Supporting Continuous Refactoring
5. Continuous Integration
- Attitude of Continuous Integration
- Benefits & Practices of Continuous Integration
- Continuous Feedback
- Continuous Builds
- Continuous Inspections
- Continuous Testing
- Continuous Deployments
6. Acceptance Testing
- Acceptance Criteria
- Writing Acceptance Tests
- Acceptance Test Driven Development
- Automating Acceptance Tests
- Behavior Driven Development
7. Functional Testing Web Applications & Web Services
- Functional Testing Applications
- Testing Web Applications
- Testing Web Services
8. Hands-On Critiquing the Product
- Exploratory Testing
- Scenario Testing
- Usability Testing
- User Acceptance Testing
9. Using Tools to Test Complexity and Critique the Product
- Performance & Load Testing
- "ility" Testing
- Security Testing
10. High-Speed Testing Techniques
- Risk-Based Testing
- Pairwise Testing
- Pareto Technique
11. Iterating to Testing Agility
- Prioritize Regularly
- Realize Constraints
- Challenge Constraints
- Keep Moving Forward
- Automate, Automate, Automate
- Roadmap & Planning
Course Labs