Course Overview

Course Length: 
3 Days

Test-Driven Development is a powerful design technique used to develop safer, more secure, and more robust embedded software. It also produces an automated regression test suite that you can use to keep your production code behaving as you intend for a long useful life. In this 3-day hands-on course, attendees will learn the fundamentals of Test-Driven Development (TDD) for embedded C programmers, and get to apply some of the concept in your code with expert guidance during the legacy code workshop. This course is ideal for embedded software developers, technical leaders and managers that want to minimize product development crises, preferring defect prevention to debugging.

Topics covered during this course include:

  • Test-Driven Development
  • Adapting TDD to Embedded Software Development
  • TDD and Collaborating Modules
  • Test Fakes, Stubs, Doubles, Mocks
  • Test-Driving Next to the Silicon with Mocks
  • Workshop in your code
  • Legacy Code Workshop

Prerequisites:  Attendees should be experienced with the C programming language and have a general familiarity with embedded software development.

Explore this course:

Find out more:


The following summary covers the major course topics and may be modified at the instructor's discretion based on the needs and pace of the class.

Test-Driven Development

  • Why Test-Driven Development?
  • What is Test-Driven Development?
  • The Microcycle
  • Exercise

Adapting TDD to Embedded Software Development

  • Leveraging the Development System
  • Risks of Development System Unit Testing
  • Embedded TDD Cycle
  • Hardware/Platform Independence

TDD and Collaborating Modules

  • Separation of Responsibilities
  • Keeping Tests Clean
  • Tests as Detailed Documentation
  • Exercise

Test Fakes, Stubs, Doubles, Mocks

  • Spying on the Hardware
  • Faking the Time
  • Link-time Fake
  • Run-time Fake

Test-Driving Next to the Silicon with Mocks

  • The Problem Solved by Mock Objects
  • TDD One Instruction Away from the Hardware
  • Exercise

Workshop in Your Code

  • Legacy Code Mindset
  • Boy Scout Rule
  • Crash to Pass Algorithm
  • TDD and Bug Fixes

Legacy Code Workshop

  • Setup off-target unit test environment to support TDD
  • Work as a group getting your first code under test
  • Break in to small groups and continue adding tests

Wrap-up Discussion

Related Courses

Find out More

Contact us now to find out more about this course or to enquire about an on-site training at your company.

Recording Policy

Barr Group's courses may not be audiotaped, videotaped, or photographed without consent from Barr Group's executive team.