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รฉ.

  • (I.e. Prioritรฉ ร  la qualitรฉ : Les tests non fonctionnels mesurent comment un systรจme fonctionne plutรดt que ce qu'il fait.
  • (I.e. Critรจres mesurables : Chaque exigence est quantifiรฉe, รฉliminant ainsi les formulations subjectives telles que bon, meilleur ou excellent.
  • (I.e. Paramรจtres critiques : La sรฉcuritรฉ, la fiabilitรฉ, l'รฉvolutivitรฉ, la facilitรฉ d'utilisation et la portabilitรฉ dominent la vรฉrification non fonctionnelle.
  • ๐Ÿงช Divers types de tests : Les tests de performance, de charge, de contrainte, de rรฉcupรฉration et de compatibilitรฉ permettent chacun de traiter des risques de qualitรฉ spรฉcifiques.
  • (I.e. Impact sur les entreprises: Des tests non fonctionnels rigoureux permettent de rรฉduire les coรปts de production, les temps d'arrรชt et l'insatisfaction des clients lors des diffรฉrentes versions.

Tests non fonctionnels

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.

Diagramme de synthรจse des tests non fonctionnels

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 :

  1. 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รฉ.
  2. 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รฉ.
  3. 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.
  4. Disponibilitรฉ: Dรฉtermine le degrรฉ de fiabilitรฉ du systรจme en cours de fonctionnement. Vรฉrifiรฉ par des tests de stabilitรฉ.
  5. 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รฉ.
  6. ร‰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รฉ.
  7. Interopรฉrabilitรฉ: Vรฉrifie comment un systรจme logiciel interagit avec d'autres systรจmes logiciels. Vรฉrifiรฉ par des tests d'interopรฉrabilitรฉ.
  8. Rendement : La mesure dans laquelle le systรจme gรจre la capacitรฉ, la quantitรฉ et le temps de rรฉponse sous charge.
  9. 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.
  10. Transfรฉrabilitรฉ : La flexibilitรฉ du logiciel pour passer de son environnement matรฉriel ou logiciel actuel ร  un autre.
  11. Rรฉutilisabilitรฉ: Dรฉsigne la partie d'un systรจme logiciel qui peut รชtre adaptรฉe pour รชtre utilisรฉe dans une autre application.

Diagramme des paramรจtres de test non fonctionnels

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รฉ

FAQ

Les tests fonctionnels vรฉrifient la conformitรฉ du systรจme aux exigences spรฉcifiรฉes. Les tests non fonctionnels รฉvaluent les performances du systรจme, notamment sa vitesse, sa fiabilitรฉ, son ergonomie et sa sรฉcuritรฉ, garantissant ainsi que l'application rรฉpond aux normes de qualitรฉ au-delร  du simple comportement de ses fonctionnalitรฉs principales.

Les outils populaires incluent JMeter et LoadRunner pour les performances, Selenium pour l'automatisation de l'utilisabilitรฉ, Burp Suite OWASP ZAP assure la sรฉcuritรฉ, tandis que BrowserStack รฉvalue la compatibilitรฉ. Chaque outil cible un domaine non fonctionnel spรฉcifique que les รฉquipes d'assurance qualitรฉ souhaitent mesurer.

Les tests non fonctionnels doivent dรฉbuter une fois le systรจme fonctionnellement stable et avant les mises en production majeures. Les tests de performance, de sรฉcuritรฉ et de fiabilitรฉ sont gรฉnรฉralement planifiรฉs en fin de phase de test, mais les stratรฉgies de test en amont (shift-left) prรฉconisent leur exรฉcution plus tรดt, en parallรจle du dรฉveloppement.

Chaque paramรจtre est รฉvaluรฉ par rapport ร  des seuils quantifiables. Les performances sont mesurรฉes en termes de temps de rรฉponse et de dรฉbit, la sรฉcuritรฉ par le nombre de vulnรฉrabilitรฉs, l'utilisabilitรฉ par les taux d'achรจvement des tรขches et la fiabilitรฉ par le temps moyen entre les pannes. Numbers remplacer les opinions subjectives.

Les deux. Les tests de performance, de charge, de stress et de sรฉcuritรฉ reposent largement sur l'automatisation en raison de leur รฉchelle et de leur reproductibilitรฉ. Les tests d'utilisabilitรฉ et d'accessibilitรฉ nรฉcessitent souvent une observation manuelle, des รฉvaluations d'experts ou des vรฉrifications ร  l'aide de technologies d'assistance, en complรฉment des outils automatisรฉs.

L'IA gรฉnรจre des profils de charge, prรฉdit les goulots d'รฉtranglement des performances, priorise les cas de test ร  risque et analyse automatiquement les donnรฉes de journalisation. Les plateformes pilotรฉes par l'IA rรฉduisent le temps d'exรฉcution et dรฉtectent plus rapidement les rรฉgressions.ping Les รฉquipes d'assurance qualitรฉ รฉtendent la couverture non fonctionnelle aux diffรฉrentes versions.

Non. L'IA accรฉlรจre les analyses, la crรฉation de rรฉfรฉrentiels et la dรฉtection d'anomalies, mais les testeurs experts continuent d'interprรฉter les rรฉsultats, de valider les chaรฎnes d'exploitation et de concevoir les scรฉnarios de test. L'IA complรจte le jugement humain dans les tests non fonctionnels sans pour autant remplacer les ingรฉnieurs QA expรฉrimentรฉs.

Rรฉsumez cet article avec :