Вы находитесь на странице: 1из 37

Travail de l'unité 13

Par Jawaj Duha


Méthodologies d'essai
Les méthodologies de test en génie logiciel sont des stratégies, des approches ou des méthodes de
test utilisées pour tester un produit spécifique afin d'en garantir l'utilisabilité. Il s'assure que le
produit fonctionne conformément aux spécifications données et qu'il n'a pas d'effets secondaires
lorsqu'il est utilisé en dehors des paramètres de conception.

Pourquoi les méthodologies de test de logiciels sont-elles importantes ?

• Il gère les exigences du projet, les cas de test, les bogues et les problèmes dans un
environnement intégré unique tout au long du cycle de vie des tests.
• Il s'agit d'une solution de test complète qui comprend la gestion des exigences, la conception
des cas de test, la gestion des versions, le suivi des défauts, etc.
• Il s'agit d'une approche de test très intuitive qui fournit une image complète du produit logiciel
et de son état de santé.

Méthodologies de tests fonctionnels et non


fonctionnels
Les tests fonctionnels consistent à tester l'application en fonction des exigences de l'entreprise et
comprennent plusieurs types de tests destinés à garantir que chaque partie du logiciel se
comporte de la même manière que celle attendue par les utilisateurs.

Les méthodes de tests non fonctionnels intègrent différents types de tests axés sur les aspects
opérationnels d'un logiciel. Il s'agit de la clé de la mise à disposition de logiciels de haute qualité
qui peuvent être facilement adoptés par les utilisateurs finaux en construisant un cadre de test
robuste qui met en œuvre des méthodologies de test fonctionnelles et non fonctionnelles.

Tests unitaires
• Il s'agit du premier niveau de test qui est généralement effectué par les développeurs dans
un environnement piloté par les tests. Ils écrivent et exécutent des cas de test avant que le
logiciel ne soit transmis à l'équipe de test.
• Les tests unitaires sont une méthodologie de test des logiciels qui permet de s'assurer que
les différents composants d'un logiciel fonctionnent parfaitement pour l'usage pour lequel ils
ont été conçus.
• Les tests unitaires facilitent le débogage car les bogues sont détectés beaucoup plus tôt et
sont faciles à corriger par l'équipe chargée des tests.

Tests unitaires - Avantages


• Réduire les défauts dans les nouvelles fonctionnalités développées ou réduire les bogues
lors de la modification de la fonctionnalité existante.
• Réduit le coût des tests car les défauts sont détectés à un stade très précoce.
• Améliore la conception et permet une meilleure refonte du code
• Les tests unitaires, lorsqu'ils sont intégrés à la construction, donnent également la qualité de
la construction.
Inconvénients/limites de l'unité
• L'eTestingne peut pas détecter tous les bogues d'une application.
• Il est impossible d'évaluer chaque chemin d'exécution dans chaque application logicielle
Le nombre de scénarios et de données de test que le développeur peut utiliser pour vérifier
le code source est limité.
Test unitaire Life Cyc
Techniques de tests unitaires :

1. Test de la boîte noire - L'interface utilisateur, les entrées et les sorties sont testées.
2. Test de la boîte blanche - utilisé pour tester chacune des fonctions dont le comportement est
testé.
3. Test de la boîte grise - Utilisé pour
exécuter les tests, les risques et les
méthodes d'évaluation.

Tests d'acceptation
• Le test d'acceptation est la dernière phase
du test fonctionnel qui permet d'évaluer le
logiciel final en vue de sa livraison.
• Il s'assure que le produit est conforme aux
critères de l'entreprise et qu'il répond
parfaitement aux besoins de l'utilisateur final.
• Il effectue des tests en interne et en externe. Cela signifie que le produit est mis entre les
mains des utilisateurs pour les tests bêta et qu'il est également testé par l'équipe chargée de
la qualité.
• Les tests bêta sont essentiels pour recueillir les réactions potentielles des utilisateurs et y
remédier avant la livraison du produit final.
Tests d'acceptation dans le
cadre
Le diagrammedu cycle
suivant de
explique les
développement logiciel.
tests d'acceptation dans le cycle de vie du

