£1,440

Test Driven Development with Java: Designing Quality Software through Tests

Event Information

Share this event

Date and Time

Location

Location

London

Imparando Ltd

56 Commercial Road, Aldgate

London

E1 1LP

United Kingdom

View Map

Refund Policy

Refund Policy

Refunds up to 30 days before event

Event description

Description

Overview

Developing high quality Java code is the aim of every Java developer. Effective tests are widely recognized as a fundamental part of the development process that leads to high quality code. This course teaches attendees how to develop and design effective software using Test Driven Development. The focus is on developing pragmatic skills that can be immediately applied to their work.

The course has 70% hands-on content with a case study being used to gain experience of developing a distributed system using a Test Driven approach.


Attendees will learn how to

  • Design quality software using Test Driven Development
  • Create clean, maintainable code
  • Implement tests effectively
  • Use mock objects correctly
  • Test difficult code areas such a persistence and concurrency

Audience

This course is suitable for anybody who is involved in developing Java applications. A working knowledge of Java is assumed.

Workshop Duration: 2 days

Course Content

Introduction and Tools

  • Effective tests in a nutshell
  • Hamcrest matchers
  • JUnit rules
  • Effective assertions with AssertJ
  • Parameterized tests with JUnit Params
  • Testing asynchronous systems with awaitility
  • Testing concurrent systems with concurrentunit

Starting with Test Driven Development

  • Identifying core systems features
  • Starting with an acceptance test
  • Building an end to end skeleton

Maintaining the Development Cycle

  • Starting with the simplest test
  • Focus on testing behavior
  • Identify tests that measure progress
  • How to listen and act on the tests
  • Tuning the TDD cycle
  • How effective are the tests?

Design Guided by Tests

  • Designing for maintainability
  • Tell don’t ask – well nearly always
  • Relentlessly refactoring
  • Refactoring patterns
  • Hiding the correct details
  • Maintaining SOLID principles
  • Ensuring object composition describes system behavior
  • Using expectation layers to separate what from how

Test Quality

  • Readability of tests
  • Keeping assertions precise
  • Identifying too many expectations
  • Reducing dependencies
  • Streamlining tests
Share with friends

Date and Time

Location

London

Imparando Ltd

56 Commercial Road, Aldgate

London

E1 1LP

United Kingdom

View Map

Refund Policy

Refunds up to 30 days before event

Save This Event

Event Saved