Course Description
This hands-on Agile software testing course provides the skills to integrate testing and quality assurance to ensure continuous attention to technical excellence and user satisfaction. You learn how to prove your software delivers value using iterative cycles and ensure code quality and non-regression with automated testing. You also gain experience improving the design of existing code using refactoring techniques and managing changes with a Continuous Integration Framework
This Agile testing strategies and practices training course qualifies for the ICAgile Certified Professional in Agile Testing (ICP-TST), and prepares attendees for the ISTQB Agile Tester Exam.
Agenda
Benefiting from Agile Testing
Agile for improved quality
- Recognizing the influence of Agile
- Iterative and incremental testing
Transitioning to Agile
- Differences between Agile and traditional practices
- Mapping Agile principles and values to testing
Creating an Agile Testing Framework
Incorporating organizational changes
- Shifting organizational culture
- Quality assurance vs. testing
Handling resource requirements
- Reshaping the profile of an Agile tester
- Restructuring software teams
- Designing the test automation framework
Adapting the test process
- Estimating
- Prioritizing
- Executing
- Reporting
- Transitioning legacy processes
- Agile metrics and lean measurements
Setting test objectives
- Improving quality through defect prevention
- Addressing all dimensions of product quality
Categorizing test types
- Performing customer-facing tests for product value
- Applying technology-facing tests for product integrity
Applying Testing Techniques within the Life Cycle
Testing iterations
- Identifying strategies for customer-facing and technology-facing tests
- Planning tests based on your selected strategies
- Establishing success criteria with the "Definition of Done"
- Managing the Agile test plan
- Release testing for successful delivery
Thirty days in the life of an Agile tester
- Light-touch planning
- Broadening visibility for test results
- Communicating results in real-time
- Sharing responsibility for quality across the team
- Performing the tests
Critiquing the product
- Unit
- Regression
- Continuous integration
- "...ilities"
- Tracking coverage of non-functional tests with parking lot diagrams
Validating business value
- Ensuring acceptance through scenario testing
- Enhancing positive user experiences through usability testing
- Driving the business value through Story Test-Driven Development (STDD) and iteration demos
Automating Tests for Efficiency and Repeatability
Rationale for automation
- Striving for zero bug tolerance
- Saving time and effort in quality assurance
- Focusing on customer value
Characterizing test automation
- Layers of automation: Unit, API, GUI, processes
- Establishing the criteria for tool selection and implementation
- Designing effective automated tests
- Sourcing data for test fixtures
Leveraging Test-Driven Development (TDD) for Quality Assurance
Writing failing tests
- Working with programmers to identify required behavior
- Scoping the test case
- Asserting the test results
Running the tests
- Producing and refactoring code
- Refactoring the tests for evolving requirements
- Achieving green-light success
- Storing tests for reuse
Maturing Your Agile Testing Practice
- Consuming your improvement backlog
- Designing in quality vs. inspecting for quality
- Enforcing testability in product design and architecture
- Integrating a core foundation of leading practices for future projects
- Maximizing your contribution to high-performance teams
Audience
Agile Testers, Agile Developers, Product Owners, Analysts and Test managers, and those whose role is to ensure that Agile teams deliver high customer satisfaction at an optimized cost.