Les méthodes de tests Les grands principes pour réaliser des tests efficaces
Sommaire Qu’est ce qu’un test Les phases des tests dans un projet Les familles de tests La méthode : – de la boite noire, – de la boite blanche, – de test fonctionnel, – de test à la limite, – de test en charge et de performance, – de test d’utilisabilité, – de test de non régression. Les résultats et leurs interprétations Comment déclarer une anomalie Outils de test : Selenium Conclusion
Qu’est ce qu’un test Un test sert : – A vérifier le bon fonctionnement, – Vérifier la concordance avec la demande du client, – Vérifier que l’utilisateur du logiciel comprendra facilement la réalisation
Les phases des tests dans un projet Les tests font parties de toutes les phases d’un projet. – Les grandes phases de tests Les tests de développement Les tests de recette de développement Les tests de recette MOA Les tests des utilisateurs finaux
Les familles de tests Il existe trois grandes familles de tests – Les tests unitaires : qui permet de tester le code au niveau du développement, – Les tests fonctionnels : qui permettent de voir si le logiciel correspond au CFDs ou au SFD ou au cahier des charges suivant qu’elles sont les personnes qui les réalisent, – Les tests utilisateurs : qui permettent de voir si les utilisateurs utilisent correctement et les éventuels code en erreurs
La méthode Il existe un nombre important de méthode de tests, nous allons voir les suivantes : – de la boite noire, – de la boite blanche, – de test fonctionnel, – de test à la limite, – de test en charge et de performance, – de test d’utilisabilité, – de test de non régression.
La méthode : de la boite noire Cette méthode consiste à réaliser des tests en connaissant l’entrée et la sortie mais en ne contrôlant pas les processus entre les deux étapes – Le point positif : Permet de valider le fonctionnement global
La méthode : de la boite blanche La méthode de la boite consiste à tester les grandes étapes contenues dans la boite de façon détaillé sans en avoir à faire de l’entrée est de la sortie, le but et de valider le fonctionnement interne de la partie. – Point positif : Test les actions qui composent la partie de test fonctionnel
La méthode : des tests fonctionnels Cette méthode utilise les cahier fonctionnel – Elle regarde si chaque fonctionnalité du cahier est correcte à ça description. Pour ce faire on utilise le plus souvent les CFDs qui permettent de définir précisément ce que font chaque – Points positifs : Permet de valider le cahier des charges et/ou les demandes
La méthode : du test à la limite Cette méthode est de tester les fonctionnalités à leurs limites – Exemple test de périodes : Test de période de 1 jour, Test de période classique, Test de période infini. – Ce type de test permet de valider si le développeur à tenu compte des limites imposées et si le logiciel les tolères. – Point positif Permet de vérifier les situations critiques
La méthode : du test en charge et de performance Cette méthode permet de tester si on répond aux nombres de connections simultanées de personnes, et que les performances restent correctes. – Ce type de test permet de valider si les serveurs, les développeurs et les différents fonctionnels ont tenu compte des limites physiques des systèmes. – Exemple de test : Faire simultanément une connexion à un logiciel avec 50 connections différentes Faire simultanément une 50 modifications et vérifier que l’accès concurrent à la ressource modifiée fonctionne correctement. – Point positif : valide les conceptions et les réalisations en terme de performance, valide les choix techniques opérés par les architectes lors de la première phase de test, valide la bonne réactivité des applications créées par rapport à l’existant.
La méthode : du test d’utilisabilité Cette méthode permet de vérifier que les utilisateurs comprennent comment ce servir ces modifications demandées. – Exemple : Windows 7 : test de la RC1 auprès d’utilisateur et amélioration suivant leur retour. – Point positif : Permet de voir si ce qui a été conçu n’est pas une usine à gaz. Permet de voir que l’utilisateur final à un produit qui fait de manière simple (pour lui) ce qu’il a demandé.
La méthode : du test de non régression Cette méthode permet de vérifier que les modifications d’un applicatif existant non pas impactées ces autres fonctionnalités. – Exemple : Modification d’un éditeur de texte en lui permettant d’enregistrer sous un nouveau format => vérifier que l’édition et les autre enregistrement fonctionne bien. – Point positif : Permet de garantir que l’existant à été préservé, Permet de aux utilisateurs de conserver leurs marques et aux mécanismes existant de toujours fonctionner.
Les résultats et leurs interprétations Les problèmes détectés lors des tests suivant : de la boite noire, de la boite blanche, de test fonctionnel, de test à la limite. => Sont directement imputable aux développeurs !! Les problèmes levés lors des tests suivant : de test en charge et de performance, de test d’utilisabilité. => Sont souvent du à une mauvaise analyse (des fonctionnels et des concepteurs mais aussi de la part des développeurs ! ) Les problèmes mise en évidence lors de ce tests suivant : de test de non régression. => Sont dû principalement à une mauvaise vérification des développeurs !
Comment déclarer une anomalie Une anomalie doit être claire – Une description brève permettant de voir directement le problème en titre, – Une description complète permettant de pourvoir reproduire l’anomalie à chaque fois, – Une priorité de l’anomalie (Urgente, différable, normale, …) – Un état de l’anomalie (Bloquante, Urgente, Mineure)
16 Outils de test : Selenium Initié par ThoughtWorks Licence Apache 3 parties – Selenium Core : ancienne version de selenium, utilisant une faille de sécurté pour effectuer les tests – Selenium RC : permet l’automatisation des tests à grande échelle – Selenium IDE : pluging firefox, permet de créer des tests et de les jouer facilement.
Outils de test : Selenium Selenium IDE – Plugin Firefox – Enregistrement interactif – Exécution dans Firefox – Plus de XSS : on utilise plus une faille de sécurité (utilisation de celle-ci dans selenium Core) – Debugger – Export des tests – Video : +IDE.swf?version=1
Conclusion – Les développeurs doivent être responsable et tester leur travail. Il est facile de savoir si c’est des fautes fonctionnels ou dû aux développeurs, – Donc Tester c’est une obligation lorsque l’on développe – Testeur c’est aussi un métier !! Vérifier l’ensemble des spécifications et tester les non régression prend du temps sur des applicatifs complexes ! Testeur c’est aussi beaucoup de relationnel et d’explication pour ne froisser personne.