#49 Embedded Unit Testing #embedded_systems #embeddedsoftware #testing
This is the first lesson about embedded software testing and its central role in software development. You will also see some ways of testing embedded software on the host computer and embedded targets and how to obtain the necessary tools.
Contents with Timestamps:
-------------------------
🕑 0:45 Evolutionary principles for creating complex systems
🕑 2:00 On the Origin of Software by Artificial Selection :-)
🕑 3:00 Waterfall process and why it cannot work
🕑 4:00 Agile software development / Test-Driven Development (TDD)
🕑 5:20 Artificial selection
🕑 6:00 Software testing levels: Unit testing
🕑 6:30 Unit testing harness (a.k.a., Unit testing framework)
🕑 7:05 Embedded-Test (ET) unit testing harness
🕑 7:40 Downloading and installing ET
🕑 8:00 Testing embedded code on the host
🕑 8:30 ET basic example (on the host)
🕑 9:30 Obtaining the command-line tools for testing
🕑 10:00 QTools collection of tools for testing on Windows
🕑 11:38 Installing QTools on Windows
🕑 12:20 Explanation of the basic ET example (CUT and tests)
🕑 14:30 Testing assertions in ET
🕑 14:46 No need for "test runners" in ET
🕑 15:10 Overview of ET examples
🕑 15:35 James Grenning's "TDD for Embedded C" book and "dual-targeting"
🕑 16:22 Benefits of dual-targeting
🕑 17:00 Testing on embedded targets
🕑 17:32 Running tests on the TivaC LaunchPad
🕑 18:30 Running tests on the STM32 NUCLEO-C031 board
🕑 19:55 Adapting ET to run on embedded targets
🕑 21:20 The built-in ET adaptation for the host computers
🕑 21:44 Conclusions
🕑 22:23 Confusion about what is being tested
🕑 22:57 The need to discard less relevant tests
End Notes:
----------
Companion web page to this video course
https://www.state-machine.com/video-course/
Project download for this lesson:
https://www.state-machine.com/course/lesson-49.zip
GitHub repository for projects for this video course:
https://github.com/QuantumLeaps/modern-embedded-programming-course
Transcript of this lesson:
https://www.state-machine.com/course/lesson-49.txt
Referenced software:
--------------------
📥 QTools collection of open-source tools for embedded systems development
on Windows, Linux, and macOS
Quantum Leaps GitHub repository, 2023
https://github.com/QuantumLeaps/qtools
📥 Embedded-Test (ET) Embedded Test (ET) -- The Super-Simple Embedded Test
Quantum Leaps GitHub repository, 2023
https://github.com/QuantumLeaps/Embedded-Test
📥 Unity unit testing framework Simple Unit Testing for C
ThrowTheSwicth GitHub repository, 2023
https://github.com/ThrowTheSwitch/Unity
📥 CppUTest unit testing and mocking framework for C/C++
CppUtest GitHub repository, 2021
https://github.com/cpputest/cpputest
📥 GoogleTest - Google Testing and Mocking Framework
Google GitHub repository, 2023
https://github.com/google/googletest
▶ Windows Subsystem for Linux (WSL) Tutorial & How To
Gary Explains YouTube video, 2019
https://youtu.be/av0UQy6g2FA?si=CzmCQ5xItpft5obK
Books and articles:
-------------------
📖 James W. Grenning, "Test Driven Development for Embedded C",
The Pragmatic Programmers, 2011,
https://pragprog.com/titles/jgade/test-driven-development-for-embedded-c/
📖 John Gall, "Systemantics: How Systems Work and Especially How They Fail"
Quadrangle; 1977,
https://docdrop.org/download_annotation_doc/John-Gall---Systemantics_-How-Systems-Work-and-Especially-Ho-8qhgx.pdf
📖 Miro Samek, “On the Origin of Software by Means of Artificial Selection"
Quantum Leaps Blog, 2011
https://www.state-machine.com/on-the-origin-of-software-by-means-of-artificial-selection
Music credits:
--------------
🎵 The background music comes from:
https://www.bensound.com/royalty-free-music/track/straight
Что делает видео по-настоящему запоминающимся? Наверное, та самая атмосфера, которая заставляет забыть о времени. Когда вы заходите на RUVIDEO, чтобы посмотреть онлайн «#49 Embedded Unit Testing #embedded_systems #embeddedsoftware #testing», вы рассчитываете на нечто большее, чем просто загрузку плеера. И мы это понимаем. Контент такого уровня заслуживает того, чтобы его смотрели в HD 1080, без дрожания картинки и бесконечного буферизации.
Честно говоря, Rutube сегодня — это кладезь уникальных находок, которые часто теряются в общем шуме. Мы же вытаскиваем на поверхность самое интересное. Будь то динамичный экшн, глубокий разбор темы от любимого автора или просто уютное видео для настроения — всё это доступно здесь бесплатно и без лишних формальностей. Никаких «заполните анкету, чтобы продолжить». Только вы, ваш экран и качественный поток.
Если вас зацепило это видео, не забудьте взглянуть на похожие материалы в блоке справа. Мы откалибровали наши алгоритмы так, чтобы они подбирали контент не просто «по тегам», а по настроению и смыслу. Ведь в конечном итоге, онлайн-кинотеатр — это не склад файлов, а место, где каждый вечер можно найти свою историю. Приятного вам отдыха на RUVIDEO!
Видео взято из открытых источников Rutube. Если вы правообладатель, обратитесь к первоисточнику.