Lernzettel: Techniques de modélisation et de test logiciel

📋 Plan du Cours

  1. Symboles et valeurs dans les tables de décision
  2. Construction et utilisation des tables de décision pour la conception de cas de test
  3. Critères de couverture et réduction des tables de décision
  4. Exemple d’application des tables de décision pour la validation d’un système de permis de conduire
  5. Diagrammes de transitions d’états : composants, objectifs et comportement dynamique
  6. Tableaux de transition d’état et couverture des transitions valides et invalides
  7. Exemples et stratégies de couverture des transitions dans les tests d’états
  8. Définition et rôle des cas d’utilisation dans la modélisation des exigences
  9. Structure interne des cas d’utilisation : préconditions, post-conditions et scénarios
  10. Représentation graphique et limitations des diagrammes de cas d’utilisation UML
  11. Dérivation des cas de test à partir des cas d’utilisation et intégration avec d’autres techniques de test boîte noire

📖 1. Symboles et valeurs dans les tables de décision

🔑 Notions clés & Définitions

  • Valeurs limites : Valeurs minimale et maximale, ou première et dernière valeurs, d’une partition d’équivalence; dans l’analyse des valeurs limites, ce sont les valeurs choisies pour tester les bords d’un domaine.

📝 Points essentiels

  • La valeur F signifie que la condition est fausse et peut aussi être affichée comme N (Non) ou équivalent.
  • La valeur — signifie que la valeur de la condition n'a pas d'importance et peut être affichée comme N ou autre.

💡 À retenir

L’analyse des valeurs limites consiste à choisir les bornes d’une partition d’équivalence, à condition que la partition soit ordonnée et compacte. Elle existe en variantes à 2 valeurs et à 3 valeurs, avec des cas de test centrés sur les limites et leurs voisinages.

📖 2. Construction et utilisation des tables de décision pour la conception de cas de test

🔑 Notions clés & Définitions

  • Table de décision complète : Table de décision qui comporte suffisamment de colonnes pour couvrir toutes les combinaisons possibles de conditions.
  • Combinaison de conditions : Association unique de valeurs de conditions qui forme une colonne distincte dans la table de décision et détermine les actions associées.
  • Tables de décision : Technique de test qui identifie les conditions d’un système et les actions résultantes, puis organise les règles de décision en colonnes correspondant à des combinaisons uniques de conditions.

📝 Points essentiels

  • Lors de la construction d’une table de décision, il faut d’abord identifier toutes les conditions possibles.
  • Il faut ensuite générer toutes les combinaisons possibles de conditions; chaque combinaison unique devient une colonne distincte.
  • Une table complète couvre toutes les combinaisons de conditions, mais elle peut être réduite en supprimant les combinaisons impossibles, irréalisables ou sans effet sur le résultat.

💡 À retenir

Lors de la construction d’une table de décision, il faut d’abord identifier toutes les conditions possibles.

📖 3. Critères de couverture et réduction des tables de décision

🔑 Notions clés & Définitions

  • Règle de décision : Élément d'une table de décision qui correspond à une combinaison spécifique de conditions d'entrée déterminant une action ou un résultat à exécuter.
  • **COUVERTURE
  • La couverture** : Mesure exprimée en pourcentage qui correspond au rapport entre le nombre de règles de décision testées par au moins un cas de test et le nombre total de règles de décision dans la table.
  • Tables de décision : Technique de test combinatoire qui organise les règles métier complexes en associant des combinaisons de conditions à des actions ou résultats attendus.

