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?

Audience

Embedded software developers
Technical leaders and managers

Prerequisites

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
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
Refactoring
Critical Skills
Code Smells
Envisioning
Transforming
Working with Legacy C
Legacy Code Mindset
Boy Scout Rule
Crash to Pass Algorithm
TDD and Bug Fixes
Exercise
Wrap-up Discussion

0

Start typing and press Enter to search