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