📝 Points essentiels

  • La couverture minimale pour les tests de tables de décision est d'avoir au moins un cas de test par règle de décision dans la table.
  • La réduction des tables de décision consiste à supprimer les colonnes avec des combinaisons impossibles, irréalisables ou non impactantes sur le résultat.
  • La couverture est mesurée par le ratio du nombre de règles de décision testées sur le nombre total de règles, exprimé en pourcentage.
  • • La couverture est mesurée comme le nombre de résultats de décision exécutés par les tests, divisé par le nombre total de résultats de décision dans l'objet de test, généralement exprimé en pourcentage 88 APPORT DES TESTS DE DÉCISIONS • Lorsque la couverture à 100 % des décisions est atteinte, tous les résultats des décisions sont exécutés, ce qui comprend le test du résultat vrai et aussi du résultat faux, même lorsqu'il n'y a pas d'instruction FALSE explicite.
  • LIMITES 2 valeurs et 3 valeurs Dans une version à 3 valeurs, pour chaque classe d'équivalence identifiée, les valeurs de test sont:
    • Les valeurs limites de cette classe (c'est-à-dire les éléments minimal et maximal)
    • Les éléments juste en dessous et juste au dessus du minimal
    • Les éléments juste en dessous et juste au dessus du maximum 30 COUVERTURE
    • La couverture des limites d'une partition est mesurée comme le nombre de valeurs limites testées, divisé par le nombre total de valeurs limites identifiées, généralement exprimé en pourcentage.

💡 À retenir

Optimiser la couverture des tests en réduisant les tables de décision permet de cibler efficacement les combinaisons pertinentes sans perte de qualité.

📖 4. Exemple d’application des tables de décision pour la validation d’un système de permis de conduire

🔑 Notions clés & Définitions

  • Possibles : Ensemble des actions que le système peut effectuer en fonction des résultats des examens, incluant délivrer le permis, faire repasser l’examen théorique, faire repasser l’examen pratique, ou faire reprendre les cours de conduite.
  • Permis de conduire : V V F F Erreurs <

📝 Points essentiels

  • Le système vérifie si le candidat a au moins 85 points à l’examen théorique et au plus 2 erreurs à l’examen pratique pour délivrer le permis.
  • Quatre combinaisons de conditions sont générées pour couvrir tous les cas possibles dans la table de décision du système de permis.
  • (valeurs possibles : OUI ou NON)
  • Un candidat doit-il reprendre les cours de conduite ?
  • Les options possibles sont: enfant, jeune, adulte.

💡 À retenir

Quatre combinaisons de conditions sont générées pour couvrir tous les cas possibles dans la table de décision du système de permis.

📖 5. Diagrammes de transitions d’états : composants, objectifs et comportement dynamique

🔑 Notions clés & Définitions

  • État : Abstraction d’un moment de la vie d’une entité pendant lequel elle satisfait un ensemble de conditions, représentant une condition possible dans laquelle le système peut se trouver.
  • Transitions : Changements d’état qui font passer une entité d’un état à un autre, déclenchés par un événement externe.
  • Exemple : Cas d’application où le comportement du système dépend d’une valeur d’entrée, comme une valeur paire ou impaire, ou de l’option sélectionnée.

📝 Points essentiels

  • Un diagramme de transitions d’état décrit le comportement dynamique d’une entité par ses états et les transitions entre eux.
  • Une transition est un changement d’état déclenché par un événement externe.
  • Une condition de garde est une condition supplémentaire qui doit être satisfaite pour qu’une transition soit déclenchée.
  • Une action peut être exécutée lors d’une transition d’état, par exemple afficher un message ou calculer un résultat.
  • 53 DIAGRAMME D’ÉTAT-TRANSITIONS ( 3) 54 Les états, les transitions et les événements sont les composants typiques d'un diagramme d'état.

💡 À retenir

Les diagrammes de transitions d’états modélisent précisément le comportement dynamique et les réactions du système aux événements externes.

📖 6. Tableaux de transition d’état et couverture des transitions valides et invalides

🔑 Notions clés & Définitions

  • Transition valide : Transition qui doit être acceptée et qui figure dans les transitions couvertes par le tableau; les diagrammes de transition d’états la montrent normalement, en excluant les transitions invalides.
  • Transitions valides et les transitions : Ensemble des transitions valides et des transitions potentiellement invalides entre les états, avec les événements, les conditions de garde et les actions associées aux transitions valides.

📝 Points essentiels

  • Les actions et les conditions de garde sont facultatives dans un tableau de transition d’état.
  • Les diagrammes de transition d’états ne montrent normalement que les transitions valides et excluent les transitions invalides.

💡 À retenir

Les actions et les conditions de garde sont facultatives dans un tableau de transition d’état.

📖 7. Exemples et stratégies de couverture des transitions dans les tests d’états

🔑 Notions clés & Définitions

  • Exemple : Illustration d'une couverture de transition utilisant un automate avec les états A, B, C et D, où différentes séquences d'états démontrent les concepts de 0-switch, 1-switch et 2-switch.
  • Définition : Séquence d'états dans laquelle il y a exactement n états intermédiaires entre le premier et le dernier état, en excluant ces deux derniers de la séquence.
  • La séquence A → D est une 2-switch : Séquence d'états comportant exactement deux états intermédiaires entre A et D, à savoir B et C.
  • Couverture 0-switch : Type de couverture de transition correspondant à une séquence d'un état à un autre sans état intermédiaire, c'est-à-dire une transition directe entre deux états.

📝 Points essentiels

  • La couverture 0-switch consiste à tester les transitions directes entre deux états sans état intermédiaire.
  • La couverture 1-switch implique de tester les transitions passant par un seul état intermédiaire.
  • La couverture des transitions invalides consiste à concevoir des tests qui invoquent des séquences d’états non valides pour vérifier la robustesse du système.
  • D) 0-switch Transition directe sans état entre A → B 1-switch Un seul état intermédiaire A → C (passe par
  • B) 2-switch Deux états intermédiaires A → D (passe par B et

💡 À retenir

Différencier et appliquer diverses stratégies de couverture des transitions, telles que les 0-switch, 1-switch et n-switch, permet de garantir la robustesse et la fiabilité du système testé.

📖 8. Définition et rôle des cas d’utilisation dans la modélisation des exigences

🔑 Notions clés & Définitions

  • Cas d’utilisation : Ensemble de séquences d’actions réalisées par le système qui produisent un résultat observable intéressant pour un acteur particulier, représentant des exigences fonctionnelles associées à des acteurs et à un sujet.
  • Scénario principal : Acteur principal: AA Scope: Enregistrement de l’arrivée d’une boîte Scénario principal : 1.

📝 Points essentiels

  • Un cas d’utilisation représente un ensemble de séquences d’actions réalisées par le système produisant un résultat observable pour un acteur.
  • Les acteurs associés à un cas d’utilisation peuvent être des utilisateurs humains, du matériel externe ou d’autres composants ou systèmes.
  • Le sujet est le composant ou système auquel le cas d’utilisation s’applique.
  • Le scénario principal (ou chemin heureux) décrit la séquence d’actions normale sans branchements conditionnels.
  • • Les cas d'utilisation sont associés à des acteurs (utilisateurs humains, matériel externe ou autres composants ou systèmes) et à des sujets (le composant ou système auquel le cas d'utilisation est appliqué).
  • Etape 5 ... (E3) ... Exceptions: E1: ... E2: ... E3: ... Cas d’utilisation... ...

