Temps de lecture : 4 minutes
Les Tests Unitaires (TU), bonne pratique d’Assurance Qualité Logiciel, sont exigés dans de nombreuses normes de Sureté de Fonctionnement Logiciel comme la DO-178, l’IEC 61508, l’IEC 62304, l’ISO 26262, l’EN 50128.
En toute logique, les TU (comme les autres tests) ne doivraient pas être réalisés par les développeurs du code, afin de respecter l’indépendance d’analyse et de jugement.
Qu’est-ce que le test unitaire ?
Le test unitaire est un processus de vérification d’une unique unité de logiciel, elle-même définie comme étant la plus petite partie non divisible d’un code source. Par exemple, dans le cadre d’un développement en langage C, il est communément admis que l’unité de logiciel est une fonction de code. Ainsi, le test unitaire revient à tester une seule et unique fonction de code source à la fois, isolément des autres fonctions du projet.
Générer un harnais de test à la main peut nécessiter un code source plus important que la fonction à tester…
Le but du test unitaire est de confronter une fonction de code aux exigences de conception correspondantes, et donc de s’assurer qu’elle fonctionne correctement en toutes circonstances.
Les tests unitaires jouent un rôle clé dans l’amélioration de la qualité des logiciels, en
Cependant, la réalisation d’un test unitaire sans outil, ou au travers d’un environnement gratuit type xUnit, implique de développer le harnais de test, c’est-à-dire du code d’encapsulation de la fonction testée (déclaration et instanciation des variables, …), ainsi que de remplacer les éventuelles fonctions appelées par la fonction testée par des bouchons (« stub » en anglais). Ainsi, il est nécessaire de maintenir à jour un code de taille non négligeable uniquement dans un but de test, ce qui est rarement effectué en pratique…
Les tests unitaires jouent un rôle clé dans l’amélioration de la qualité des logiciels, en
- Détectant les erreurs rapidement (particulièrement lorsqu’ils sont effectués durant le développement), notamment dans le cadre de la méthode Test Driven Development),
- Diminuant les erreurs en phase de maintenance (les tests unitaires faisant par la suite office de tests de non-régression),
- Améliorant la documentation du code source (la lecture de tests unitaires étant souvent très instructive pour comprendre le fonctionnement d’une fonction de code).
Cependant, la réalisation d’un test unitaire sans outil, ou au travers d’un environnement gratuit type xUnit, implique de développer le harnais de test, c’est-à-dire du code d’encapsulation de la fonction testée (déclaration et instanciation des variables, …), ainsi que de remplacer les éventuelles fonctions appelées par la fonction testée par des bouchons (« stub » en anglais). Ainsi, il est nécessaire de maintenir à jour un code de taille non négligeable uniquement dans un but de test, ce qui est rarement effectué en pratique…
Vous souhaitez réduire vos coûts de développement des logiciels critiques et les risques liés au calendrier tout en respectant les contraintes normatives ?
Nos outils et notre expertise permettent de réaliser des campagnes de tests unitaires, d’automatiser leur réexécution et d’assurer la conformité aux normes.
Discutez avec nos experts pour mettre en œuvre votre prochaine campagne de tests unitaires ?
Discutez avec nos experts pour mettre en œuvre votre prochaine campagne de tests unitaires ?