Tests non fonctionnels
โก Rรฉsumรฉ intelligent
Les tests non fonctionnels permettent de vรฉrifier les performances d'une application logicielle en termes de fiabilitรฉ, d'ergonomie, de sรฉcuritรฉ, d'รฉvolutivitรฉ et d'autres attributs de qualitรฉ. Ce guide explique les objectifs, les paramรจtres, les caractรฉristiques, les types de tests courants et prรฉsente des exemples concrets de cas de test utilisรฉs par les รฉquipes d'assurance qualitรฉ.

Quโest-ce que les tests non fonctionnels ?
Tests non fonctionnels Les tests non fonctionnels sont une catรฉgorie de tests logiciels qui valident les aspects non fonctionnels d'une application : performances, convivialitรฉ, fiabilitรฉ et autres attributs de qualitรฉ similaires. Ils รฉvaluent la maturitรฉ du systรจme par rapport ร des critรจres que les tests fonctionnels n'abordent jamais, garantissant ainsi que l'application rรฉpond aux attentes de l'entreprise en conditions rรฉelles d'utilisation.
Un exemple classique de test non fonctionnel consiste ร mesurer le nombre d'utilisateurs simultanรฉs pouvant se connecter ร une application sans dรฉgradation des performances. Les tests non fonctionnels sont aussi essentiels que les tests fonctionnels, car ils influent directement sur la satisfaction client et la perception globale du produit.
Objectifs des tests non fonctionnels
Les tests non fonctionnels sont rรฉalisรฉs afin d'amรฉliorer la qualitรฉ globale et la durรฉe de vie d'un produit. Leurs principaux objectifs sont les suivants :
- Amรฉliorer la facilitรฉ d'utilisation, l'efficacitรฉ, la facilitรฉ de maintenance et la portabilitรฉ du produit.
- Rรฉduire les risques de production et les coรปts associรฉs aux dรฉfauts non fonctionnels.
- Optimisez la maniรจre dont le produit est installรฉ, configurรฉ, exรฉcutรฉ, gรฉrรฉ et surveillรฉ.
- Collecter des mesures et des indicateurs pour la recherche et le dรฉveloppement internes.
- Amรฉliorer la comprรฉhension du comportement du produit et des technologies utilisรฉes.
Caractรฉristiques des tests non fonctionnels
Les caractรฉristiques suivantes dรฉfinissent la maniรจre dont les tests non fonctionnels doivent รชtre planifiรฉs et exรฉcutรฉs :
- Elle doit รชtre mesurable, ne laissant aucune place ร des descriptions subjectives telles que bon, meilleur ou excellent.
- Les chiffres exacts sont gรฉnรฉralement inconnus au dรฉbut du processus de dรฉfinition des besoins.
- Les exigences doivent รชtre hiรฉrarchisรฉes afin que les domaines prรฉsentant le risque le plus รฉlevรฉ soient traitรฉs en premier.
- Les attributs de qualitรฉ sont identifiรฉs avec prรฉcision lors de la phase d'ingรฉnierie logicielle.
Paramรจtres de test non fonctionnels
On utilise gรฉnรฉralement onze paramรจtres pour dรฉfinir le pรฉrimรจtre des tests non fonctionnels :
- Sรฉcuritรฉ : รvalue la protection d'un systรจme contre les attaques dรฉlibรฉrรฉes et accidentelles d'origine interne ou externe. Vรฉrifiรฉ par des tests de sรฉcuritรฉ.
- Fiabilitรฉ: La mesure dans laquelle un systรจme remplit en continu ses fonctions spรฉcifiรฉes sans dรฉfaillance. Vรฉrifiรฉe par des tests de fiabilitรฉ.
- Survivabilitรฉ: Confirme que le systรจme continue de fonctionner et se rรฉtablit automatiquement aprรจs une panne. Vรฉrifiรฉ par des tests de rรฉcupรฉration.
- Disponibilitรฉ: Dรฉtermine le degrรฉ de fiabilitรฉ du systรจme en cours de fonctionnement. Vรฉrifiรฉ par des tests de stabilitรฉ.
- Usabilitรฉ: Facilitรฉ d'apprentissage, d'utilisation, de prรฉparation des donnรฉes et de consultation des rรฉsultats du systรจme. Vรฉrifiรฉe par des tests d'utilisabilitรฉ.
- รvolutivitรฉ: Capacitรฉ d'une application logicielle ร รฉtendre sa capacitรฉ de traitement pour rรฉpondre ร une demande croissante. Vรฉrifiรฉe par des tests de scalabilitรฉ.
- Interopรฉrabilitรฉ: Vรฉrifie comment un systรจme logiciel interagit avec d'autres systรจmes logiciels. Vรฉrifiรฉ par des tests d'interopรฉrabilitรฉ.
- Rendement : La mesure dans laquelle le systรจme gรจre la capacitรฉ, la quantitรฉ et le temps de rรฉponse sous charge.
- Flexibilitรฉ: La facilitรฉ avec laquelle l'application peut fonctionner sur diffรฉrentes configurations matรฉrielles et logicielles, telles que des spรฉcifications de RAM ou de processeur variables.
- Transfรฉrabilitรฉ : La flexibilitรฉ du logiciel pour passer de son environnement matรฉriel ou logiciel actuel ร un autre.
- Rรฉutilisabilitรฉ: Dรฉsigne la partie d'un systรจme logiciel qui peut รชtre adaptรฉe pour รชtre utilisรฉe dans une autre application.
Type de test de logiciel
Les tests logiciels sont gรฉnรฉralement classรฉs en trois catรฉgories :
- Essais fonctionnels
- Tests non fonctionnels
- Tests d'entretien
Chaque catรฉgorie comprend plusieurs niveaux de test, que les รฉquipes appellent souvent types de test. Les classifications peuvent lรฉgรจrement varier d'un ouvrage ร l'autre ; il faut donc s'attendre ร de petites diffรฉrences.
La liste des types de tests n'est pas exhaustive : il en existe plus de 100 diffรฉrents, et de nouveaux apparaissent rรฉguliรจrement. Chaque type de test n'est pas adaptรฉ ร tous les projets ; son รฉtendue dรฉpend de la nature, du profil de risque et de la complexitรฉ de l'application testรฉe.
Types de tests non fonctionnels
Les types de tests non fonctionnels les plus courants effectuรฉs par les รฉquipes d'assurance qualitรฉ comprennent :
- Test de performance
- test de charge
- Test de basculement
- Test de compatibilitรฉ
- Tests d'utilisabilitรฉ
- Test de stress
- Tests de maintenabilitรฉ
- Tests d'รฉvolutivitรฉ
- Tests de volume
- Test de sรฉcuritรฉ
- Tests de reprise aprรจs sinistre
- Test de conformitรฉ
- Test de portabilitรฉ
- Tests d'efficacitรฉ
- Test de fiabilitรฉ
- Tests de base
- Test d'endurance
- Tests de documentation
- Test de rรฉcupรฉration
- Tests d'internationalisation
Exemples de cas de test pour les tests non fonctionnels
Les exemples suivants illustrent comment les cas de tests non fonctionnels sont รฉcrits dans des projets rรฉels :
| Cas de test # | Cas de test | Domaine |
|---|---|---|
| 1 | Le temps de chargement de l'application ne doit pas dรฉpasser 5 secondes lorsqu'elle est accessible simultanรฉment par jusqu'ร 1000 utilisateurs. | Test de performance |
| 2 | Le logiciel devrait pouvoir รชtre installรฉ sur toutes les versions prises en charge de Windows et macOS. | Test de compatibilitรฉ |
| 3 | Toutes les images Web doivent comporter des balises alt descriptives. | Test d'accessibilitรฉ |


