Live, Instructor-Guided Online Courses
TDD-01: Fundamentals of Test-Driven Development (Time: 5 x 3 hours)
For Software Developers: In five three-hour micro-classes, learn when to use TDD; the underlying principles and basic mechanics of classic-style TDD for example-based emergent design; effective unit test design, organization, and naming; code transformations; code smells and refactorings; basic software design principles; code isolation techniques; using test doubles; how to make good use of code katas; and common misconceptions about TDD and emergent design. Instructor-guided hands-on experiential learning that includes complementary practices such as remote Mob Programming, continuous integration, trunk-based development, incremental refactoring, and working in small increments. Look for the next course date/time.
TDD-02: Applications of Test-Driven Development (Time: 5 x 3 hours)
For Software Developers: In five three-hour micro-classes, take your TDD skills beyond the basics and learn to apply a tester’s mindset, Mockist-style TDD, Property-Based Testing (PBT), Consumer-driven Contracts, Approval Testing, Mutation Testing, test && commit || revert, and legacy code remediation. This course leads to the TDD Applied microcredential. Look for the next course date/time.
TDD-20: A Manager’s Introduction to Test-Driven Development (Time: 1 x 3 hours)
For Non-Technical Stakeholders of Software Development Teams: In one three-hour micro-class, learn the effects of TDD on project timelines, product quality, time to market, development cost, total cost of ownership, product longevity, customer satisfaction, and staff morale. The benefits of TDD are experienced differently by technical staff and by business stakeholders & customers. When technical professionals explain the benefits, they usually fail to connect with the non-technical audience. This course will help you understand the value of encouraging your teams to use this technique, and how to “upsell” the practice to senior management. Look for the next course date/time.