Font size:

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.



Highlights:
  • 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

Prerequisites:
  • Knowledge of current development processes, such as structured top-down development and the waterfall method is beneficial


Audience:

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


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
Find a class and register in three easy steps:
  • 1. Select Location:
  • 2. Select Date Range:
    to
  • 3. Select Class Type:
    • All Types
    • C Classroom
    • V Virtual Live
    • Cv In-Class Virtual
    • O Online
Virtual Live3/5/2018 10:00:00 AM<span class="course-type type-v" style="cursor:default;word-wrap:normal;display:inline-block;" onmouseover="showHoverInfo(this, 'ProductTypeDescription' ,'VILT')" onmouseout="clearHoverInfo()">V</span>2 days1295.002458405
Virtual Live6/25/2018 10:00:00 AM<span class="course-type type-v" style="cursor:default;word-wrap:normal;display:inline-block;" onmouseover="showHoverInfo(this, 'ProductTypeDescription' ,'VILT')" onmouseout="clearHoverInfo()">V</span>2 days1295.002458404
seek-warrow-w
  • 1
arrow-eseek-eitems per page1 - 2 of 2 items