Saint Michel Annecy, IT Campus, testing for L3 CSI and Master MS2D. It covers many aspects of modern software testing, from unit tests to, integration test, embedded development testing, etc
- Savoir développer et mettre en place des tests unitaires sur une application
- Savoir développer et mettre en place des tests d’intégration sur une application
- Savoir configurer un pipeline d’intégration continue sur une application
-
Les tests unitaires
- Qu’est-ce qu’un test ?
- Les tests unitaires
- Les bonnes pratiques
- Le Test Driven Development
- Le code coverage
- Tests avec langage naturel
-
Les tests d’intégrations
- Les tests d’intégration
- Le fonctionnement
- Les bonnes pratiques
-
L’intégration continue
- Mise en place d’une plateforme d’intégration continue (GitLab CI)
- Conteneurisation d’une application (API)
- Configuration d’un pipeline de tests
Pytest means Python, it's a framework to test Python using Python. First create a virtual environment.
python3 -m venv venv
Then activate it.
source venv/bin/activate
Then install pytest and other dependencies of that project.
pip install -r requirements.txt
Running the tests.
pytest
A piece of code can test another piece of code from the same project. But testing can be performed through a more abstract protocol, radio, serial, etc. The goal of those tests is to discover a very cheap microcontroller, the ATMega328P, and its development environment, the Arduino one. It highlights the differences between the Arduino framework and its simple MCU and our modern desktop environment looking at various aspects such as arithmetic precision and memory management.
Development will be made under VSCode using Arduino plugin to access copilot and easily develop the embedded software and Arduino IDE to have the full set of options of the Arduino environment. See the IDE installation procedure on the Arduino website.
Open the arduino/arduino.ino
file with Arduino IDE and upload it to the board.
At the point the test test_arduino.py
should pass.
Pytest means Python, it's a framework to test Python using Python. First create a virtual environment.
python3 -m venv venv
Then activate it.
source venv/bin/activate
Then install pytest and other dependencies of that project.
pip install -r requirements.txt
This README is just a help, the complete documentation is available in the doc
folder as a LaTex source.
To build it to a PDF it required LuaLaTex
.
Dependencies can be installed on Ubuntu with the following command :
sudo apt install texlive-luatex texlive-latex-base texlive-latex-recommended texlive-pictures texlive-latex-extra ghostscript texlive-fonts-extra
Then build the PDF documentation :
/usr/bin/bash compile-latex.sh
To compress the PDF, install ghostscript
:
sudo apt install ghostscript
And run the following command :
/usr/bin/bash compress-pdf.sh
To compress images, install pngcrush
and jpegoptim
using the following command :
sudo apt install pngcrush jpegoptim
Then run the following command :
/usr/bin/bash compress-image.sh
Check the LaTex syntax in an active virtual environment :
/usr/bin/bash checkmytex.sh