Select a course:

Test Driven Development (TDD) in .Net

TDD brings low bug counts and drives ambiguity out of the development process. Learn how, and then adopt it using vb.net or c#.

Objectives

This course is for developers who want to adopt the test driven development methodology for development projects using Microsoft Visual Studio.Net  2008 or VS 2005 with Nunit.

The course can be run in either c# or vb.net.

Pre-requisites

Delegates should be experienced .net developers (either vb.net or c#) fully conversant with object orientation techniques.

About TDD

"Over the last twenty years I’ve seen the rise of Structured Programming and Object-Oriented Programming and Message Passing and the Relational Model and those are all good things, but TDD is the single biggest advance in my lifetime. It might (finally) turn software from an amateur’s kitchen to an engineering discipline." ~  Tim Bray (hypertext evangelist, member of the W3C XML Working Group and co-editor of the XML specification.)


This course lasts 2 days

Outline

TDD Overview

  • Overview
    • History of TDD
    • Benefits of TDD
  • What makes TDD?
    • Testing: Customer Tests vs Programmer Tests
    • Refactoring
    • TDD Organisations and People

Creating Tests

  • Where do we start?
  • From feature to task to test list
  • Testing Frameworks
  • The Assert class
  • Writing tests
  • Running tests
  • Getting tests to pass

Refactoring

  • What is it? An Example.
  • Refactoring Principles
  • Code "Bad Smells"
  • Refactoring methods
  • Refactoring tools

Isolating Tests

  • Options of isolating tests
  • Mocking with interfaces
  • Static and Dynamic Mock objects 
  • Mocking Frameworks
    • TypeMock Isolator
    • NMock
    • Unity Enterprise Block 

UI and Acceptance tests

  • Defining Customer Tests (acceptance tests)
  • Tools for automating customer tests
  • Driving development with customer tests

TDD Workshop

  • Real world scenarios
  • Putting TDD into practise
     
     

    About bbits training

    Professional developers and trainers

    All our training courses are delivered by professional developers who are also professional trainers.  We believe that training is a particular skill that needs to be backed up by real-world experience.  

    Real-world training

    The courses are based around achieving real-world productivity improvements, and providing a structured, encouraging environment that means delegates get the knowledge they need efficiently.

    Flexible

    Our courses, though they follow a structure, can differ each time they are delivered, because our trainers can focus on the areas of the course that are most important to the delegates.  We assess delegates requirements either with managers prior to the course, or at the start of each course with the delegates, so that we can provide the best possible course.  We can provide, at no extra cost, completely customised courses with different outlines and durations for any that require it - please contact us if you have a particular requirement.

    Hands-on involvement

    Each delegate will have their own computer and all our course contains a large proportion of "hands-on" work.  Each section is dealt with first by the trainer, who will fully involve the delegates in discussion, and through hand's on work, and be followed by exercises that will back this up, and push the delegates to go further.

    Free goodies

    At the end of the course, delegates recieve copies of all the examples and exercises to take back with them, together with a certificate, and other course materials on cd or usb stick. Look out for other goodies that we also provide!

    Seen our courses elsewhere?

    Our courses are often contracted out for other training providers, so you may see the same content elsewhere.  In fact we often deliver the courses for other providers too, so don't be surprised if you see our courses and trainers if you book through someone else.  Of course if you want to customise a course then please contact us directly!