Langr Software Solutions offers
        training services.

Test driven development (TDD)

You want your team to practice test-driven development (TDD) for the health of your system, yes, but also for their own sake.

TDD is more than a testing technique. It’s a way of developing software … TDD helps developers craft and sustain a high-quality code base. TDD complements agile processes such as Scrum particularly, but it can also provide you with numerous benefits if you’re not at all agile.

You’ll obtain a solid foundation for TDD. Core class segments include TDD fundamentals (the red-green-refactor cycle), sustainable tests, refactoring and continuous design, test doubles and mocks, and legacy code rescue. You’ll learn:

  • how continual attention to design simplifies your work and extends the life of your software

  • how TDD encourages continuous design improvement

  • how to craft tests that help you understand and control a higher-quality system

  • how to deal with troublesome dependencies that can make unit testing tough

  • how to tackle the tough challenges of a legacy code base (pretty much every developer’s reality)

  • specific concepts and themes for approaching the high risk of a legacy codebase

  • how to manage a larger refactoring in a legacy codebase using the Mikado method

Topics

  • Overview of Test-Driven Development

  • Basic TDD technique

  • Your Unit Testing Tool

  • TDD and design

    • What’s the next test?

  • Test smells

  • Code katas

  • Refactoring and design

  • Refactoring drivers

    • Code smells

    • Simple design

    • Classic design principles

  • Basic refactoring

  • Additional catalog refactorings

  • Macro refactoring

    • Backing into tests

  • Basic “mock” technique

    • Test double variants

    • Implementing test doubles

    • Mock injection techniques

  • Additional test double topics

    • Using mock tools

    • Challenges/best practices

  • Legacy Code Challenges

    • Legacy themes

    • Dependency-breaking techniques

    • The Mikado Method

  • Acceptance Tests (ATs) and TDD

  • Sustaining & Succeeding with TDD

Langr Software Solutions services