Acceptance and Test Driven Development: 3 days Hands-on Training Course

Test Driven Development

Using an object-oriented language does not guarantee that the solutions you create are high-quality, flexible, oe easy to maintain.

This three-day instructor-led course introduces the object-oriented design fundamentals, principles and heuristics using Test Driven Development (TDD) that allow us to create robust regression tests and good code. TDD is often mistaken for simply writing automated regression tests against an existing design. The deeper truth is that TDD is first and foremost about incrementally specifying, implementing, and improving your software’s design.

This course is heavily exercise-driven with the students spending the majority of the time accumulating greater skill by applying the concepts in incrementally more complex sub-projects.   As a group, the class will start by specifying acceptance criteria for a given set of requirements.  These will be translated in to executable requirements using a tool such as FitNesse.  These tests will of course fail at first, which will task the students, in pairs, to define the system interface specifications in the form of unit tests.  This will, in turn, extract the development of the system interface and all subsequent code and design until all unit tests and executable requirements pass.
 
Enquire Now
 

Audience

  • Object-oriented programmers interested in learning more about TDD methods and best practices that yield the highest quality designs.

Participants will learn to

  • Extract acceptance criteria from a set of requirements
  • Develop code using the TDD cycle
  • Strike a comfortable balance between unit and acceptance testing
  • Identify the limitations of unit and acceptance testing
  • Structure tests with four distinct phases: Setup, Exercise, Verify, Teardown
  • Define and prioritize the examples that are used to ignite TDD
  • Design good tests so that they are independent and fast
  • Use dummies, stubs, fakes and mocks as appropriate to achieve test isolation and repeatability
  • Build robust object designs during TDD
  • Detect suspicious code (smells)
  • Apply techniques for refactoring bad code
  • Recognize when and how to test existing code (legacy code, untested code)
  • Use a unit testing tool
  • Use a code coverage tool
  • Use an executable requirements tool
  • Explain Coupling and Cohesion
  • Understand the connection between fundamental object-oriented design principles and design patterns

 
Enquire Now
 


Customers also viewed

Object-Oriented Analysis and Design: 3 days Hands-on Training Course

Object-Oriented Analysis and Design By promoting greater flexibility and maintainability, object-oriented technologies have proven to be widely popular in enterprise ...
Read More

Agile Software Development with Visual Studio™ & TFS: 4 days Hands-on Training Course

Agile Software Development This 4-day course starts with a refresh of the agile values and principles and quickly dives into real development, ...
Read More

Agile Quality Assurance with Microsoft® Test Manager and TFS: 3 days Hands-on Training Course

Agile Quality Assurance This 3-day course starts with a refresh of the agile values and principles and quickly dives into hands-on exercises ...
Read More

Agile Project Management 
with TFS and Microsoft® Visual Studio™: 3 days Hands-on Training Course

Agile Project Management with TFS Many organizations say they are “doing agile” but are really just using an agile process ...
Read More

Creating Object-Oriented Solutions using C#: 4 days Hands-on Training Course

Object Oriented Solutions using C# Working with an object-oriented language is a must-have skill in today’s business world. Most introductory ...
Read More

Continuous Integration Workshop: 2 days Hands-on

Continuous Integration Continuous Integration (CI) is a practice that serves as the “heartbeat” of agile software development teams. By simply ...
Read More

Agile Acceptance Testing: 2 days Hands-on Training Course

Acceptance Testing Agile endeavors seek to deliver quality working software sooner than traditional approaches. Knowing how much effort to place ...
Read More

Agile QA & TDD Workshop: 3 days Hands-on Training

Agile Test Driven Development Inevitably your agile teams will roadblock at QA.  Often this is not due to the QA ...
Read More

Acceptance and Test Driven Development: 3 days Hands-on Training Course

Test Driven Development Using an object-oriented language does not guarantee that the solutions you create are high-quality, flexible, oe easy ...
Read More