Dernière modification : Dec 08 , 2024

Définitions, Typologies des tests

Pourquoi tester ?


Qu'est qu'un logiciel ?

Quand un logiciel est-il terminé ?

Qu'est ce qu'un logiciel de qualité ?

Les tests sont nécessaires parce que nous faisons tous des erreurs.

Qu'est ce qu'un test ?

JUNIT Lifecycle


Les principes du testeur

un test montre la présence de défauts, pas son absence

Oui mais il existe la couverture de code ?

Principe 1

Tester montre uniquement les bugs qui sont présents

Principe 2

Faut-il tout tester ?

Principe 3

Tester tôt

Principe 4:

Identifier les zones à risques

Principe 5:

Le paradoxe du pesticide

Principe 6:

Tester est une activité contextuelle

Principe 7:

Tester ne garantit pas la satisfaction utilisateur (l'absence d'erreurs)


Les types de défauts logiciels

Fort heureusement, les bugs n'ont pas tous la même criticité.
  • les erreurs de spécification
  • les mauvais choix de conception et d'implémentation de systèmes
  • les erreurs dans l'utilisation d'un système
  • les conditions environnementales
  • les dommages intentionnels, les attaques
  • les conséquences potentielles d'erreures précédentes, de dommages intentionnels

Lexique

  • erreur : l'erreur est d'origine humaine et à l'origine des défauts
  • défaut : erreur de conception logicielle, imperfections du logiciel
  • défaillance : aussi appelé bug ou anomalie

Les niveaux de tests

Un logiciel peut être vu comme ceci

Ces différents perspectives d’une application illustrent la difficulté de choisir l’abstraction idéale pour écrire le test.

Les niveaux de tests

Les tests unitaires

Unit tests

Caractéristiques d'un test unitaire

  • Vérifie une petite portion du code
  • Le test s'exécute rapidement
  • Le test est exécuté de manière isolée

Les tests d'intégration

Integration tests

Les tests systèmes

System tests

Les tests d'acceptation

ou recette

Acceptation tests


Les types de tests

Les tests fonctionnels

Functional tests

Les tests non fonctionnels

Les tests structurels

Structural tests

Les tests pour détecter les changements

Change related tests

Définitions, Typologies des tests

Created by Sylvain Leroy