#49 Embedded Unit Testing

Описание к видео #49 Embedded Unit 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.

#embedded_systems #embeddedsoftware #testing

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-c...

Project download for this lesson:
https://www.state-machine.com/course/...

GitHub repository for projects for this video course:
https://github.com/QuantumLeaps/moder...

Transcript of this lesson:
https://www.state-machine.com/course/...


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/Embed...

📥 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
   • Windows Subsystem for Linux (WSL) Tut...  


Books and articles:
-------------------
📖 James W. Grenning, "Test Driven Development for Embedded C",
The Pragmatic Programmers, 2011,
https://pragprog.com/titles/jgade/tes...

📖 John Gall, "Systemantics: How Systems Work and Especially How They Fail"
Quadrangle; 1977,
https://docdrop.org/download_annotati...

📖 Miro Samek, “On the Origin of Software by Means of Artificial Selection"
Quantum Leaps Blog, 2011
https://www.state-machine.com/on-the-...


Music credits:
--------------
🎵 The background music comes from:
https://www.bensound.com/royalty-free...

Комментарии

Информация по комментариям в разработке