Unit Testing & Other Embedded Software Catalysts (Udemy.com)

Dr. Surlys School for Mad Scientists: Introduction to Test Driven Development for Embedded & System Software in C

Created by: Mark VanderVoord

Produced in 2019

icon
What you will learn

  • Develop Embedded and System Software in C using Unit Tests.
  • Apply Test Driven Development practices and design patterns to your own projects.
  • Produce quality, maintainable, and self-documented software designs through test-first thinking.
  • Understand how to use the open source Unity test framework
  • Take over the world.

icon
Quality Score

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 90 / 100

icon
Course Description

Welcome to Dr. Surlys School for Mad Scientists!
Unit Testing and Test Driven Development help smart, capable developers like you create robust, reliable, and maintainable software that lets you sleep soundly at night. In this course you will apply these concepts to embedded code and system software in C.
This course introduces the Unity framework, key principles, and a variety of techniques so that you can apply Unit Testing and Test Driven Development in complex and low-level C code. Once youve completed this material or if youre already familiar with TDD and xUnit frameworks our course Interaction Testing, Mocking & Embedded Software in C is a great next step.
Dr. Surlys School for Mad ScientistsWhen youre trying to take over the world you learn two things quite quickly. First, you end up building lots of technology like death rays and such that requires high quality firmware. Second, minions, climate-altering satellites, and lairs are expensive. While Dr. Surlys lab has become quite proficient at software design and testing, supplemental revenue to fund all manner of villainy is a necessary evil. Its all part of the standard world domination business model, and you get to benefit.
In This Course You Will:
Develop in C using Test Driven Development. Write real, executable tests on your first day.
Learn concepts from Agile, XP, Scrum, and Lean practices for producing well designed, high quality, scope-managed, and self-documented code.
Utilize the free, open source tool Unity in real-world testing scenarios. No toy examples.
Follow us through real-world programming examples and see techniques and patterns for unit testing tricky code.
Encounter big idea philosophies for process, design, and testing.
Apply your new skills to challenging practice problems.
Connect with a supportive community.
Learn How To Apply Unit Testing To Your Embedded and System C SoftwareYou will learn skills that have become staples in higher level languages but are sadly underutilized in the C world. In particular, you will learn to write unit tests in the uniquely challenging setting of embedded and system software.
Of course, the test-driven techniques you will learn produce code that enables thorough, smart testing. But, a happy side effect of TDD is code that tends to adhere to generally good design principles. You wont only be learning testing in this course but also good design.
This Course Includes:
0x1D (29) Code-centered lectures0x05 (5) Development projects0x12 (18) Helpful resource-packed supplemental primers, guides, and how-to'sLinks, quizzes, helpful hints, and moreCant decide? Need something more? Please write us at tdd@throwtheswitch.
orgJoin us in our mission to take over the world (with quality embedded software)!
Who this course is for:
This course is for C developers seeking to learn Unit Testing and Test Driven Development. If you are new to the C language or programming for hardware, this course may be too advanced for you.

icon
Instructor Details

Mark VanderVoord

Hi. I'm Mark. I've been developing awesome things with embedded software for 20 years and I help other people do the same. I've worked on self-guided lawnmowers, automotive electronics, color measurement devices, bluetooth beacons, and much more. I'm one of the creators of the open source tools Unity and CMock, which help people test C code. I'm one of the founders of Throw The Switch, an online community dedicated to making embedded software better.

icon
More it & software courses

Kubernetes Certified Application Developer (CKAD) with Tests

$11.99

Angel Oracle Card Reader Course; Become the Oracle

$11.99

Cisco CCENT Packet Tracer Ultimate labs: ICND1 Exam prep lab

$11.99

Microsoft Access Networking 2: Maximum Security

$11.99

Oracle 12c Multitenant Architecture Administration

$11.99

Certified Kubernetes Administrator (CKA) with Practice Tests

$11.99

icon
Reviews

4.5

83 total reviews

5 star 4 star 3 star 2 star 1 star
% Complete
% Complete
% Complete
% Complete
% Complete

By Tony O'Callaghan on 10/24/2020

Everything is very well explained

By Alessandro Benini on 10/19/2020

Very clear.

By Peter Vollaard on 10/16/2020

Mostly covering the basics that I was already familiar with, but the material was well explained, so it was a nice refreshment session. Hoping that the follow-up course provides some new knowledge.

By Andries Holtrop on 10/4/2020

Well explained in little steps at the time, so easy to follow. Very good articulation and understandable English (American). You need to know I'm Dutch originally albeit with a good understanding of the English language. Small sessions which you can take in as a whole in one go before your mind explodes with new information.

By Alexandru Balmus on 9/25/2020

This course only covers Unity Assertions.
This is only useful for simple modules which do not interact with other modules.
There's nothing about mocks which help test complex modules which interact with other modules.
The Embedded word in the title is only marginally relevant.
The quality of the material presented is good though.
I dislike the style of the videos.

By Brooks Anderson on 9/11/2020

Good introduction. I didn't care for the GPIO module project because the module was hardcoded for the specific application.

By IT Link Benelux on 7/25/2020

Great course for Unit Testing and TDD!

By Yeswanth Gadde on 7/16/2020

being able to practice simultaneously is good

By Ritesh Lal on 7/8/2020

excellent

By Kevin Kramb on 7/6/2020

I'm an experienced embedded software developer and I want to learn more about TDD in general and Unity in particular. This course was great for me. I feel like I've been properly introduced and can now use the techniques covered in the course and can continue to learn on my own. This course is just an introduction though. I expect I still have much to learn. The course does not cover CMock or Ceedling and I'd like to learn more about those. I may purchase the 2nd course from ThrowTheSwitch after digesting what I've learned. I wasn't able to use SourceLair for this course. I signed up for a SourceLair account but was unable to get a public key that would allow me to checkout the BitBucket repository that I forked. SourceLair did not respond to one request for help. I ended up using my own setup, which is Windows 10 with WSL2, then Ubuntu, gcc, etc. I would recommend Windows 10 users go the WSL2/Ubuntu route. It's not that hard to setup and will be much more useful than SourceLair going forward.

By Frank Philippot on 6/19/2020

a very good pratical course

By Chris Migut on 6/11/2020

Forum link is broken that links to throwtheswitch for help.
But, liking the course so far.