Test Driven Development for Embedded C Programmers
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
Why Test-Driven Development?
What is Test-Driven Development?
Adapting TDD to Embedded Software Development
Leveraging the Development System
Risks of Development System Unit Testing
Embedded TDD Cycle
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
Test-Driving Next to the Silicon with Mocks
The Problem Solved by Mock Objects
TDD One Instruction Away from the Hardware
Working with Legacy C
Legacy Code Mindset
Boy Scout Rule
Crash to Pass Algorithm
TDD and Bug Fixes