développement durable Les cas de test d'acceptation sont exécutés par


rapport aux données de test ou à l'aide d'un script
de test d'acceptation, puis les résultats sont
comparés à ceux attendus.
Tests d'acceptation - Critères
Les critères d'acceptation sont définis sur la base des attributs suivants :

• Correction et complétude fonctionnelles


• Intégrité des données
• Conversion des données
• Facilité d'utilisation
• Performance
• Rapidité d'exécution
• Confidentialité et disponibilité
• Installabilité et évolutivité
• Évolutivité
• Documentation
Plan de test d'acceptation - Attributs
Les activités de test d'acceptation sont réalisées en plusieurs phases. Tout d'abord, les tests de
base sont exécutés, les résultats sont satisfaisants, puis des scénarios plus complexes sont
exécutés.

Le plan de test d'acceptation présente les caractéristiques suivantes :

• Introduction
• Catégorie de test d'acceptation
• Environnement opérationnel
• ID du cas de test
• Titre du test
• Objectif du test
Rapport de test d'acceptation - Attributs
Le rapport de test d'acceptation a les attributs suivants :

• Identifiant du rapport
• Synthèse des résultats
• Variations
• Recommandations
• Résumé de la liste des tâches
• Décision d'approbation

Qui effectue les tests d'acceptation ?


• Le test d'acceptation interne (également appelé test alpha) est effectué par des membres de
l'organisation qui développent le logiciel, mais qui ne sont pas directement impliqués dans le
projet. Il s'agit généralement de membres de la gestion des produits, des ventes ou de
l'assistance à la clientèle.
• Test d'acceptation externe - effectué par des personnes qui ne sont pas des employés de
l'organisation qui a développé le logiciel.
• Le test d'acceptation par le client est effectué par les clients de l'organisation qui a développé
le logiciel. Ce sont eux qui ont demandé à l'organisation de développer le logiciel.
• Test d'acceptation par l'utilisateur - (également connu sous le nom de test bêta) est effectué
par les utilisateurs finaux du logiciel.

Avantages des tests d'acceptation :


• Valide que les exigences de l'entreprise sont satisfaites sur la base des récits de l'utilisateur
dans le champ d'application.
• Réduit le risque d'identification des défauts en production
• Les utilisateurs finaux acquerront des compétences et de l'assurance en utilisant le nouveau
système avant la mise en service.
Inconvénients/limites de l'acceptation
-Vouspourriez
ne pas tester toutes les fonctions ou caractéristiques
• La progression des tests est difficile à mesurer
• Les utilisateurs peuvent confirmer le fonctionnement du système et ne pas voir ou signaler
les défauts.
• Les utilisateurs peuvent se concentrer sur la comparaison du nouveau système avec un
système existant, plutôt que sur la recherche de défauts.
Tests fonctionnels
Le test fonctionnel est une technique de test utilisée pour tester les caractéristiques/fonctionnalités
du système ou du logiciel. Il doit couvrir tous les scénarios, y compris les chemins de défaillance
et les cas limites.

Techniques de test fonctionnel :

Il existe deux grandes techniques de test fonctionnel, comme indiqué ci-dessous :

Les autres principales techniques de test fonctionnel


sont les suivantes :
• Tests unitaires
• Tests d'intégration
• Test de fumée
• Test d'acceptation par l'utilisateur
• Test de localisation
• Test d'interface
• Tests d'utilisabilité
• Test du système
• Test de régression
• Test de mondialisation

Avantages des tests fonctionnels :