💡 À retenir

Un cas d’utilisation représente un ensemble de séquences d’actions réalisées par le système produisant un résultat observable pour un acteur.

📖 9. Structure interne des cas d’utilisation : préconditions, post-conditions et scénarios

🔑 Notions clés & Définitions

  • Par exemple : Illustration concrète d'un cas d'utilisation, comme un utilisateur saisissant incorrectement un code PIN et devant le ressaisir pour réussir l'opération.
  • Post-conditions : Résultats observables garantissant la réussite du cas d’utilisation, décrivant l’état final attendu après l’exécution.
  • Chemins alternatifs : Variations possibles du scénario principal qui permettent d’atteindre l’objectif par un chemin différent, généralement plus long, mais conduisant à une fin normale.
  • Chemins d’exception : Extensions ou erreurs survenant durant l’exécution du cas d’utilisation, correspondant à des situations imprévues qui conduisent généralement à une fin anormale.
  • Structure interne de l'objet : Organisation interne d’un objet de test utilisée pour concevoir des tests boîte-blanche basés sur sa structure et son comportement.

📝 Points essentiels

  • Les préconditions définissent les conditions devant être vraies avant l’exécution du cas d’utilisation (facultatif).
  • Les post-conditions décrivent les résultats observables garantissant la réussite du cas d’utilisation.
  • Les chemins alternatifs représentent des variations possibles du scénario principal.
  • Les chemins d’exception correspondent aux extensions ou erreurs pouvant survenir durant l’exécution.
  • 75 APPLICATION Use case #001: Register arrival of a box Numéro du Cas de test Scénario couverts 1 (scenario principal): 1, 2, 3, 4, 5 2 (scénario exceptionnel 2a): 1, 2a 3 (scénario exceptionnel 4a): 1, 2, 3, 4a 4 (scénario exceptionnel 4b): 1, 2, 3, 4b 5 (scénario alernatif 4’): 1, 2, 3, 4 (sans “personnne-id”), 5 6 (scénario alernatif 4’’): 1, 2, 3, 4 (sans “valeur-estimée”), 5 7 (scénario alernatif 5’): 1, 2, 3, 4, 5 (en laissant les sacs dans la boîte) 76 TECHNIQUES DE TEST BOÎTE- BLANCHE 77 78 Test d’instructions Tests de décisions FORMATS DES CODES SOURCES
  • Le code dans les questions d'examen liées aux techniques de la boîte blanche peut être représenté de deux manières :
  • soit sous la forme d’un pseudocode :
  • Blocs de base : les blocs des instructions exécutées une par une
  • Instructions IF ou IF-ELSE : qui permet de prendre une des deux manières ou plus en fonction de la ou des conditions.

