Jphvn8blrsfyitey1cje
2 DAY COURSE

Uncle Bob's Advanced TDD

Topics covered at TDD-ADVANCED-02-02
View Schedule & Book More dates available

Next up:

Delve into the world of Test-Driven Development in this comprehensive two-day TDD course at Skills Matter. Broaden your experience in developing applications for testability and come out with a clear understanding of how to create clean and maintainable unit and acceptance tests.

- Enhance your testing practices to boost the performance of your code -


‘Uncle Bob’ Martin – Master Craftsman at 8th Light and world-renowned expert in clean coding, architecture and all things Agile – lifts the veil on the various principles and practicalities that underpin TDD to help you take your new skills to your future product development.

Who you will be sitting next to

This TDD course is a great resource for developers with previous Java experience. You will find developers, analysts, and QA professionals from a range of industries who already speak the language necessary to write tests but who want to build upon their knowledge and practical experience of TDD.

How to apply these skills

Gain a new understanding of why you code and what your code can do for you. An enhanced knowledge of TDD helps you identify exactly what a piece of code’s responsibility is and ensure that new changes don’t risk affecting previous logic.

What next?

Book early to receive a discount on the course price and in doing so you will not only commit to growing your own skill set, but help us grow our community of over 140,000 passionate techies.

Learn how to:

  • Understand the professional’s attitude towards TDD
  • Work with a non-TDD organization
  • Understand the Principles of Clean Tests and Conventions for well-written tests
  • Avoid and repair fragile tests
  • Test with GUIs, Databases, Web Containers, and external resources
  • Stubbing, Mocking, and Test Doubles
  • Use Metrics and Tools
  • Understand BDD
  • Use Acceptance Testing

What the community says

"Very knowledgeable - good learning techniques."

Isabelle Laking, Investec on 31st Oct 2017

"Superb and engaging course."

Tom Rice, Barclay Card on 4th Apr 2017

"Very interesting and kept me engaged with the lectures, found the sessions very productive with many topics covered in the limited time."

Dominic Everard, Cubic on 4th Apr 2017

"Great course."

Pontus Ljungdahl on 11th May 2016

"Did not disappoint! Uncle Bob is a legend!"

Andrei Petric on 11th May 2016

About the Author

Uncle Bob (Robert C. Martin)

Robert Martin (@unclebobmartin) is Master Craftsman at 8th Light, Skills Matter instructor and author of a range of books (as well as hundreds of articles), including: Clean Code: A Handbook of Agile Software Craftsmanship as well as his most recent, Clean Architecture: A Craftsman's Guide to Software Structure and Design.

Thanks to our partners

Moderated Discussion of:

  • Fears, concerns, confounds & blockages
  • Professionalism, Clean Code, and TDD
  • Push-back: What Managers really want
  • Why TDD?
    • The Three Laws of TDD.
    • Understanding the Costs and Benefits.
  • Clean Tests
    • Test Smells
    • Multiple Logical Asserts
    • Accidental Complexity
    • Too Slow
    • Scope Too Wide
    • Slang
    • Cleaning Tests
    • Composed Asserts
    • Composed Results
  • Testing Behaviour vs. State
    • Mocking and Stubbing
    • Ontology of Test Doubles
  • Exercises
    • Initial Setup
    • Coverage
    • Critiquing some good and bad tests
    • Cleaning Tests
    • Review The Presenter Model for UI testability
  • Coding Dojo
    • Group Exercise
    • TDD under the microscope

F.I.R.S.T Principles

  • Making Tests Fast
  • Database Isolation
  • Web Container Isolation
  • Impact Analysis
  • Isolating Tests
  • Repeatable Tests
  • Hosting, Mocking
  • Test Hierarchies
  • Self Validating Tests
  • Testing Tools, the good and the bad
  • Timely Tests
  • Test Conventions and Heuristics
    • Naming Conventions
    • Statistical Testing
    • Principles of Test Encapsulation: Testing Private Methods
    • Testing Inheritance Hierarchies
    • Test Per Class
    • Splitting Test Files
  • Writing Maintainable Tests
    • The Fragile Test ''Problem''
    • Interface Sensitivity
    • Abstract API's
    • Behaviour Sensitivity
    • Data Sensitivity
    • Context Sensitivity
    • Sensitive Comparison and Equality
    • Test Sensitivity
  • Preserving Tests
    • When are Tests Discarded
    • Solutions
  • Exercises
    • Fitnesse
    • Wiki
    • Tests
    • Fixtures
    • Setup
    • Acceptance Tests Smells
    • Critiquing Acceptance Tests
  • Metrics
    • Coverage
    • Combining Cyclomatic Complexity and Coverage
    • Braithwaite's Correlation
    • Wall Metrics
  • S.O.L.I.D The Principles of TEST design
    • How the principles of OO are used to design good tests
  • Static Analysis Tools
  • Behaviour Driven Development (BDD)
  • GUI Testing
  • Testing Through the GUI
  • Testing Around the GUI
  • Stubbing the GUI
    • Stubbing the applications
  • The Levels of Testing
  • The Dilemma of Manual Testing
  • Unit Tests
  • Component Tests
  • Integration Tests
  • System Tests
    • Exploratory Tests
  • Functional and Performance Testing
  • Legacy Code
  • Convincing Others
  • Exercises
  • Refactoring applications to Seperate GUI
  • Testing the GUI seperately
  • Applying the Principles
    • Applying the Levels

Audience

Prerequisites

For this Advanced Test Driven Development course, you need to be a developer with one or more years experience with TDD. Please note that exercises will be in Java, and delegates will need a sufficient understanding of the language for writing tests and creating applications.

Bring your own hardware