• Il permet d'obtenir un produit/logiciel sans défaut
• Il garantit la satisfaction du client/de l'utilisateur final.
• Il veille à ce que toutes les exigences soient satisfaites
• Il garantit le bon fonctionnement de toutes les fonctionnalités d'une application, d'un logiciel
ou d'un produit.
Inconvénients/limites de l'approche
-eFonctionnel
fonctionnelle
le test est un processus dans lequel les différentes erreurs logiques du logiciel ne sont pas
détectées au cours du processus de test
• Il ne se préoccupe pas de la manière dont le développeur met en œuvre le code source
réel, car il se contente de
se concentre sur les résultats du code source.
Test du système
• Le test du système est la méthode de test de la boîte noire utilisée pour évaluer le système
intégré dans son ensemble et s'assurer qu'il répond à toutes les exigences spécifiques.
• Dans le cas des tests de systèmes, la fonctionnalité du produit est testée de bout en bout et
est généralement effectuée par l'équipe de test, et non par l'équipe de développement.
• Le test du système est effectué avant la mise en production du produit logiciel.
Types de tests de systèmes :
Avantages des tests de systèmes :
• Vérifie le système par rapport aux exigences commerciales, fonctionnelles et techniques des
utilisateurs finaux.
• Il permet d'éliminer un maximum de bogues avant les tests d'acceptation.
• Les tests de système augmentent le niveau de confiance de l'équipe dans le produit avant
que celui-ci ne soit soumis à des tests d'acceptation.
Inconvénients/limites du système
-eSeulelimite
La couverture de l'application est réduite car le testeur ne peut pas cibler un
segment de code spécifique.
• Les cas de test sont difficiles à concevoir car le testeur n'a pas de connaissances préalables
en matière de
les spécifications et la codification.
• Certaines entrées possibles ne seront que testées.
Tests de performance
Le test de performance, une technique de test non fonctionnelle, permet de déterminer les
paramètres du système en termes de stabilité sous différentes charges de travail. Les tests de
performance mesurent les attributs de qualité du système, tels que la fiabilité et l'utilisation des
ressources.
Techniques de test de performance :
• Test de charge - il s'agit de la forme de test la plus simple, qui permet de comprendre le
comportement du système sous une charge spécifique. Les tests de charge permettent de
mesurer les transactions critiques et la charge sur la base de données, l'application, le
serveur, etc.
• Test de stress - il est effectué pour trouver la capacité limite supérieure du système et
également pour déterminer comment le système se comporte si la charge actuelle dépasse
largement le maximum prévu.
• Essai d'imprégnation - l'essai d'imprégnation, également connu sous le nom d'essai
d'endurance, est effectué pour déterminer les paramètres du système sous une charge
continue attendue. Au cours de ce test, les paramètres tels que l'utilisation de la mémoire
sont contrôlés afin de détecter les fuites de mémoire ou d'autres problèmes de performance.
• Test de pic - Le test de pic est effectué en augmentant soudainement le nombre
d'utilisateurs d'un très grand nombre et en mesurant la performance du système.
Processus de test de performance :
Tests de sécurité
Le test de sécurité est une technique de test permettant de déterminer si un système d'information
protège les données et maintient la fonctionnalité comme prévu. Il vise également à vérifier 6
principes de base énumérés ci-dessous :

• Confidentialité
• Intégrité
• Authentification
• Autorisation
• Disponibilité
• Non-répudiation
Tests de sécurité - Techniques :
• Injection
• Authentification et gestion de session défaillantes
• Scripts intersites (XSS)
• Références directes non sécurisées
• Mauvaise configuration de la sécurité
• Exposition aux données sensibles
• Contrôle d'accès au niveau de la fonction manquante
• Falsification des requêtes intersites (CSRF)
• Utilisation de composants dont les vulnérabilités sont connues
• Redirections et renvois non validés

Test de régression
Le test de régression est une technique de test en boîte noire qui consiste à
réexécuter les tests affectés par les modifications du code. Ces tests doivent être
exécutés aussi souvent que possible tout au long du cycle de développement du
logiciel.

Types de tests de régression :

• Nécessite des connaissances sur le système et sur la manière dont il est affecté par les
fonctionnalités existantes.
• Les tests sont sélectionnés en fonction de la zone de défauts fréquents.
• Les tests sont sélectionnés de manière à inclure la zone, qui a fait l'objet de nombreux
changements de code
• Les tests sont sélectionnés en fonction de l'aspect critique des caractéristiques.