💡 À retenir

La structure interne d’un cas d’utilisation formalise les conditions d’entrée, les résultats observables et les variations possibles autour d’un chemin principal. Elle distingue aussi les scénarios alternatifs, qui restent normaux, des scénarios d’exception, qui mènent généralement à l’échec.

📖 10. Représentation graphique et limitations des diagrammes de cas d’utilisation UML

🔑 Notions clés & Définitions

  • Exemples : Processus métier au niveau du système, Structures de menus au niveau des tests d'acceptation.
  • Décomposition des cas d’utilisation : Organisation graphique des cas d’utilisation en éléments et relations, sans décrire leur contenu détaillé.
  • Instructions exécutables : Instructions du code qui peuvent être exercées par les tests d’instruction.

📝 Points essentiels

  • Le diagramme de cas d’utilisation UML n’est pas une notation pour capturer tous les scénarios possibles.
  • Il présente la décomposition des cas d’utilisation, pas leur contenu.

💡 À retenir

Le diagramme de cas d’utilisation UML sert à visualiser la décomposition des cas d’utilisation et leurs relations avec les acteurs. En revanche, il ne capture pas tous les scénarios possibles et ne suffit pas à définir complètement le contenu des cas d’utilisation.

📖 11. Dérivation des cas de test à partir des cas d’utilisation et intégration avec d’autres techniques de test boîte noire

🔑 Notions clés & Définitions

  • Dérivation des cas de test : Méthode de conception des tests consistant à partir des cas d’utilisation pour construire des cas de test en suivant les scénarios principaux et les scénarios alternatifs, avec prise en compte des exceptions.
  • TECHNIQUES DE TEST : Ensemble de méthodes de conception des cas de test que les testeurs combinent généralement pour obtenir les meilleurs résultats de l’effort de test.

📝 Points essentiels

  • Les cas de test issus des cas d’utilisation doivent suivre les scénarios principaux et alternatifs, et les alternatives ou exceptions doivent aussi être invoquées avec les valeurs limites.
  • Il est recommandé de combiner la technique basée sur les cas d’utilisation avec d’autres techniques de boîte noire pour améliorer la couverture.
  • L’application des valeurs limites aux cas de test dérivés des cas d’utilisation permet de tester les bornes des entrées et les exceptions, par exemple 0 produit ou le maximum autorisé.
  • Les techniques de test sont organisées en trois catégories : boîte-noire, boîte-blanche et basées sur l’expérience.

