Skip to content

At Centric Consulting we offer a Test Driven Development workshop. This is the repository where are presentation, lab and preparatory materials reside.

License

Notifications You must be signed in to change notification settings

shawnewallace/tdd-workshop

Repository files navigation

##Centric Consulting - Test Driven Development Workshop

Test Driven Development (TDD) is a powerful software development practice for combining software design, unit testing, and coding in a continuous process to increase quality, maintainability, and productivity. Using TDD, developers build software in short development cycles following a workflow pattern called Red - Green - Refactor:

  1. (RED) The developer writes a failing automated test case that defines a new function or improvement
  2. (GREEN) Write minimal code to pass that test
  3. (REFACTOR) Refactors the new code or existing code to acceptable standards

The developer repeats this process many times until the unit is complete and fully tested.

During this workshop, you’ll use code “katas” and pairing to practice the techniques. You will work on one or two code labs specifically crafted to encourage object-oriented thinking and design through test-first and merciless refactoring. You can use any IDE and language that you have available to you, as long as the micro-testing framework (e.g., JUnit, NUnit, rSpec) is also available. You will explore the TDD discipline at your own pace, in a low-stress environment, with frequent opportunity to get personalized assistance from Shawn and others. You will need to supply your own workstation.

Participants should have strong programming skills and be familiar with an object-oriented language and programming techniques. They should bring a laptop installed with their favorite programming language and IDE—and come prepared to write code. You will need to install your chosen xUnit framework prior to the tutorial.

#####Audience Developers who are interested in introducing TDD into their team’s tool-box of powerful software engineering practices. Perhaps they have tried to encourage the TDD discipline already, but want more first-person experience in order to address concerns back home. Participants should be proficient in a modern object-oriented language.

#####Schedule The emphasis will be on learning by doing. There will be some preliminary demonstration and discussion, but we will forgo lengthy debate in favor of spending enough time on the labs. Each participant will receive personal attention from our team.

  • (60 min) First sesstion presentation
    • Introduction
    • The Case for TDD
    • Types of Testing
    • Example
  • (120 min) Pairing session. 30-minute sessions executing any of several code katas.
  • LUNCH BREAK
  • (60 min) Afternoon session presentation
    • Design for testability
    • How to get started on my project
  • (120 min) Pairing session, Legacy refactor.

#####Learning Objectives

  • Learn how to use one of the xUnit family of testing frameworks (for this workshop, both JUnit and NUnit will be available).
  • Learn test-first as a thinking process.
  • Learn the advantages of automating micro-tests.
  • Learn how TDD has been known to reduce defect rates by 80%.
  • Learn merciless refactoring as a code design tool.
  • Learn how TDD enables Emergent Design and can improve architectural-change cycle times.

#####Presenter Shawn Wallace has about 20 years of software development under his belt. When he was introduced to TDD in 2007, it was truly a turning point in his carreer. He uses TDD on a daily basis. He will demonstrate the basics, and to convey the subtle “test-infected” mindset that drives developers to appreciate, adopt, and even enjoy working this way.

Shawn is an Architect with Centric Consulting in Columbus, Ohio. Working primarily with Microsoft tools and tech, he has been building software for all kinds of clients and even owned a software company for several years. He has been a certified trainer since 1997. Shawn is a former US Marine Infantryman and enjoys all things tech, learning about new shiny things, building things, shooting sports and coaching his son in football and watching all of the awesome things his daughter does. He resides in Grove City, Ohio with his family.

About

At Centric Consulting we offer a Test Driven Development workshop. This is the repository where are presentation, lab and preparatory materials reside.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published