Implementing Agile Test Driven Development for Non-Developers (TT3530)
Implementing Agile Test Driven Development for Non-Developers is a two day, in-depth Agile-testing training course that provides students with a solid introduction to Test Driven Development and “test first” design within the context of Agile processes and practices.
About This Course
Implementing Agile Test Driven Development for Non-Developers is a two day, in-depth Agile-testing training course that provides students with a solid introduction to Test Driven Development and “test first” design within the context of Agile processes and practices.
Audience Profile
This is a beginner- level course, designed for test professionals, test managers, project leaders, quality analysts, and developers. No specific prerequisites are assumed. Knowledge of current development processes, such as structured top-down development and the waterfall method is beneficial.
At Course Completion
Working within in a dynamic, learning environment, guided by our expert Agile TDD team, attendees will:
- Be introduced to the concept of development agility and the Agile Manifesto
- Review each of the major agile development methods underscoring their strengths and weaknesses
- Understand how to manage an agile environment even within a structured organizational approach
- Learn how to introduce agility into a development organization
- Examine what unit testing is and how various xUnit frameworks facilitate unit testing
- Review the xUnit family of unit testing tools
- Understand the concepts of and motivations for Test-Driven Development
- Relate unit testing, test driven development, and test coverage to agile processes
- Understand the importance of refactoring in supporting agile and test driven processes
- Understand what Continuous Integration is and what the components of CI are
- Examine the motivations for CI
- Review best practices for everything from CI to testing within the context of agile development
Course Outline
Session: Agile Development
Lesson: Agile Rationale and Concepts
- Reducing Risk Through Agility
- The Discipline of Timeboxing
- Incremental Delivery and Evaluation
- Agile Method: Scrum
- Agile Method: XP
- Pair Programming
Lesson: The Agile Approach
- Agile Software Development Manifesto
- The Agile Principles
- Identifying Features
- Managing Features
- Communication Dynamics
Lesson: Agile Iterative Development
- Iterative Approaches
- Phased Iterative Development
- Iterating
- Feasibility & Planning
- Development
- Adaptation & Deployment
Lesson: Prioritizing and Planning
- Features and Backlogs
- FDD Process
- Prioritizing Features
- Release Planning
- Assigning Features to Iterations
Lesson: Building
- Typical Continuous Integration Process
- CI Server
- Automate Source Code Management
- Automate Build Process
- Automate Testing
- Automate Deployment
Session: Unit Testing
Lesson: Unit Testing Overview
- Purpose of Unit Testing
- Good Unit Tests
- Test Stages
- Unit Testing Vs Integration Testing
Lesson: Unit Testing Tools
- Understanding Unit Testing Frameworks
- JUnit Overview
- Test Case using JUnit
- Failures vs. Errors
Lesson: Unit Testing Best Practices
- "Good" Tests
- Bad Smells
- White-Box Unit Testing
- Black-Box Unit Testing
- Automation and Coverage
Session: Agile Testing Best Practices
Lesson: Transitioning to Agility
- Agility: Some Process, Some Mindset
- Characteristics that Enable Agility
- Characteristics that Inhibit Agility
- Risks Associated with Migrating
- Smoothing the Transition
Lesson: The Bottom Line
- Agile Migration Patterns
- Extending the Migration
- Coding Practices
- Source Control
- Pair Programming and Code Reviews
- Continuous Integration
- Legacy Code
Sorry! It looks like we haven’t updated our dates for the class you selected yet. There’s a quick way to find out. Contact us at 502.265.3057 or email info@training4it.com
Request a Date