Barr Group TwitterBarr Group Vimeo

Course Overview

Course Length: 
3 Days

 Download the Complete Course Syllabus

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.


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

To find out more about our upcoming public trainings, go to our Training Calendar.

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

Recording Policy

All Barr Group Training Public and On-site courses may not be audiotaped, videotaped or photographed without consent from Barr Group's executive team.  Barr Group reserves the right to record portions or all of a training course for instructional purposes.  As a result, attendees present may also appear on the recording.