• 4 heures
  • Moyenne

Ce cours est visible gratuitement en ligne.

Ce cours est en vidéo.

Vous pouvez obtenir un certificat de réussite à l'issue de ce cours.

J'ai tout compris !

Mis à jour le 07/10/2017

Découvrez les tests

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

 

 

Les tests dépendent de la méthodologie de projet suivie. Avant d'entrer dans le détail, nous considérons qu'il existe deux grandes formes de tests :

  • les tests automatisés : il sont codés par des informaticien·ne·s et exécutés par un ordinateur. Leur but est de confirmer que les différentes parties du programme correspondent aux spécifications techniques.

  • les tests manuels : ils sont réalisés par des humains, généralement une personne responsable de la qualité d'un projet ou le client lui-même. Leur but est de vérifier que les différentes fonctionnalités développées correspondent aux spécifications fonctionnelles.

 

 

La Pyramide des tests

Une pyramide de tests représente visuellement la somme de tests effectués sur un projet ainsi que leur type.

La base est constituée des tests unitaires, dont nous parlerons juste après, car ils sont plus nombreux que les autres.

Les étages supérieurs intègrent des tests variables selon la méthodologie choisie.

La dernière étape est toujours constituée de tests réalisés par un humain et qui seront bien moins nombreux que les tests précédents.

Pyramide de tests
Pyramide de tests

🤖 Les tests unitaires

Un test unitaire vérifie qu'une fonction réalise l'action souhaitée. Il ne s'agit pas ici de tester l'interaction entre les différentes fonctionnalités mais plutôt une partie d'une fonctionnalité.

 

🕵️🕵️‍♀️ Les tests finaux

Réalisés par des humains, les tests manuels sont bien plus rares dans le cycle de vie d'un projet. Ils viennent en général après les tests automatisés et vérifient d'autres aspects tels que la concordance entre les attentes d'un client et ce qui a été livré. Il peut également s'agir de la validation finale d'un projet avant une mise en production. 

 

Méthodologies séquentielles : les tests d'un cycle en V

Les phases d'un cycle en V
Les phases d'un cycle en  V

🤖  Les tests d'intégration

Ils vérifient que les fonctionnalités de l'application s'intègrent bien les unes avec les autres. En effet, les projets très longs et ambitieux supposent des équipes de développeu·r·se·s étendues qui implémentent chacun des fonctionnalités différentes. Il est donc important de tester que ces "briques" indépendantes fonctionnent bien les unes avec les autres !

Les tests d'intégration sont réalisés automatiquement par l'ordinateur. Cela les rend plus rapides à exécuter et plus fiables.

Ils correspondent aux spécifications techniques et testent par conséquent l'architecture du programme.

🕵️🕵️‍♀️ Tests de validation

Les tests de validation sont réalisés par un humain, généralement par un membre de la Maîtrise d'Ouvrage, et vérifient que le projet correspond bien aux attentes du client. Ils sont à placer en parallèle des spécifications fonctionnelles.

Concrètement, cette phase répond aux questions suivantes :

  • Est-ce que le logiciel livré répond aux problématiques métier de notre client ?

  • Est-ce que le logiciel est bien exempt d'erreurs en lien avec son utilisation quotidienne par des professionnels du métier ?

🕵️‍♀️🕵️ La phase de recette

Elle est réalisée en collaboration étroite avec le client et valide que le logiciel livré correspond bien à ses attentes. Durant cette phase, l'équipe responsable du projet teste les différentes composantes du projet et décèle les derniers bugs avant la mise en ligne. 

 

Pyramide de tests d'un cycle en V
Pyramide de tests d'un cycle en V

 

Méthodologies agiles : les tests d'un projet Scrum

A l'inverse des méthodologies séquentielles, les méthodologies agiles pensent un projet comme un ensemble de fonctionnalités qui seront affinées au fur et à mesure de la vie du projet. C'est pourquoi les tests ne vont que rarement tester l'intégralité d'un système mais plutôt les fonctionnalités en elles-mêmes et les parcours utilisateurs. Ils sont intégrés aux sprints. 

Cycle de vie d'un projet en Scrum
Cycle de vie d'un projet en Scrum. Source : testingfreak.com
 
 🤖 🕵️‍♀️ Tests fonctionnels

Les tests fonctionnels vont vérifier qu'une fonctionnalité, dans son ensemble, marche comme nous le souhaitons. Ils sont réalisés par l'ordinateur, car cela les rend plus rapides à exécuter, ou par un humain. Ils reprennent souvent un parcours utilisateur

Généralement, un test fonctionnel est associé à une User Story et teste son bon déroulement avant l'étape de vérification manuelle.

🕵️‍♀️🕵️ Tests d'acceptation

Un test d'acceptation est réalisé par un humain, généralement le client ou son représentant, et valide que la fonctionnalité développée correspond bien à celle qui était attendue.

Le client donne ses retours ou valide la fonctionnalité

Pyramide de tests d'un projet Scrum
Pyramide de tests d'un projet Scrum

Plusieurs formes de tests

Il existe bien d'autres formes de tests ! 

Plusieurs autres aspects d'un projet peuvent être testés :

  • la performance : rapidité de chargement, temps de réponse à une requête, ...

  • l'accessibilité : respect des normes du W3C, accessibilité aux personnes en situation de handicap, ...

  • la sécurité : certificat SSL, formulaires sécurisés, base de données cryptée, ...

Pour en savoir plus, je vous invite à consulter le site du Comité Français du Test Logiciel. Ce dernier organise chaque année la Journée Française du Test Logiciel. Retrouvez les compte-rendus sur leur site  !

Commençons par les tests unitaires dans notre projet !

 

Exemple de certificat de réussite
Exemple de certificat de réussite