d5:c01

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
d5:c01 [2025/09/24 09:46] dthevenotd5:c01 [2025/09/26 08:26] (Version actuelle) – [Les différents types de tests] dthevenot
Ligne 1: Ligne 1:
 ~~SLIDESHOW~~ ~~SLIDESHOW~~
 +====== Tests logiciels et cybersécurité ======
 +  * Une application de paiement en ligne qui n’a pas testé correctement la validation des entrées -> un pirate injecte du code SQL et accède aux données bancaires.
 +  * Une messagerie qui ne vérifie pas les mots de passe trop faibles, et qui se fait pirater.
 +“Est-ce que c’est juste un bug ? Ou est-ce une faille de sécurité ?” -> “Un logiciel non testé, ce n’est pas seulement un logiciel qui bug, c’est un logiciel qui met en danger les données et les utilisateurs.”
 +
 +Tester, ce n’est pas seulement vérifier que ça marche (“le programme renvoie le bon résultat”), c’est aussi vérifier que ça ne peut pas être détourné par un usage malveillant.
 +
 +===== Enjeux pour la cybersécurité =====
 +  * Prévenir les vulnérabilités connues : injections, buffer overflow, failles XSS…
 +  * Réduire le coût des failles : corriger un bug après mise en production coûte 10 à 100 fois plus cher qu’avant.
 +  * Conformité réglementaire : RGPD, normes ISO, critères ANSSI.
 ====== Les différents types de tests logiciels ====== ====== Les différents types de tests logiciels ======
  
Ligne 28: Ligne 39:
 =====  ===== =====  =====
 === 3. Tests fonctionnels === === 3. Tests fonctionnels ===
- 
 Les tests fonctionnels se concentrent sur **les exigences métier d'une application**. Ils vérifient uniquement la sortie d'une action et non les états intermédiaires du système lors de l'exécution de cette action. Les tests fonctionnels se concentrent sur **les exigences métier d'une application**. Ils vérifient uniquement la sortie d'une action et non les états intermédiaires du système lors de l'exécution de cette action.
  
Ligne 34: Ligne 44:
 =====  ===== =====  =====
 === 4. Tests de bout en bout === === 4. Tests de bout en bout ===
- 
 Les tests de bout en bout reproduisent **le comportement d'un utilisateur avec le logiciel** dans un **environnement applicatif complet**. Ils vérifient que les différents flux d'utilisateurs fonctionnent comme prévu et peuvent être aussi simples que le chargement d'une page Web ou la connexion. Des scénarios beaucoup plus complexes peuvent aussi vérifier les notifications par e-mail, les paiements en ligne, etc. Les tests de bout en bout reproduisent **le comportement d'un utilisateur avec le logiciel** dans un **environnement applicatif complet**. Ils vérifient que les différents flux d'utilisateurs fonctionnent comme prévu et peuvent être aussi simples que le chargement d'une page Web ou la connexion. Des scénarios beaucoup plus complexes peuvent aussi vérifier les notifications par e-mail, les paiements en ligne, etc.
 =====  ===== =====  =====
Ligne 44: Ligne 53:
 Les tests d'acceptation sont des **tests formels exécutés pour vérifier si un système répond à ses exigences métier**. Ils nécessitent que l'application soit entièrement opérationnelle et se concentrent sur la simulation du comportement des utilisateurs. Ils peuvent aussi aller plus loin, et mesurer la performance du système et rejeter les changements si certains objectifs ne sont pas atteints. Les tests d'acceptation sont des **tests formels exécutés pour vérifier si un système répond à ses exigences métier**. Ils nécessitent que l'application soit entièrement opérationnelle et se concentrent sur la simulation du comportement des utilisateurs. Ils peuvent aussi aller plus loin, et mesurer la performance du système et rejeter les changements si certains objectifs ne sont pas atteints.
 =====  ===== =====  =====
-=== 6. Tests de performance ===+=== 6. Tests de performance / de robustesse === 
 +Testent le comportement de l’application au limite des ressources disponibles (mémoire, CPU, …) sur la plate-forme.
  
 Les tests de performance évaluent **les performances d'un système sous une charge de travail spécifique**. Ces tests permettent de mesurer la fiabilité, la vitesse, l'évolutivité et la réactivité d'une application. Par exemple, un test de performance peut observer les temps de réponse lors de l'exécution d'un nombre important de demandes ou déterminer le comportement du système face à une quantité élevée de données. Il peut déterminer si une application répond aux exigences de performances, localiser les goulots d'étranglement, mesurer la stabilité pendant les pics de trafic, et plus encore. Les tests de performance évaluent **les performances d'un système sous une charge de travail spécifique**. Ces tests permettent de mesurer la fiabilité, la vitesse, l'évolutivité et la réactivité d'une application. Par exemple, un test de performance peut observer les temps de réponse lors de l'exécution d'un nombre important de demandes ou déterminer le comportement du système face à une quantité élevée de données. Il peut déterminer si une application répond aux exigences de performances, localiser les goulots d'étranglement, mesurer la stabilité pendant les pics de trafic, et plus encore.
 =====  ===== =====  =====
 === 7. Smoke tests === === 7. Smoke tests ===
 +Les smoke tests (tests "vitaux") sont des tests simples qui vérifient le fonctionnement de base d'une application. Ils sont conçus pour être rapides à exécuter, et leur but est de vous donner l'assurance que les caractéristiques principales de votre système fonctionnent comme prévu.
  
-Les smoke tests sont des tests simples qui vérifient le fonctionnement de base d'une application. Ils sont conçus pour être rapides à exécuter, et leur but est de vous donner l'assurance que les caractéristiques principales de votre système fonctionnent comme prévu.+Ils peuvent être utiles juste après la création d'un build afin de décider si vous pouvez exécuter des tests plus coûteux. Ils peuvent également être utiles après un déploiement afin de vous assurer que l'application s'exécute correctement dans l'environnement nouvellement déployé.
  
-Les « smoke tests » peuvent être utiles juste après la création d'un build afin de décider si vous pouvez exécuter des tests plus coûteux. Ils peuvent également être utiles après un déploiement afin de vous assurer que l'application s'exécute correctement dans l'environnement nouvellement déployé. +=== 8. Tests de sécurité === 
-=====  =====+  
 +Testent que l’application ne contient pas de failles de sécurité connues (injection de code, attaque XSS, …)
  
 +=====  =====
 +[[d5:A02]]
  • d5/c01.1758699977.txt.gz
  • Dernière modification : 2025/09/24 09:46
  • de dthevenot