GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
Types de tests vs techniques de tests
1. EXPOSE QVL _ Chapitre IIIEXPOSE QVL _ Chapitre III
Types de tests
vs
Techniques de tests
Présenté par :Présenté par :
Sabrine MASTOURA
Sabri BAHRNI
2. Types de tests vs Techniques de testsTypes de tests vs Techniques de tests
Plan du chapitrePlan du chapitre
IntroductionIntroduction
Techniques de testsTechniques de tests
Types de testsTypes de tests
ConclusionConclusion
QuestionsQuestions
1
3. Types de tests vs Techniques de testsTypes de tests vs Techniques de tests
Les tests sont le procédé de Vérification et de
Validation de la qualité logiciel.
= += +
2
IntroductionIntroduction
Qualité
Logicielle
Boite
Blanche
Boite
Noire
Qualité
Fonctionnelle
Qualité
Structurelle
4. Types de tests vs Techniques de testsTypes de tests vs Techniques de tests
Techniques de testsTechniques de tests
Test boite noire
Le test porte sur le fonctionnement externe du système
Evaluation des sorties en fonction de toutes les combinaisons des
entrées.
Evaluation du logiciel ou de l’un de ces composants
Le test ne prend en compte que les spécifications sans
connaissance de l’implémentation
La base de test ne sera pas impactée en cas d'une
nouvelle implémentation, tant que l'interface reste
identique, les tests restent valides.
3
5. Types de tests vs Techniques de testsTypes de tests vs Techniques de tests
Techniques de testsTechniques de tests
Test boite noire
Schéma Explicatif du test boite noire
4
6. Types de tests vs Techniques de testsTypes de tests vs Techniques de tests
Techniques de testsTechniques de tests
Test boite blanche
Vérifie le comportement interne du logiciel
Connaître en détail l’architecture ainsi l’implémentation
du programme
Le principal bénéfice est de pouvoir tester les différents
chemins logiques pris par le code. Cela permet
d'optimiser le taux de couverture des tests.
Pour des applications complexes, il peut-être difficile
d'écrire des tests qui vérifient tous les cas.
5
7. Types de tests vs Techniques de testsTypes de tests vs Techniques de tests
Techniques de testsTechniques de tests
Test boite blanche
Schéma Explicatif du test boite blanche
6
8. Types de tests vs Techniques de testsTypes de tests vs Techniques de tests
Techniques de testsTechniques de tests
boite noire ou boite blanche
Complémentaires pour détecter les différentes fautes.
Boîte noire
Détection d’oublis ou d’erreurs par rapport à la spécification
Boîte blanche
Détection d’erreurs de programmation.
7
9. Types de tests vs Techniques de testsTypes de tests vs Techniques de tests
Types de testsTypes de tests
Classification selon la caractéristiqueClassification selon la caractéristique
8
10. Types de tests vs Techniques de testsTypes de tests vs Techniques de tests
Types de testsTypes de tests
Test unitaire
TestTest des unités du logiciel de façon isolée,
indépendamment les unes des autres, sans appels aux
opérations d’une autre unité.
Appels aux différentes opérations ou méthodes avec
différents paramètres en entrée.
9
11. Types de tests vs Techniques de testsTypes de tests vs Techniques de tests
Types de testsTypes de tests
Test unitaire
TestTest via des Framework : veillez écrire les classes de
tests et c'est le Framework qui se chargera de les
trouver, de les lancer et de vous donner les résultats ou
les erreurs qui ont été détectée.
10
Junit
12. Types de tests vs Techniques de testsTypes de tests vs Techniques de tests
Types de testsTypes de tests
Test de composant
TestTest effectués sur les composants pour détecter les
problèmes de d’interaction entre les constituants,
classes, d’un même composant.
Les constituants sont déjà testés unitairement.
Test qui peut être confondu avec le test unitaire
11
13. Types de tests vs Techniques de testsTypes de tests vs Techniques de tests
Types de testsTypes de tests
Test d’intégration
Les composants,Les composants, testés unitairement, sont assemblés
par étape, les tests effectués ont pour objectif de
monter les problèmes d’interface, de communication
entre les composants.
LesLes erreurs détectées à une étape sont liées à
l’interface du composant qui vient d’être intégré.
12
14. Types de tests vs Techniques de testsTypes de tests vs Techniques de tests
Types de testsTypes de tests
Test d’intégration
Sortie2
Schéma Explicatif du test d’intégration
13
C1
C2
15. Types de tests vs Techniques de testsTypes de tests vs Techniques de tests
Types de testsTypes de tests
Test de validation
Effectué par une équipe autre que l’équipe deEffectué par une équipe autre que l’équipe de
développement .développement .
Il comporte:Il comporte:
Test de robustesse
Test de sécurité
Test de performance
14
16. Types de tests vs Techniques de testsTypes de tests vs Techniques de tests
Types de testsTypes de tests
Test de validation
Le but est de s’assurer que le système supporte les
utilisations imprévues
entrées hors domaine
utilisation incorrecte de l'interface, etc.
15
Test de robustesse
17. Types de tests vs Techniques de testsTypes de tests vs Techniques de tests
Types de testsTypes de tests
Test de validation
Le but est de s’assurer que le système ne possède pas
de vulnérabilités permettant une attaque de l'extérieur
Des attaques sont simulées pour découvrir les
faiblesses du système.
16
Test de sécurité
18. Types de tests vs Techniques de testsTypes de tests vs Techniques de tests
Types de testsTypes de tests
Test de validation
Le but est de s’assurer que le système garde des temps
de réponse satisfaisants à différents niveaux de charge.
Différents niveaux de charge d'utilisation sont simulés
pour mesurer les temps de réponse du système.
17
Test de
performance
19. Types de tests vs Techniques de testsTypes de tests vs Techniques de tests
Types de testsTypes de tests
Test de recette
Il comporte :Il comporte :
Test alpha
Test d’acceptation
Test beta
18
20. Types de tests vs Techniques de testsTypes de tests vs Techniques de tests
Types de testsTypes de tests
Test de recette
Une version du logiciel, version alpha, est mise à la
disposition des utilisateurs qui participent aux tests sur
le site de développement.
19
Test alpha
21. Types de tests vs Techniques de testsTypes de tests vs Techniques de tests
Types de testsTypes de tests
Test de recette
Le client teste le système et décide de l’accepter ou
non.
Test effectué sur le site du client avec des données
réelles, sur l’environnement réel de travail.
Il est difficile à construire par les développeurs pour pouvoir faire
ces tests.
Il a une influence sur la fiabilité, les performances et la robustesse
du système
20
Test
d’acceptation
22. Types de tests vs Techniques de testsTypes de tests vs Techniques de tests
Types de testsTypes de tests
Test de recette
Une version du logiciel, version béta, est mise à la
disposition des utilisateurs pour l’expérimenter et
communiquer les problèmes aux développeurs.
21
Test beta
23. Types de tests vs Techniques de testsTypes de tests vs Techniques de tests
Types de testsTypes de tests
Test de non régression
L’objectif est de s’assurer que les modifications du
code, pour correction ou évolution, n’ont pas introduit
de nouveaux défauts.
Test lourd mais automatisable en grande partie.
A chaque ajout ou modification d’une fonctionnalité :
rajouter les tests pour
cette fonctionnalité
Les fonctionnalités qui en dépendent
22
24. Types de tests vs Techniques de testsTypes de tests vs Techniques de tests
ConclusionConclusion
Tests vs Techniques
Schéma Explicatif des types en fonction des techniques de tests
23
25. Types de tests vs Techniques de testsTypes de tests vs Techniques de tests
Merci pour votre attention
24
26. Types de tests vs Techniques de testsTypes de tests vs Techniques de tests
QuestionsQuestions
Quel est l’avis des experts vis-à-vis la technique deQuel est l’avis des experts vis-à-vis la technique de
boite grise?boite grise?
Quel sont les différences entre les différents sous typesQuel sont les différences entre les différents sous types
du test de recette?du test de recette?
25
27. Types de tests vs Techniques de testsTypes de tests vs Techniques de tests
RéponsesRéponses
Parfois on a recours a mixer le test boite blanche etParfois on a recours a mixer le test boite blanche et
noir mais il est recommandé par les experts de l’éviternoir mais il est recommandé par les experts de l’éviter
parce que il n’est pas clairement définis.parce que il n’est pas clairement définis.
Les différents sous types du test de recette différentsLes différents sous types du test de recette différents
par:par:
Celui qui fait le test
Le milieu du test
26
28. Types de tests vs Techniques de testsTypes de tests vs Techniques de tests
Merci pour vos réponses
24
Editor's Notes
Sabri
structurelle : rapidite, pas de boucle, minimiser les variables….
c à dire le programme fonctionne correctement syntaxiquement
correcte en terme de développement
fctlle: conformite des exigences
Sabri
Un test boîte noire ne prend en compte que les spécifications (parfois aussi appelées les exigences) de l'application. Le testeur ne pourra alors garantir que tous les cas aient été testés mais la base de test ne sera pas impactée en cas d'une nouvelle implémentation. Tant que l'interface reste identique, les tests restent valides.
Sabri
Sabrine
Un test boîte blanche nécessite de connaître en détail la structure du programme. Le principal bénéfice est de pouvoir tester les différents chemins logiques pris par le code. Cela permet d'optimiser le taux de couverture des tests. L'inconvénient est qu'il est plus difficile de maintenir ce type de test car il est probable qu'une partie des tests ne survivra pas à un refactoring. De plus, pour des applications complexes, il peut-être relativement difficile d'écrire des tests qui vérifient tous les cas.
Pour le test d'un module donné, un testeur boîte blanche devra analyser l'ensemble du code et tester les différents cas particuliers.
Sabrine Forme Sequentielle
Les chemins de contrôle Forme alternative
La forme algebrique du graph Forme itérative
Le nb de chemin
Sabrine
Un testeur boîte noire, ne testera lui que ce qui a été défini par les spécifications. Si des cas particuliers ou des limitations existent du fait de l'implémentation, il est probable qu'ils ne seront pas testés. Il est donc important de rester pragmatique et d'essayer de comprendre le fonctionnement du module même si on choisi de ne pas entrer dans les détails de l'implémentation. De plus, il est important de garder à jour des spécifications (fonctionnelles et techniques) exactes et complètes afin que d'éventuelles spécificités soient connues.
Les 2 approches ont leurs avantages et leur inconvénients et pourront être mixées selon les cas (on parle alors parfois de tests en boîte grise mais ce terme n'est malheureusement pas clairement défini). Il est toutefois recommandé d'identifier et/ou de séparer les tests boîtes blanches des tests boîtes noires. Il sera plus facile de maintenir le tout et de connaître les tests à reprendre suite à une modification du code. De même, un testeur devra toujours avoir en tête quelle stratégie a été choisie pour telle partie du programme. Cela doit être clairement défini dans le plan de test.
Quelle que soit l'approche choisie, une communication ouverte et fréquente entre l'équipe de développement et l'équipe de test reste une condition de succès.
Sabri
Apre la definition des techniques de tesste on sinteresse au type de teste selon la caracteristique, donc on aura recoure au testes unitaire,,,,
Sabri
Test des unite ……………….. , et chaque operation sera tester avec des differents parametres en entre
Sabri
En java le fameu freamwork c’est le junit permet de faire des tests unitaire
Il prend a classe a tester et trouvera les differents param, les lancera et donne les erreur detectés
Sabrine
Sabrine
Sabrine
Le teste d’integration fait par l’integrateur
Sabri
Sabri
Sabri
Sabri
creation de plusieurs users sur appache et tester quand il est planté
Sabrine
Sabrine
user au milieu du developpement
Sabrine
developpeur au milieu du client
Sabrine
client dans son milieu
⇒ position dun bouton , sa taille