Unit Testing & Other Embedded Software Catalysts
Dr. Surly’s School for Mad Scientists: Introduction to Test Driven Development for Embedded & System Software in C
- 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.
- You should have basic proficiency in C programming.
- You should have some experience with Embedded or Systems Programming. If you've ever dealt with a register or bit mask, you're our kind of people.
- No prior testing experience is required.
- While certain tools are required for this course, they're all free, and we'll guide you through all necessary installation and configuration as we go.
Welcome to Dr. Surly’s 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 you’ve completed this material or if you’re already familiar with TDD and xUnit frameworks our course Interaction Testing, Mocking & Embedded Software in C is a great next step.
Dr. Surly’s School for Mad Scientists
When you’re 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. Surly’s lab has become quite proficient at software design and testing, supplemental revenue to fund all manner of villainy is a necessary evil. It’s 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 Software
You 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 won’t only be learning testing in this course but also good design.
This Course Includes:
0x1D (29) Code-centered lectures
0x05 (5) Development projects
0x12 (18) Helpful resource-packed supplemental primers, guides, and how-to's
Links, quizzes, helpful hints, and more
Can’t decide? Need something more? Please write us at… [email protected]
Join us in our mission to take over the world (with quality embedded software)!
- 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.