Skip to content

Saint Michel Annecy, IT Campus, testing for L3 CSI and Master MS2D

License

Notifications You must be signed in to change notification settings

St-Michel-IT/testing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Testing

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

Official skills to acquire

  • 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

The official program

  1. 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
  2. Les tests d’intégrations

    • Les tests d’intégration
    • Le fonctionnement
    • Les bonnes pratiques
  3. 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

Testing using Pytest

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

Embedded development testing

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.

Arduino

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.

Installation

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

Build the documentation

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

About

Saint Michel Annecy, IT Campus, testing for L3 CSI and Master MS2D

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published