This course was created with the
course builder. Create your online course today.
Start now
Create your course
with
Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Test-Driven Development for Embedded C
About this course.
About you.
More of what you like, less of what you don't like! (6:45)
Overall Course Structure and Pace
View or Download Course Notes
Your First Test-Driven Development
What to expect during Your First Test-Driven Development. (2:39)
Why and What of TDD? (18:42)
Quiz
Do you want to get better at software development? (0:40)
Prep Exercise 1.1 Introduction and Preparation (48:11)
Exercise 1.1 -- Your First TDD (duration 60-120 minutes)
Demo Exercise 1.1 (22:55)
Quiz
TDD Debrief
Debrief your First TDD
What people liked about their first TDD experience (14:06)
Yeah but! -- Initial concerns about TDD.
TDD will take too long! (7:10)
I won't be able to think of all the tests! (TDD Guided by ZOMBES) (7:24)
TDD Guided by ZOMBIES Quiz
ZOMBIES - Impact on Interface (1:58)
I don't think like that! (7:47)
How can I write a test, if I don't know what my code should do? (a.k.a I have third pary dependencies!) (6:29)
The steps are so tiny! (4:05)
TDD means too many lines of code! (1:53)
l have to maintain the tests! (3:17)
I have existing legacy code! (2:31)
I heard that TDD is a waste of time. (1:29)
Other Concerns and Q&A recorded live. (51:14)
TDD and Embedded Software
TDD Adapted to Embedded Software (18:50)
Continuous Integration Ideas for Embedded (3:07)
Where should I put my tests? (2:51)
TDD Supports Change (evolving the CircularBuffer)
Exercise 1.2 Intro: Evolving Test-Driven Code -- Race Condition -- CircularBuffer V2 (5:58)
Exercise 1.2 -- Fix the Race (about 30 minutes)
Exercise 1.2 Demo (11:38)
A Few Other Things About TDD
Programmer tests, testing pyramid, Tests are FIRST... (9:12)
The Role of Code Coverage for the Test-Driven Developer (3:40)
Your First TDD -- Final Thoughts -- What is next. (4:52)
Test-Driven Development for Code with Dependencies
Dependencies and Design for Test (13:50)
Spies and Fakes (8:02)
Exercise 2.1 -- Spies and Fakes (about 30 minutes)
Demo 2.1 - Spies and Fakes (16:00)
Wiring Tests (8:32)
Exercise 2.2 -- The Wiring Tests (about 30 minutes))
Demo Exercise 2.2 (12:54)
Tests need to be kept clean (1:27)
Exercise 2.3 -- Refactor your tests (20-40 minutes)
Refactor your tests - debrief (4:51)
Demo Exercise 2.3 (8:22)
Light Scheduler Evolve Single Event Tests (1:47)
Exercise 2.4 -- Evolve Single Event Code (about 45 minutes)
Demo Exercise 2.4 (18:13)
Evolving to Multiple Scheduled Events (6:03)
Exercise 2.5 -- Generalize with the First of Many (about 60 minutes)
Demo Exercise 2.5 (13:31)
Thoughts on your TDD Journey (5:23)
Test Doubles and Mocking the Hardware
Test-Doubles Overview (11:30)
Mocking the Hardware
CppUMock and Learning Tests (8:20)
Exercise 3.1 - Test C with a C++ Test Harness
Demo Exercise 3.1 (3:07)
Flash Driver - Test-list and Interface (8:00)
Exercise 3.2 - Flash Driver - The First Test
Demo Exercise 3.2 - Start (5:36)
Demo Exercise 3.2 - Finish (18:08)
Exercise 3.3 - Flash Driver V2 - Programable Base Address
Demo Exercise 3.3 (9:22)
Exercise 3.4 - Flash V3 - Timeout
Demo Exercise 3.4 (15:15)
Refactoring, SOLID and Legacy Code Overviews
Refactoring's Three Skills
The Test-Driven Developer's Mindset applied to Legacy Code
Crash to Pass
Dragging Legacy code into a Test Harness
Final Thoughts
What's next
Setup a off-target unit-test environment with CppUTest
Exercise -- Test your Skill -- Call your Shot TDD
Flash Driver - Requirements Change - Move to a new Platform (1:39)
Demo Exercise 1.1
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock