Tests logiciels: concepts clés

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

Quel est le but principal de la phase de test dans le développement logiciel?

  • S'assurer que le logiciel développé fonctionne correctement et répond aux exigences. (correct)
  • Optimiser la vitesse d'exécution du code.
  • Développer de nouvelles fonctionnalités.
  • Rédiger la documentation technique.

Un défaut dans un logiciel causera toujours une défaillance.

False (B)

Quels sont les trois éléments que les tests fonctionnels doivent assurer?

Exactitude, complétude, aptitude à l'usage

Un test ______ est un test dont l'exécution réduit l'intervention d'un humain.

<p>automatisé</p> Signup and view all the answers

Associez chaque niveau de test avec sa description appropriée:

<p>Test unitaire = Vérifie la plus petite partie testable d'une application. Test d'intégration = Vérifie l'interaction entre différents modules. Test système = Vérifie le système dans son ensemble. Test d'acceptation = Vérifie si le système répond aux besoins de l'utilisateur final.</p> Signup and view all the answers

Quelle est la définition d'un test de régression?

<p>Un test exécuté après des modifications pour confirmer qu'aucun effet secondaire indésirable n'a été introduit. (B)</p> Signup and view all the answers

Les tests en boite noire nécessitent une connaissance approfondie du code source.

<p>False (B)</p> Signup and view all the answers

Dans un test de boite blanche, quels sont les différents types de couverture?

<p>Couverture d'instructions, couverture de branches, couverture de conditions</p> Signup and view all the answers

Dans un graphe de flot de contrôle (GFC), les ______ représentent la liaison d'une instruction à l'instruction suivante.

<p>arcs</p> Signup and view all the answers

Associez les caractéristiques suivantes à chacun des types de test:

<p>Test alpha = Effectué par des équipes internes avant la publication. Test bêta = Effectué par des utilisateurs externes dans un environnement réel.</p> Signup and view all the answers

Quel est le principal avantage des tests manuels?

<p>Possibilité de tester les éléments impossibles à vérifier par un test automatisé. (C)</p> Signup and view all the answers

Un plan de test logiciel est principalement utile après le codage pour valider le produit fini.

<p>False (B)</p> Signup and view all the answers

Qu'est-ce que le nombre cyclomatique et à quoi sert-il?

<p>Mesure de complexité d'un programme, détermine le nombre de chemins indépendants dans un graphe de contrôle.</p> Signup and view all the answers

Les tests ______ sont classés comme des tests fonctionnels et sont utilisés pour valider la qualité du code et la performance des modules.

<p>unitaires</p> Signup and view all the answers

Associez les outils de test aux tâches spécifiques pour lesquelles ils sont utilisés:

<p>Selenium = Automatisation des tests de logiciels. LoadRunner = Test de charge. Xray = Gestion de tests Jira = Suivi des défauts.</p> Signup and view all the answers

Par quoi est soutenu le test structurel?

<p>Par l'analyse du code source de l'application pour établir les tests. (D)</p> Signup and view all the answers

Le test système est une technique de test qui est effectuée par un développeur sur son propre code.

<p>False (B)</p> Signup and view all the answers

Quelle est la différence entre un test d'unité et un test d'intégration?

<p>Un test d'unité valide des composants individuels. Un test d'intégration valide l'interface et l'interaction entre les composants.</p> Signup and view all the answers

Les ______ s'effectuent lorsque le même test est répété après des modifications, afin de s'assurer que les bug corrigés ne sont pas réapparus.

<p>tests de régression</p> Signup and view all the answers

Relier type de test de boite aux définitions:

<p>Boîte Noire = Valider le comportement externe sans connaître l'implémentation. Boîte Blanche = Valider les comportements internes en utilisant le code source. Boîte Grise = Valider les comportements fondés sur la spécification et un niveau de compréhension de l'implémentation.</p> Signup and view all the answers

Quelle est l'importance de l'analyse des risques pendant la planification des tests?

<p>Elle aide à établir les priorités des tests en fonction des risques potentiels. (B)</p> Signup and view all the answers

La phase de test d'un logiciel est une activité optionnelle et peut être évitée si le projet est soumis à des contraintes de temps.

<p>False (B)</p> Signup and view all the answers

Quel est l'objectif du test d'acceptation?

<p>Confirmer que le produit final correspond bien aux besoins des utilisateurs finaux.</p> Signup and view all the answers

En test de boite blanche, la ______ mesure combien d'instructions dans le code ont été exécutées par les tests.

<p>couverture d'instructions</p> Signup and view all the answers

Associez la description au type de test fonctionnel approprié:

<p>Test d'exactitude = Assurer la fiabilité des résultats des logiciels. Test de complétude = couverture de l'ensemble des usages. Test d'aptitude à l'usage = La capacité à faire ce que l'on souhaite.</p> Signup and view all the answers

Par quel moyen peut-on caractériser le test exploratoire?

<p>S'appuie sur l'intuition et la connaissance du testeur. (A)</p> Signup and view all the answers

Le test 'de bout en bout' se fait durant la phase initiale et principale du développement logiciel.

<p>False (B)</p> Signup and view all the answers

Donnez un exemple d'exigence non fonctionnelle.

<p>Fiabilité, extensibilité, robustesse</p> Signup and view all the answers

La partie du test en boite noire, ce dernier examine uniquement les ______ d'un logiciel.

<p>fonctionnalités</p> Signup and view all the answers

Associez les rôles aux responsabilités:

<p>Testeurs = Responsable d'implémenter le cycle des tests. Concepteurs des essais = Responsable de la validation des stratégies de test. Chef de Projet = Diriger l'équipe et les efforts de test.</p> Signup and view all the answers

Qu’est-ce qu’un test d’utilisabilité?

<p>Réaliser un expérience utilisateur et tester les détails externes. (D)</p> Signup and view all the answers

Dans la pratique, il est suffisant de satisfaire seulement C0 pour tester programme.

<p>False (B)</p> Signup and view all the answers

Par quoi les tests au niveau composants vérifient-ils?

<p>Vérifications des matériaux de la maison(briques, tuiles, isolant).</p> Signup and view all the answers

La couverture de tous les arcs est une ______ pour tous les noeuds.

<p>condition nécessaire</p> Signup and view all the answers

Faire correspondre les éléments avec leurs utilités au sein d'un projet:

<p>Préparation des données de tests = Sert de point de référence lors des itérations du code. Cas de test = Donnent des informations valides à vérifier lors d'exécutions. Résultats de tests = Rétroaction pertinente pour de futures itérations.</p> Signup and view all the answers

Si une série de cas de test dans un test d'intégration valide les résultats des interactions entre plusieurs composants, quel est le but de celui-ci?

<p>Vérifier si leur assemblage s'est produit sans défaut. (B)</p> Signup and view all the answers

Les tests des composants sont une manière de structurer et d'organiser les tests.

<p>False (B)</p> Signup and view all the answers

Citez un objectif du test et cycle de développement.

<p>Détection des défauts, validation des spécifications, prévention des défauts.</p> Signup and view all the answers

En utilisant l'approche "boite noire", on divise les entrées en catégories d'______ et on s'attend à simuler le même comportement.

<p>équivalence</p> Signup and view all the answers

Associez les objectifs de couverture et définitions:

<p>Couverture d'instructions = Chaque ligne du code est exécutée au moins une fois. Couverture de branche = Chaque branche d'une structure de contrôle est exécutée au moins une fois.</p> Signup and view all the answers

Flashcards

Qu'est-ce qu'un défaut?

Une imperfection dans le logiciel qui peut engendrer des défaillances.

Comment tester un programme?

Consiste à exécuter un programme sur un ensemble de données appelées jeu de test.

Types de tests?

Manuel ou automatisé.

Niveaux de tests?

Tests effectués tout au long du cycle de vie du logiciel pour différents objectifs.

Signup and view all the flashcards

Techniques de tests?

Manuelles, structurelles, dynamiques, statiques, etc.

Signup and view all the flashcards

Test manuel

Un testeur expérimenté navigue dans le logiciel.

Signup and view all the flashcards

Test automatisé

Tests avec l'aide d'outils et d'algorithmes.

Signup and view all the flashcards

Test fonctionnel

Vérifie si le logiciel répond aux spécifications et aux attentes de l'utilisateur.

Signup and view all the flashcards

Test non fonctionnel

Vérifie les exigences de performance, le temps de réponse et la vitesse.

Signup and view all the flashcards

Test de robustesse

Vérifie le comportement face à des événements non spécifiés.

Signup and view all the flashcards

Test de performance

Consommation CPU, mémoire vive, etc.

Signup and view all the flashcards

Test de montée en charge

Vérifie le comportement en cas de stress.

Signup and view all the flashcards

Test unitaire

Les tests sont réalisés sur des fichiers ou programmes isolés.

Signup and view all the flashcards

Test d'intégration

Tests effectués entre les composants pour assurer leur fonctionnement.

Signup and view all the flashcards

Test système

Test de validation d'un métier ou des comportements perceptibles.

Signup and view all the flashcards

Test d'acceptation

Confirme que le produit final correspond aux besoins des utilisateurs.

Signup and view all the flashcards

Test de régression

Tests exécutés après une modification.

Signup and view all the flashcards

Test boite noire

Examine les fonctionnalités sans connaître le code interne.

Signup and view all the flashcards

Test boite blanche

Examine le fonctionnement interne de l'application.

Signup and view all the flashcards

Test boite grise

Test qui combine les approches boite noire + boite blanche.

Signup and view all the flashcards

Test alpha/bêta

Validation client avant le lancement du produit.

Signup and view all the flashcards

Test bout en bout

Voir si le logiciel se comporte comme prévu du début à la fin.

Signup and view all the flashcards

Test exploratoire

Réaliser des scénarios de test durant le test.

Signup and view all the flashcards

Plan de test logiciel

Vérifie les caractéristiques du logiciel à tester.

Signup and view all the flashcards

Définir le plan de test

Détermine les caractéristiques spécifiques du logiciel à tester.

Signup and view all the flashcards

Objectif d'un plan de test

Déterminer les caractéristiques spécifiques du logiciel à tester

Signup and view all the flashcards

Équipes et ressources

Définition des Ressources humaines, Chef de projet des tests...

Signup and view all the flashcards

Choix des outils

Automatisation des tests, outils de test de charge..

Signup and view all the flashcards

Suivi des anomalies

A chaque écart par rapport aux attentes décrites, il reporte l'anomalie.

Signup and view all the flashcards

Couverture de code : C0

C0 : tester toutes les instructions au moins une fois.

Signup and view all the flashcards

Couverture de code : C1

C1 : tester toutes les décisions possibles au moins une fois.

Signup and view all the flashcards

Tests en boite noire

Les tests consistent à examiner uniquement les fonctionnalités d'un logiciel .

Signup and view all the flashcards

Tests en boîte blanche

les tests examinent le fonctionnement d'une application et sa structure interne.

Signup and view all the flashcards

Tester Alpha/béta

Il s'agit d'engager des utilisateurs externes et utiliser un environement réel.

Signup and view all the flashcards

Test de robustesse

des tests consistant à tester le comportement d'un logiciel face à des événements non spécifiés/

Signup and view all the flashcards

Study Notes

Présentation Générale

  • Les tests logiciels sont cruciaux pour assurer la qualité et la fiabilité des applications
  • Les tests valident que le logiciel fonctionne correctement dans diverses situations et permettent une amélioration continue
  • La phase de test ajoute de la valeur en garantissant la conformité aux spécifications et l'absence d'anomalies

Contexte Général

  • Les logiciels peuvent présenter des problèmes tels que des besoins mal compris, des erreurs non détectées, des plantages dans des cas spécifiques et une fragilité du code
  • Tester permet de relever les anomalies et de confirmer qu'un logiciel est conforme avec ses spécifications

Définitions

  • Les imperfections (défauts) dans le logiciel peuvent engendrer des défaillances ou anomalies
  • Le test recherche activement les anomalies révélant les écarts par rapport au fonctionnement attendu
  • La qualité d'un logiciel vérifie et valide sa fiabilité, conformité et robustesse

Exemples Historiques

  • Fusée Ariane 5 Vol 501: un manque de tests a mené à l'explosion de la fusée et la perte de 370 millions de dollars de matériel
  • Knight Capital: un algorithme non testé et a fonctionné à l'inverse du résultat attendu, ce qui a causé 440 millions en pertes
  • Radiation en médecine en 2000: un programme a mesuré des mesures de radiation erronées, ce qui a mené à 8 morts

Fondements des Tests

  • L'objectif principal d'un test est d'atteindre un produit avec un taux de défauts quasi nul
  • Pour garantir l'objectivité, il est préférable que les tests soient réalisés par une personne différente de celle ayant développé l'application
  • Un test réussi détecte les anomalies

Procédures et Difficultés

  • Le but est de trouver les erreurs dans le code
  • Les programmes doivent être testées avec un ensemble de données prédéfinies appelés jeu de test"
  • Les tests doivent suivre un scénario de test"
  • Sélectionner les jeux de tests appropriés, l'exécution des tests et déterminer le critère d'arrêt des tests sont des défis importants

Types, Niveaux et Techniques de Test

  • Les tests peuvent être manuels ou automatisés, fonctionnels ou non-fonctionnels
  • Les niveaux de tests catégorisent les tests tout au long du cycle de vie du logiciel (tests unitaires, d'intégration, système, d'acceptation)
  • Les techniques emploient des méthodes fonctionnelles, structurelles, dynamiques ou statiques

Types de Tests: Test Manuel

  • Tests manuels sont effectués par un testeur
  • Deux façons d'exécuter des tests manuels:
    • Essai avec scénario: le testeur suit des scénarios préétablis
    • Essai exploratoire: le testeur navigue dans l'application pour déceler les bogues et les problèmes
  • L'avantage des tests manuels est la flexibilité d'évaluer des éléments complexes comme l'UI et l'UX
  • L'inconvénient des tests manuels est qu'ils sont plus difficiles à reproduire comparativement aux tests automatisés

Types de Tests: Test Automatisé

  • Les tests automatisés limitent l'intervention humaine à l'aide d'outils et d'algorithmes
  • Ils détectent les anomalies en comparant des résultats avec ceux attendus
  • Les scripts automatisés doivent être créées et bien prévues en amont
  • Un avantage est qu'ils peuvent être réutilisés
  • Un inconvénient est le cout et le temps associé à la création de ceux-ci

Types de Tests: Test Fonctionnel

  • Les tests fonctionnels vérifient que le logiciel se conforme avec ses spécifications, se déroulent et s'adaptent à l'utilisateur
  • L'objectif est d'assurer l'exactitude, l'exhaustivité et l'adéquation du logiciel
  • Les tests fonctionnels se classent en plusieurs niveaux

Types de Tests: Test Non Fonctionnel

  • Les tests non fonctionnels sont liés aux exigences de performance, tels que le temps de réponse et la vitesse du logiciel dans des conditions spécifiques

Test de Robustesse

  • Vérifie le comportement du logiciel en présence d'événements non prévus ou de situations dégradées

Test de Performance

  • Se fonde sur des indicateurs comme la consommation de CPU, la mémoire et le volume de commandes

Test de Montée de Charge

  • Évalue le comportement du logiciel en situation de stress, comme avalanche de notifications

Test de Compatibilité

  • Vérifie si le logiciel fonctionne correctement avec différents terminaux ciblé

Test d'Ergonomie

  • Teste l'expérience utilisateur basé sur la conception et l'interface

Test de Sécurité

  • Integre la sécurité comme exigence dans les spécifications et prévoir les tests de sécurité associés

Test d'installation

  • Teste les procédures d'installation avant leur conception

Niveaux de Tests

  • Les tests fonctionnels sont divisés en 4 niveaux : unitaires, d'intégration, système et d'acceptation
  • Les niveaux de test aident à structurer et organiser les tests

Niveaux de Tests: Test Unitaire

  • Les tests unitaires sont réalisés sur des fichiers isolés
  • Ceux-ci valident la qualité du code et les performances de divers modules
  • Un chapitre y est entièrement dédié

Niveaux de Tests: Test d'Intégration

  • Les tests d'intégration sont des tests manuel ou automatisés entre les composantes afin de s'assurer que le fonctionnement des interactions et de l'interface est conforme entre les différentes parties
  • Ceux-ci valide que les composantes fonctionnent dans leur environnement

Niveaux de Tests: Test Système

  • Les tests système vérifient si l'application correspond à ce qui a été demandé
  • Ces tests peuvent être fonctionnels ou non
  • Les tests valider un métier ou des comportements perceptibles via le client
  • Ces tests doivent être indépendants de la structure interne

Niveaux: Test d'Acceptation

  • Les tests sont utilisés pour vérifier si le produit correspond aux besoins des utilisateurs
  • Les tests ne sont pas conformes malgré le respect de spécifications
  • Tests sont manuel

Niveaux: En Résumé

  • Comparaison aux tests de construction d'une maison: Les composantes sont aux matériaux de construction, l'intégration au ciment, les systèmes à son ensemble
  • Test d'acceptation à la vérification des aspects fonctionnelle

Techniques de Test

  • Une technique de test consiste à tester un composant via de l'utilisabilité comme la régression, ect et peut concerner plusieurs niveau et phase du test

Techniques: Tests de Régression

  • Les tests vérifiient qu'un programme ne comporte pas d'effet secondaires suite à des changements dans le programme

Techniques: Test BN/BB/BG

  • Boîte noire: basé sur une spécification des essais de système
  • Structurel (boîte blanche): basé sur le programme
  • Essai aléatoire (Boîte grise): Sélection basée sur le programme

Techniques: Test boite noire

  • Les teste en boite noire consiste à examiner les fonctionnalités du programme et de valider qu'il fait la bonne chose et de la bonne façon
  • Le testeur doit connaitre le rôle du système et d'utiliser un profil d'utilisateur
  • Les tests consistent en un scénario et à vérifier l'entrée, sortie et le résultat
  • Test de système sont appliqués généralement avec rapidité
  • Inconvénient: tests peuvent être superficiels et redondants

Techniques: Test boite blanche

  • Ces tests consiste à examiner le fonctionnement interne du programme et à comprendre le bon fonctionnement des composantes et des essais
  • le testeur doit avoir des compétences en programmation
  • La méthode exige des scénarios de tests et la validation des ligne de codes
  • La méthode des essais peuvent être utilisées pour des essais ou des système d'intégration
  • Tests sont précis

Technique: Test boite grise

  • Technique consiste à tester le fonctionnement et valider une entrée/sortie
  • Testeur a des connaissances de base et relativement limité du mécanique interne ainsi que le rôle du système et ses fonctions
  • Le code source n'est pas accessible, l'exhaustivité des tests boite grise est limitée

Techniques: Test Alpha et Beta

  • Tests alpha et bêta sont des méthodologies qui valident qu'un client souhaite lancer un produit qui a été déjà testé
  • Essais alph est effectué par des équipes internes et sont les derniers essai sur le site
  • Essais beta sont effectué via des usager réels

Techniques : Autres

Essais bout-en-bout:

  • sert a valider que le programme se comporte de manière attendu
  • les essais sont exécutes après les essais fonctionnels Essais Exploratoire:
  • consiste à découvrir de nouveaux bugs dans le programme
  • pas de garanti de couverture du test et est tributaire des capacités du testeur

Techniques - Résumé

  • Catégories peuvent être organisée par (niveaux, types, techniques)
  • Classées: Acceptations>Fonctionelles > Boite noire ou Module ou Manuel > Intégration > automatisé

Test et cycle du développement

  • l'équipe des test commence lors que le codage est créé et en suit parallèlement avec celui-ci

Activités de test

  • Sélectionne les tests pour l'application et soumet le jeux de test
  • Dépouillement des données
  • Évalue la pertinence des essais et juge si la phase ce test ce terme ou non

Graphe de flot de contrôle

  • Représente le plan des donnés afin de mieux comprendre les résultats d'essai, ainsi va préparer les données avant essaie

Test structurels "BB"

  • Cherches le code source pour émettre des essaies
  • Nécessite les codes sources et se concentre bien sur les données attenduent
  • L'avantage est les essais exhaustive vu l'inventaire présent dans le programme
  • L'inconvénient est qu'à cause de la spécification, des donnés peuvent être manqué car non implémentent

Boite Blanche

  • L'analyse de la structure de l'application est nécessaire pour établir les tests en se basant sur les critères, la portion et les données

Graphe

  • Il existe deux nœud obligatoire soit l’entré et sortie
  • les arcs sert à lier les les instructions avec les prochaines et les étiquettes sont identifié par leurs propre éléments

Modéles de Graph

  • Les modèle sont Séquence, si-aloes-snion, Boucle et Commutateur

Nombres cyclomatique

  • La complexité est calculée en mesurant et utilisant un outil de métrologie pour mesurer le logiciel
  • Nombre cyclomatique et définie comme arc-nœud+2 et représente le total des chemins dans un graphe

Objectifs de couverture

  • Couvrir et utiliser le moins d'instructions possible pour répondre au critère "C0 and C1"

Analyse de Partionnation

  • Diviser le code en de petit segment et s'assurer que les requis sont validé, l'essai ne dois pas être très exhaustifs

Comment combiner les Stratégies?

  • Ne commencer par dessuite avec essai BB mais plutôt BN et Utiliser des outils de gestion.

Exemple de Programme Statistique

  • Programme doit analyser , un fichier nommer Étudiants
  • Le programme doit calculer la moyenne du chacun
  • la plus part du essais devrait être fait pas le technicien

Exemple cas de tests

  • inclure des caractéristiques du programmes
  • Doit inclure le code du programme dans les test afin de s'assurées que la structure est validé

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

More Like This

Use Quizgecko on...
Browser
Browser