Testimonial

"Netrino training courses should be required before writing any embedded code."

General Dynamics

Master Firmware

Registration is now open for the popular hands-on Embedded Software Boot Camp. Consult our public training calendar for upcoming dates and locations.

Boot Camp

Sign Up Now

Receive Michael Barr's Firmware Update newsletter for free how-to articles and industry news by e-mail. Sign up now.

Bookmark It

Bookmark this page or share it with a colleague.

Test Driven Development for Embedded Programmers Course

Test Driven Development (TDD) is a powerful technique for building reliable software. This hands-on course teaches the best practices of TDD with a focus on the challenges unique to testing embedded C or C++ programs, such as concurrent hardware and software development, long download/reflashing times, and restricted visibility. The course shows how TDD can be used to reign in unpredictable schedules as well as reduce bugs.

Length/Options

  • 2-3 days (hands-on)
  • Available in C and C++ variants

Audience

  • Embedded software developers
  • Technical leaders and managers

Prerequisites

  • Familiarity with the C or C++ programming language
  • Familiarity with embedded software development

Related Courses

Outline

  • Test Driven Development
    • What is TDD?
    • Why TDD?
    • The Micro-Cycle
    • Exercise - Test-driving a Standalone Module
  • Special Considerations for Embedded
    • Leveraging the Development System
    • Risks of Off-Target Tests
    • Embedded TDD Cycle
    • Hardware/Platform Independence
  • Testable Designs
    • Object-Oriented C
    • TDD and Collaborating Modules
    • Test Fakes, Stubs, Doubles, and Mocks
  • Managing Hardware Dependencies
    • Self-Validating Mock Objects
    • Setting up a Root Directory Structure
    • Exercise - Test Doubles
  • Refactoring
    • If the Test Smells, the Code Smells
    • Critical Refactoring Skills
    • Incremental Improvement
    • Exercise - Refactoring
  • Architectural Vision and Implementation Delivery
    • The Big Picture
    • Vertical Slices
    • From Specific to General
    • Exercise - Bringing it All Together
  • Wrap-Up/Discussion

Learn More

To request pricing or dates, or for more information about this course, contact us.