You are required to have your own laptop with the following:

  • Preferred IDE
  • 2GB ram
  • Your preferred Browser
Overview

Delve into the world of Test-Driven Development in this comprehensive two-day TDD course at Skills Matter. Broaden your experience in developing applications for testability and come out with a clear understanding of how to create clean and maintainable unit and acceptance tests.

- Enhance your testing practices to boost the performance of your code -


‘Uncle Bob’ Martin – Master Craftsman at 8th Light and world-renowned expert in clean coding, architecture and all things Agile – lifts the veil on the various principles and practicalities that underpin TDD to help you take your new skills to your future product development.

Who you will be sitting next to

This TDD course is a great resource for developers with previous Java experience. You will find developers, analysts, and QA professionals from a range of industries who already speak the language necessary to write tests but who want to build upon their knowledge and practical experience of TDD.

How to apply these skills

Gain a new understanding of why you code and what your code can do for you. An enhanced knowledge of TDD helps you identify exactly what a piece of code’s responsibility is and ensure that new changes don’t risk affecting previous logic.

What next?

Book early to receive a discount on the course price and in doing so you will not only commit to growing your own skill set, but help us grow our community of over 140,000 passionate techies.

Learn how to:

  • Understand the professional’s attitude towards TDD
  • Work with a non-TDD organization
  • Understand the Principles of Clean Tests and Conventions for well-written tests
  • Avoid and repair fragile tests
  • Test with GUIs, Databases, Web Containers, and external resources
  • Stubbing, Mocking, and Test Doubles
  • Use Metrics and Tools
  • Understand BDD
  • Use Acceptance Testing

What the community says

"Very knowledgeable - good learning techniques."

Isabelle Laking, Investec on 31st Oct 2017

"Superb and engaging course."

Tom Rice, Barclay Card on 4th Apr 2017

"Very interesting and kept me engaged with the lectures, found the sessions very productive with many topics covered in the limited time."

Dominic Everard, Cubic on 4th Apr 2017

"Great course."

Pontus Ljungdahl on 11th May 2016

"Did not disappoint! Uncle Bob is a legend!"

Andrei Petric on 11th May 2016

About the Author

Uncle Bob (Robert C. Martin)

Robert Martin (@unclebobmartin) is Master Craftsman at 8th Light, Skills Matter instructor and author of a range of books (as well as hundreds of articles), including: Clean Code: A Handbook of Agile Software Craftsmanship as well as his most recent, Clean Architecture: A Craftsman's Guide to Software Structure and Design.

Thanks to our partners

Program

Moderated Discussion of:

  • Fears, concerns, confounds & blockages
  • Professionalism, Clean Code, and TDD
  • Push-back: What Managers really want
  • Why TDD?
    • The Three Laws of TDD.
    • Understanding the Costs and Benefits.
  • Clean Tests
    • Test Smells
    • Multiple Logical Asserts
    • Accidental Complexity
    • Too Slow
    • Scope Too Wide
    • Slang
    • Cleaning Tests
    • Composed Asserts
    • Composed Results
  • Testing Behaviour vs. State
    • Mocking and Stubbing
    • Ontology of Test Doubles
  • Exercises
    • Initial Setup
    • Coverage
    • Critiquing some good and bad tests
    • Cleaning Tests
    • Review The Presenter Model for UI testability
  • Coding Dojo
    • Group Exercise
    • TDD under the microscope

F.I.R.S.T Principles

  • Making Tests Fast
  • Database Isolation
  • Web Container Isolation
  • Impact Analysis
  • Isolating Tests
  • Repeatable Tests
  • Hosting, Mocking
  • Test Hierarchies
  • Self Validating Tests
  • Testing Tools, the good and the bad
  • Timely Tests
  • Test Conventions and Heuristics
    • Naming Conventions
    • Statistical Testing
    • Principles of Test Encapsulation: Testing Private Methods
    • Testing Inheritance Hierarchies
    • Test Per Class
    • Splitting Test Files
  • Writing Maintainable Tests
    • The Fragile Test ''Problem''
    • Interface Sensitivity
    • Abstract API's
    • Behaviour Sensitivity
    • Data Sensitivity
    • Context Sensitivity
    • Sensitive Comparison and Equality
    • Test Sensitivity
  • Preserving Tests
    • When are Tests Discarded
    • Solutions
  • Exercises
    • Fitnesse
    • Wiki
    • Tests
    • Fixtures
    • Setup
    • Acceptance Tests Smells
    • Critiquing Acceptance Tests
  • Metrics
    • Coverage
    • Combining Cyclomatic Complexity and Coverage
    • Braithwaite's Correlation
    • Wall Metrics
  • S.O.L.I.D The Principles of TEST design
    • How the principles of OO are used to design good tests
  • Static Analysis Tools
  • Behaviour Driven Development (BDD)
  • GUI Testing
  • Testing Through the GUI
  • Testing Around the GUI
  • Stubbing the GUI
    • Stubbing the applications
  • The Levels of Testing
  • The Dilemma of Manual Testing
  • Unit Tests
  • Component Tests
  • Integration Tests
  • System Tests
    • Exploratory Tests
  • Functional and Performance Testing
  • Legacy Code
  • Convincing Others
  • Exercises
  • Refactoring applications to Seperate GUI
  • Testing the GUI seperately
  • Applying the Principles
    • Applying the Levels
Audience

Audience

Prerequisites

For this Advanced Test Driven Development course, you need to be a developer with one or more years experience with TDD. Please note that exercises will be in Java, and delegates will need a sufficient understanding of the language for writing tests and creating applications.

Bring your own hardware

You are required to have your own laptop with the following:

  • Preferred IDE
  • 2GB ram
  • Your preferred Browser