💡 À retenir

Intégrer les cas d’utilisation avec d’autres techniques boîte noire enrichit la conception des cas de test et améliore la couverture fonctionnelle. L’usage des valeurs limites dans ces cas de test permet aussi de couvrir les bornes et les exceptions.

🧩 Compléments de couverture

  1. ISTQB Sarra MEJRI: Docteur en informatique sarra
  2. TECHNIQUES DE TEST BOÎTE-NOIRE 8 TECHNIQUES DE TEST BOÎTE-NOIRE 9 Partitions d’équivalence Analyse des valeurs limites Tests de table de decision Tests de transitions d’état Tests des cas d’utilisation Principe, couverture et exemples Parti
    1. L'élément F appartient à deux partitions différentes PROCÉDURE Comment faire les partitions 16 1
  3. Qu'est-ce que le domaine et à quoi devrait ressembler son partitionnement
  4. Exemple : On ne peut pas appliquer la AVL au domaine {Linux, Windows, iOS} représentant les systèmes d'exploitation, car on ne peut pas les comparer
  5. AVL: 2 valeurs et 3 valeurs
  6. Sinon : F APPLICATION corrigé Les classes d'équivalence doivent représenter les notes, nous avons donc les classes suivantes : A ={91, 92,
  7. Celles-ci forment les lignes du tableau, généralement avec les conditions en haut et les actions en bas
  8. NOTATION COURANTE = TABLES DE DÉCISION Pour les conditions : V signifie que la condition est vraie (peut aussi être représentée par O (Oui) ou 1) F signifie que la condition est fausse (peut aussi être affiché comme N (Non) ou 0) — signifie
    1. à l'examen théorique et s'il a commis au plus 2 erreurs lors de l'examen pratique
  9. Exemple : Colonne 1 : points >=85, erreurs <= 2
  10. DIAGRAMME D’ÉTAT-TRANSITION (1) 51 Objectif: Décrire le comportement dynamique d'une entité (logiciel, composant, objet
  11. DIAGRAMME D’ÉTAT-TRANSITIONS (3) Le diagramme de transition d'états se compose de: États: ils représentent les conditions possibles dans lesquelles le système peut se trouver
  12. EXEMPLE DE DIAGRAMME D’ÉTAT-TRANSITION ET DE TABLEAU DE TRANSITION D’ÉTAT 56 TEST DE TRANSITIONS D‘ÉTATS Un tableau de transition d'état montre toutes les transitions valides et les transitions potentiellement invalides entre les états, ain
  13. Un 0-switch (ou couverture de transition) est une séquence d'un état à un autre sans états (zéro) entre eux
  14. EXEMPLE Couverture 0-switch 63  Afin d'atteindre la couverture, nous avons d'abord besoin d'identifier toutes les transitions valides (c-à-d tous les 0-switch dans le diagramme)
  15. Post-conditions (résultats observables) [garanties de réussite] Un seul chemin principal (parfois appelé chemin heureux) [scénario de réussite principal] Chemins alternatifs (0 ou plus) [liste de variation technologique et de données] Chemi
  16. e boîte noire ; par exemple, lorsque nous passons par une étape du scénario principal : « un utilisateur saisit le nombre de produits »; nous pouvons appliquer aussi AVL dans le cas de test, nous pouvons exiger que l'utilisateur saisir la v
    1. AA reçoit et ouvre une boîte (ID de la boîte, sacs avec des ID de sacs) de la société de transport TC
  17. Boucle WHILE : qui permet de répéter une séquence d'instructions tant qu'une certaine condition est respectée
  18. Exemples : tests de conditions, tests de conditions/décisions, test de conditions multiples …
  19. Test 1 : 1, 2, 9, 10 Test 2 : 1, 2, 3, 4, 5, 3, 6, 7, 9, 10 Test 3 : 1, 2, 3, 6, 8, 9, 10 Le nombre minimal de cas de test dans ce cas est de 3, car deux des conditions de test (résultats de décision) ne peuvent pas être exercées dans un ca
  20. 94 ESTIMATION D’ERREUR L'estimation d'erreur est une technique utilisée pour anticiper les erreurs, les défauts et les défaillances, sur la base des connaissances du testeur, y compris : Comment l'application a fonctionné antérieurement Que
  21. 96 TESTS BASÉS SUR LES CHECKLISTS Dans les tests basés sur des checklists, les testeurs conçoivent, implémentent et exécutent des tests pour couvrir les conditions de test figurant dans une checklist

📊 Tableaux de Synthèse

Tables de décision

AspectRôleRéduction / couverture
Table complèteCouvre toutes les combinaisons possibles de conditionsPeut être réduite en supprimant les combinaisons impossibles, irréalisables ou sans effet
Combinaison de conditionsAssociation unique de valeurs formant une colonneChaque combinaison unique devient une colonne distincte
CouvertureRapport entre règles testées et règles totalesAu moins un cas de test par règle de décision

États et cas d’utilisation

TechniqueObjet modéliséPoint clé
Diagramme de transitions d’étatComportement dynamique d’une entitéÉtats, transitions et événements sont les composants typiques
Tableau de transition d’étatTransitions valides et potentiellement invalidesActions et conditions de garde sont facultatives
Cas d’utilisationSéquences d’actions produisant un résultat observableAssocié à des acteurs et à un sujet

⚠️ Pièges & Confusions Fréquentes

  1. Confondre valeur F avec une valeur vraie alors qu’elle signifie que la condition est fausse, avec N comme équivalent possible
  2. Prendre le symbole — pour une valeur de condition importante alors qu’il indique que la valeur n’a pas d’importance
  3. Oublier qu’une table de décision complète doit couvrir toutes les combinaisons possibles de conditions
  4. Croire qu’une table de transition d’état doit montrer aussi les transitions invalides alors que les diagrammes montrent normalement seulement les transitions valides
  5. Confondre scénario principal et chemins alternatifs dans un cas d’utilisation
  6. Assimiler un cas d’utilisation à un simple diagramme graphique alors qu’il représente surtout des exigences fonctionnelles

✅ Checklist Examen

  1. Identifier les valeurs limites comme les bornes d’une partition d’équivalence ordonnée et compacte
  2. Distinguer F comme condition fausse et — comme valeur sans importance
  3. Construire une table de décision en identifiant d’abord toutes les conditions possibles
  4. Générer les combinaisons de conditions et les organiser en colonnes distinctes
  5. Vérifier si une table de décision peut être réduite en supprimant les combinaisons impossibles, irréalisables ou sans effet
  6. Relier la couverture au rapport entre règles de décision testées et règles totales
  7. Retenir qu’une couverture minimale demande au moins un cas de test par règle de décision
  8. Reconnaître qu’un diagramme de transitions d’état modélise le comportement dynamique par états et transitions
  9. Savoir qu’une transition est déclenchée par un événement externe et peut avoir une condition de garde et une action
  10. Distinguer cas d’utilisation, scénario principal, chemins alternatifs et chemins d’exception

Teste dein Wissen

Teste dein Wissen zu Techniques de modélisation et de test logiciel mit 11 Multiple-Choice-Fragen mit detaillierten Korrekturen.

1. Que signifie la valeur F dans une table de décision ?

2. Pour construire une table de décision, quelle étape faut-il réaliser juste après avoir identifié toutes les conditions possibles ?

Quiz machen →

Mit Karteikarten lernen

Merke dir die Schlüsselkonzepte von Techniques de modélisation et de test logiciel mit 22 interaktiven Karteikarten.

Valeurs limites — définition ?

Bornes d’une partition d’équivalence à tester.

Table de décision complète — rôle ?

Couvre toutes les combinaisons possibles de conditions.

Combinaison de conditions — fonction ?

Forme une colonne unique dans la table.

Karteikarten ansehen →

Similar courses

Erstelle deine eigenen Lernzettel

Importiere deinen Kurs und die KI erstellt in 30 Sekunden Lernzettel, Quizze und Karteikarten.

Lernzettel-Generator