Implementing Agile Test Driven Development for Non-Programmers (TT3530) Course Details:

Test-Driven Deployment (TDD) is an evolutionary approach to development where you must first write a test that fails before you write new functional code. It is primarily an agile approach to software development and is one of the core principles of Extreme Programming.

This in-depth Agile-testing course will provide you with a solid introduction to TDD and "test first" design within the context of Agile processes and practices.

    No classes are currenty scheduled for this course.

    Call (919) 283-1653 to get a class scheduled online or in your area!

1. Agile Development

  • Agile Software Development
    • Controlling Risk
    • Agile Development
    • Motivation - Risk Reduction
    • Discipline of Timeboxing
    • Incremental Delivery and Evaluation
    • Agile Software Development Manifesto
    • Same Approach with Documentation
    • Change Wins Out Over Following a Set Plan
    • Refactoring is Artifact of Change
    • Rules
    • Extreme Values
    • XP Practices
    • CI
    • Agile Testing
    • Lowest Bar of Unit Testing
    • Agile Testing Stages
    • Test First
    • Acceptance Tests
    • TDD
    • General Agile Principles
    • Adopting or Trying Agile
    • Setting User Expectations

2. Test-Driven Development (TDD)

  • Unit Testing
    • Purpose of Unit Testing
    • Successful Unit Testing
    • Unit Testing Frameworks
    • XUnit
    • Reasons tUse XUnit
    • How XUnit works
  • ROI of TDD
    • Rationale for TDD
    • Process of TDD
    • Advantages tTDD
    • Side-Effects of TDD
    • Observations About Tests
    • Tools tSupport TDD
    • Automation and Coverage
    • Working with Coverage Analysis
    • Concept of Test "Close" Development

3. Improving Code Quality Through Refactoring

  • Refactoring
    • Sample of Refactorings
    • Refactoring and Testing
    • Suggested Refactoring
    • Impact of Refactoring
  • Advanced Refactoring
    • Design Patterns
    • Code that Feels Wrong
    • Refactoring tDesign Patterns
    • Abstract Factory Design Patterns
    • Adapter Design Patterns
    • Strategy Design Patterns

4. Advanced Topics

  • Continuous Integration (CI)
    • Typical CI Process
    • Local Development Environment
    • CI Server
    • Potential Benefits of CI
    • CI Best Practices
    • Automate Source Code Management
    • Automate Build Process
    • Automate Testing
    • Automate Deployment
    • Commit Code Early and Often
    • Manage the Build Process
    • Separate Integration Environment
    • Mimic Production Environment
    • Increase Visibility
  • Agile Testing Best Practices
    • Coding Practices
    • State- vs. Interaction-Based Testing
    • Source Control
    • Pair Programming and Code Reviews
    • CI
    • Legacy Code

*Please Note: Course Outline is subject to change without notice. Exact course outline will be provided at time of registration.
  • Concept of development agility and the Agile Manifesto
  • Major agile development methods and their strengths and weaknesses
  • Manage an agile environment within a structured organizational approach
  • Introduce agility into a development organization
  • Unit testing and how various xUnit frameworks facilitate unit testing
  • xUnit family of unit testing tools
  • Concepts of and motivations for TDD
  • Relate unit testing, test-driven development, and test coverage to agile processes
  • Importance of refactoring in supporting agile and test driven processes
  • Continuous Integration (CI) and components
  • Motivations for CI
  • Best practices for everything from CI to testing within the context of agile development
  • Knowledge of current development processes, such as structured top-down development and the waterfall method is beneficial

Test professionals, test managers, project leaders, quality analysts, and developers

Ready to Jumpstart Your IT Career?

CONTACT US NOW!