£806.40 – £1,074

TDD for Agile Software Development - Kevlin Henney

Event Information

Share this event

Date and Time

Location

Location

De Vere Devonport House

King William Walk

London

SE10 9JW

United Kingdom

View Map

Refund Policy

Refund Policy

No Refunds

Friends Who Are Going
Event description

Description

This two day Test-Driven Development course focuses on several modern practices for developing code based on an adaptive development lifecycle.

Agility and predictability are two qualities often missing from software development. A test-driven approach, in which design is grown and code delivered incrementally according to functionality or risk is the basis of a good construction phase in an iterative and incremental development process. Through the use of unit tests we can increase the confidence in our existing code and support the ability to refactor code as development unfolds.

The course is focused on the practical aspect of TDD, through the labs, exercises, demonstrations and discussions you’ll get hands-on experience using TDD across a series of scenarios so you can better understand Test Driven Development and how it can help you improve your proces

Agenda

Programmer Testing

  • Evidence of care
  • Testing viewpoint
  • Pragmatic testing
  • Automation
  • Bug pathology
  • Qualitative and constructive

Good Unit Tests

  • Test quality
  • Good unit tests (GUTs)
  • Not-so-good unit tests
  • Fine-grained tests
  • Behavioural tests
  • Functional versus operational testing
  • Black-box tests

Testing Framework Overview

  • JUnit, NUnit and other members of the xUnit family
  • Writing test cases and test fixtures
  • Common assertions
  • Testing for exceptions
  • Organising test cases

Testing Approach

  • Testing sensibility: passive, reactive, active
  • Plain Ol' Unit Testing (POUT)
  • Defect-Driven Testing (DDT)
  • Test-Driven Development
  • Key TDD practices
  • The test-first cycle
  • Definition of done

More GUTs

  • Cohesive and focused tests
  • Propositional test names
  • Example-based tests
  • Choosing example data
  • Quality of failure
  • What to include and exclude
  • Short test cases
  • Single level of abstraction
  • Anatomy of a test case (Given–When–Then)

Listening to Your Tests

  • Feedback from testing
  • Reasons testing can be hard
  • Technical debt
  • Classifying and reacting to technical debt
  • White-box testing issues
  • Coverage

Refactoring

  • Kinds of changes to code
  • Code smells
  • Dimensions of change
  • Elements of refactoring
  • Some common refactorings
  • Refactoring motivation and applicability

Test-Driven Decoupling

  • Unit testability and coupling
  • Unmanaged dependencies
  • External dependencies
  • Unit versus integration tests
  • Characterising testability
  • Singletons and statics
  • Test doubles
  • Mock object frameworks

About Kevlin Henney

Kevlin Henney

Kevlin Henney is a consultant, trainer and author with a keen interest in software patterns, architecture and agile programming practices and processes. Since his initial involvement in software development in the late 1980s, Kevlin has coded, consulted and delivered courses for software companies all around the world.

Perhaps his greatest claim to fame is the fact the he edited the very popular 97 Things Every Programmer Should Know (both the website and book) – which has now been translated into multiple languages. On a more educational note, Kevlin also co-authored two books on software architecture (A Pattern Language for Distributed Computing and On Patterns and Pattern Languages).

More Information

For more information about the course and Kevlin have a look at our full event description on our website. By registering on to this course you will be accepting our T&Cs. Click here to view ...


Share with friends

Date and Time

Location

De Vere Devonport House

King William Walk

London

SE10 9JW

United Kingdom

View Map

Refund Policy

No Refunds

Save This Event

Event Saved