Étapes du test de régression :


Les tests de régression sont les cas idéaux d'automatisation, ce qui se traduit par un meilleur
retour sur investissement(ROI).

• Sélectionner les tests de régression


• Choisir l'outil adéquat et automatiser les tests de régression
• Vérifier les applications avec les points de contrôle
• Gérer les tests de régression/mettre à jour le cas échéant
• Programmer les tests
• Intégrer les constructions
• Analyser les résultats

Méthodologie de la cascade
Dans le modèle en cascade, le développement d'un logiciel passe par différentes phases, telles
que l'analyse des besoins, la conception, etc.

Dans ce modèle, la phase suivante ne commence que lorsque la phase précédente est achevée.
Quelle est l'approche de test pour
l La première phase du mode "cascade s'agit de la phase de définition des exigences, au cours de
laquelle toutes les exigences du projet sont entièrement
définies avant de commencer les tests. Au cours de cette phase, l'équipe de test réfléchit à
l'étendue des tests, à la stratégie de test et rédige un plan de test détaillé.

Ce n'est qu'une fois la conception du logiciel terminée que l'équipe passera à l'exécution des cas
de test pour s'assurer que le logiciel développé se comporte comme prévu.

Dans cette méthodologie, le test ne passe à la phase suivante que lorsque les phases
précédentes sont terminées.
Avantages et inconvénients de la cascade
Avantages :?
Ce modèle d'ingénierie logicielle est très simple à planifier et à gérer. Par conséquent, les projets
dont les exigences sont clairement définies et énoncées à l'avance peuvent être facilement testés
à l'aide d'un modèle en cascade.

Inconvénients :

Dans le modèle en cascade, la phase suivante ne peut commencer qu'une fois la phase
précédente achevée. Ce modèle ne peut donc pas prendre en compte les événements non
planifiés.

Méthodologie agile
Dans la méthodologie agile, les logiciels sont développés en cycles rapides. Les interactions entre
les clients, les développeurs et les consommateurs sont privilégiées par rapport aux processus et
aux outils. La méthodologie agile met l'accent sur la réaction au changement plutôt que sur une
planification approfondie.

Quelle est l'approche de test pour la méthodologie Agile ?

Les tests incrémentaux sont utilisés dans les méthodes de développement agiles et, par
conséquent, chaque version du projet est testée de manière approfondie. Cela permet de s'assurer
que les éventuels bogues du système sont corrigés avant la prochaine version.

Avantages et inconvénients de la méthode


Agile
Méthodologie?
Avantages :
Il est possible de modifier le projet à tout moment pour se conformer aux exigences. Ces tests
progressifs minimisent les risques.
Inconvénients :
L'interaction constante avec le client signifie une pression accrue sur le temps pour toutes les
parties prenantes, y compris le client lui-même, les équipes de développement et de test des
logiciels.

Quelle méthodologie logicielle choisir ?


Il existe une multitude de méthodes de test conçues dans un but spécifique, avec leurs propres
avantages et inconvénients. La sélection d'une méthodologie logicielle dépend de multiples
facteurs tels que la nature du projet, les exigences du client, le calendrier du projet, etc. Dans
certains cas, les tests et le développement vont de pair, tandis que d'autres incluent les tests
dans les phases ultérieures, lorsque la construction est prête.
Mise en place de méthodologies de test ?
Les méthodologies de test ne sont pas utilisées uniquement pour tester le code, mais également à
d'autres fins.

• Planification : La programmation est essentielle pour mettre en œuvre avec succès la


méthodologie de test, qui doit répondre aux besoins de chaque membre de l'équipe.
• Approche des tests : Une fois que vous avez établi le calendrier et que les éléments livrables
du projet sont bien définis, l'étape suivante consiste à formuler la bonne approche en matière
de tests.
• Rapport : Cette étape déterminera l'efficacité de l'approche de test et les changements
nécessaires pour mettre en place avec succès la méthodologie de test.

Вам также может понравиться