Test Driven Development for Embedded C Programmers

Course#: BSEMB1023

About this Course

Course Type Course Code Duration
Embedded Software BSEMB1023 2 Days

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 software, 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.

Why Attend this Course?

What Makes this Course Stand Apart?

What you will Learn?


Embedded software developers
Technical leaders and managers


Experience with the C programming language
General familiarity with embedded software development

Course Outline

Test-Driven Development
Why Test-Driven Development?
What is Test-Driven Development?
The Microcycle
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
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
Critical Skills
Code Smells
Working with Legacy C
Legacy Code Mindset
Boy Scout Rule
Crash to Pass Algorithm
TDD and Bug Fixes
Wrap-up Discussion

What next- How do I arrange a group course or book a public place.?

We are here to help so please utilise our live chat team

Call to speak to your account manager or a consultant on

+44 (0)345 467 9557 or email sales@brightts.com

We are all technical with a wealth of Learning & Development experience
so can talk you through any specific requirements or the details of
one of our courses.


Start typing and press Enter to search