HOME SCALA & F# JAVA .NET WEB GROOVY & GRAILS ANDROID & IOS NOSQL ARCHITECTURE AGILE & SCRUM AGILE DEVELOPER  
Uncle Bob's Advanced Test Driven Development (TDD-ADVANCED-01-03)
CODE: TDD-ADVANCED-01-03          DURATION: 3 DAY/S

This is a intense, hands-on and exercise driven Advanced Test Driven Development course is written and delivered by Uncle Bob Martin and focuses on the design of clean, robust, and maintainable unit and acceptance tests. You will learn the principles of test design, and the practices of keeping tests clean. More importantly, they will learn the principles of designing applications for testability. Exercises include the refactoring of bad tests, the writing of clean tests, and the design and refactoring of applications to make them testable.

This three-day hands-on Advanced Test Driven Development will explain the principles and practices of Test Driven Development as described in Agile Software Development, Principles, Patterns, and Practices by Uncle Bob. You will also receive this book as part of the course materials.

Exercises are in Java, but are applicable to C#, C++, and other object oriented languages.


LEARN HOW TO:
  • The professional’s attitude towards TDD
  • Coping with a non-TDD organization
  • The Principles of Clean Tests
  • Conventions for well written tests
  • Avoiding and repairing fragile tests
  • Testing with GUIs, Databases, Web Containers, and external resources
  • Stubbing, Mocking, and Test Doubles
  • Metrics and Tools
  • BDD
  • Acceptance Testing
PROGRAMME
Day 1
  • 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
Day 2
  • 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
Day 3
  • 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
NEXT SESSION
The next course will be delivered at MicroTek - New York City - New York, on 23 Sep 2013 by Uncle Bob (Robert C. Martin). Uncle Bob is also the author of this course.
COURSE DATES & REGISTRATION
Date City Cost (ex vat) Offer
23-09-13 New York $2695.00 $2290.00 15% Early Bird if you book befor May 31st Register Here
Book Online or Call Sales on +44 (0)207 1839040
ABOUT THE AUTHOR
Robert Martin (@unclebobmartin) has been a programmer since 1970. He is the Master Craftsman at 8th Light inc, an acclaimed speaker at conferences worldwide, and the author of many books including: The Clean Coder, Clean Code, Agile Software Developm
More about Uncle Bob (Robert C. Martin)
IN PARTNERSHIP WITH CLEAN CODERS
WHAT PEOPLE ARE SAYING
"As expected, Uncle Bob was fantastic. I don't use the word "awesome" often, but Uncle Bob's Advanced TDD was exactly that . June 2012" Casper
IS THIS COURSE FOR YOU?
For this Advanced Test Driven Development course, you need to be a developer with one or more years experience with TDD.

COURSE PREREQUISITES
You are expected to have a knowledge of Java, TDD, JUnit.

All delegates will need to have their own laptop with the following:
  • Preferred IDE
  • 2GB ram
  • Browser
  • 7zip
  • Adobe Acrobat Reader
Please contact Ivana at Skills Matter should you need help with this.

COURSE LABS & EXERCISES
Exercises in this Advanced Test Driven Development course include the refactoring of bad tests, the writing of clean tests, and the design and refactoring of applications to make them testable. Exercises are in Java, but are applicable to C#, C++, and other object oriented languages.

COURSE DATES & REGISTRATION
Date City Cost (ex vat) Offer
23-09-13 New York $2695.00 $2290.00 15% Early Bird if you book befor May 31st Register Here
Book Online or Call Sales on +44 (0)207 1839040
© Copyright 2003-2013, Skills Matter Ltd
About Us  Jobs  Find Us  Meeting & Training Rooms  Newsletter  Jobs: Sales Executive  Jobs: Student SkillsCaster  jobs - junior event coordinator  Open Source Journal  Jobs: Sponsorship Development  jobs: Marketing & Sales Graduate Internship  Jobs: HR Manager  jobs-Join Our Dev Team  DevOps Engineer  Front-End Engineer  Test Engineer