Tests en développement logiciel

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Quel est l'objectif principal des tests dans le processus de production ?

  • Définir les besoins des utilisateurs
  • Rédiger des spécifications fonctionnelles
  • Accompagner le pilotage des livraisons
  • Gérer les anomalies et les évolutions (correct)

Quelle activité fait partie de la phase de cadrage ?

  • Préparation des jeux de données
  • Identification des exigences (correct)
  • Exécution des tests unitaires
  • Rédaction du plan de tests

Qu'est-ce qui ne fait pas partie de la gestion des tests ?

  • Gestion des anomalies
  • Création de scénarios de tests
  • Développement de fonctionnalités (correct)
  • Exécution des tests

Quel est l'élément clé lors de la préparation pour les tests ?

<p>Création du plan de tests (D)</p> Signup and view all the answers

Quel processus se déroule après l'exécution des tests unitaires ?

<p>Gestion des anomalies (A)</p> Signup and view all the answers

Quel est le produit total des éléments décrits pour assurer l'exhaustivité des tests ?

<p>120 000 (C)</p> Signup and view all the answers

Pourquoi est-il crucial de tester tôt dans le cycle de vie du développement ?

<p>Pour éliminer les changements coûteux (D)</p> Signup and view all the answers

Quelle déclaration est fausse concernant les erreurs lors du développement ?

<p>Les tests répétitifs sont toujours efficaces. (A)</p> Signup and view all the answers

Qu'est-ce qui influence le succès des tests selon le contexte ?

<p>Les données et l'environnement (B)</p> Signup and view all the answers

Qu'est-ce qu'une stratégie de test ?

<p>Une feuille de route pour garantir la qualité (B)</p> Signup and view all the answers

Quel est l'objectif principal des tests de non-régression ?

<p>S'assurer que les changements n'ont pas provoqué de nouveaux bugs. (C)</p> Signup and view all the answers

Quel type de pot a le prix le plus bas selon les informations fournies ?

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

Quels éléments font partie des caractéristiques des pots mentionnées ?

<p>La couleur, le diamètre, et l'emplacement. (C)</p> Signup and view all the answers

Quelle affirmation est correcte concernant le logiciel 'Végét’Info' ?

<p>Il permet aux utilisateurs de naviguer dans un catalogue de plantes. (B)</p> Signup and view all the answers

Quel élément n'est pas mentionné comme une couleur de pot ?

<p>Vert (C)</p> Signup and view all the answers

Quel élément est spécifié par chaque cas d'utilisation ?

<p>Le comportement d'un sujet (D)</p> Signup and view all the answers

Quelles sont les préconditions nécessaires pour exécuter un cas d'utilisation ?

<p>Elles doivent être remplies pour un succès (B)</p> Signup and view all the answers

Quel est l'objectif principal des tests de non-régression ?

<p>S'assurer qu'aucune fonctionnalité existante n'a été impactée (A)</p> Signup and view all the answers

Les cases vides dans un tableau représentent quoi ?

<p>Des transitions invalides (C)</p> Signup and view all the answers

Quel type de tests permet de vérifier que le développement répond aux besoins définis ?

<p>Tests d'acceptation (A)</p> Signup and view all the answers

Les acteurs dans un cas d'utilisation peuvent être décrits comme ?

<p>Des entités externes à l'application (C)</p> Signup and view all the answers

Quel type de test vérifie le bon fonctionnement de l’application avant et après les modifications ?

<p>Tests de non-régression (B)</p> Signup and view all the answers

Dans un cas d'utilisation, que signifie 'ajouter un bénéficiaire' ?

<p>Exécuter une action spécifiée (C)</p> Signup and view all the answers

Quel est l'objectif principal des TNR dans le développement de logiciels ?

<p>Assurer que les modifications n'introduisent pas de nouveaux problèmes. (C)</p> Signup and view all the answers

Dans quelles situations les TNR sont-ils généralement appliqués ?

<p>Après des modifications apportées au code. (C)</p> Signup and view all the answers

Quel type de TNR est principalement utilisé pour vérifier des corrections de bugs sans changer le scénario de test ?

<p>Test de non-régression correctif. (A)</p> Signup and view all the answers

Quel élément d'un cas de test doit être unique et permettre de savoir rapidement ce qui est testé ?

<p>Le nom du cas de test (A)</p> Signup and view all the answers

Quel résultat peut avoir un cas de test ?

<p>Passant ou échec (B)</p> Signup and view all the answers

Quelle méthode est considérée comme une solution intermédiaire entre le TNR complet et le TNR correctif ?

<p>Test de non-régression sélectif. (C)</p> Signup and view all the answers

Quel type de test est le plus coûteux et rare à utiliser après des modifications importantes ?

<p>Test de non-régression complet. (D)</p> Signup and view all the answers

Que définit la charge estimée d'un cas de test ?

<p>Le temps pour l'écrire ou l'exécuter (D)</p> Signup and view all the answers

Qu'est-ce qu'un test de non-régression unitaire ?

<p>Un test qui évalue des unités de code spécifiques de manière isolée. (B)</p> Signup and view all the answers

Quel type de cas de test n'est pas mentionné parmi les types possibles ?

<p>D'interface (A)</p> Signup and view all the answers

Quelle méthode est appropriée lorsqu'une fonctionnalité est modifiée et que les anciens tests ne sont plus pertinents ?

<p>Test de non-régression progressif. (B)</p> Signup and view all the answers

Pourquoi est-il important de prioriser les scénarios de test ?

<p>Parce que tous les scénarios ne peuvent pas être réalisés (D)</p> Signup and view all the answers

Quels facteurs doivent être pris en compte lors de la priorisation des tests ?

<p>La fréquence, l'impact et les risques (C)</p> Signup and view all the answers

Quelles circonstances nécessitent typiquement l'application de TNR ?

<p>La fusion de plusieurs modules développés par différents développeurs. (C)</p> Signup and view all the answers

Qui est responsable de l'écriture et de l'exécution d'un cas de test ?

<p>La personne assignée pour le cas de test (D)</p> Signup and view all the answers

Un cas de test peut dépendre d'un autre cas de test. Cela fait partie de quel élément ?

<p>Les prérequis (B)</p> Signup and view all the answers

Flashcards

Collecte des besoins

Processus de recueil des exigences et attentes des utilisateurs pour un projet.

Tests unitaires

Tests de composants logiciels individuels.

Gestion des anomalies

Processus de résolution des problèmes logiciels.

Stratégie de tests

Plan global pour l'exécution des tests.

Signup and view all the flashcards

Gestion de la production

Processus pour mettre en place et maintenir la version finale du produit.

Signup and view all the flashcards

Cas d'utilisation

Spécifie le comportement d'un sujet en collaboration avec un ou plusieurs acteurs.

Signup and view all the flashcards

Pré-conditions (cas d'utilisation)

Conditions nécessaires à l'exécution réussie du cas d'utilisation.

Signup and view all the flashcards

Tableau d'état

Tableau illustrant les états d'un système et les évènements qui les modifient.

Signup and view all the flashcards

Transition invalide

Passage d'un état à un autre non autorisé par le système.

Signup and view all the flashcards

Tests de non régression

Tests pour s'assurer qu'un changement n'a pas impacté les fonctionnalités existantes.

Signup and view all the flashcards

Tests d'acceptation

Tests pour vérifier la conformité avec les besoins du client.

Signup and view all the flashcards

État final

État atteint après un cas d'utilisation est exécuté, point de fin.

Signup and view all the flashcards

Bénéficiaires du cas d'utilisation

Individus impliqués ou affectés par le cas d'utilisation.

Signup and view all the flashcards

Tests de non-régression

Tests effectués pour s'assurer qu'un nouveau code ne casse pas le code fonctionnel existant.

Signup and view all the flashcards

Pot Camille

Un pot d'intérieur, disponible à partir de 22€.

Signup and view all the flashcards

Pot Aurore

Un pot d'intérieur, disponible à partir de 15€.

Signup and view all the flashcards

Pot Lisa

Un pot d'intérieur, disponible à partir de 18€.

Signup and view all the flashcards

Végét'info

Logiciel permettant de parcourir des plantes et passer commande.

Signup and view all the flashcards

Nombre de cas de tests exhaustifs

Pour tester exhaustivement une application avec 10 écrans, 4 menus à 3 options, 10 champs, 2 types de données et 50 valeurs possibles, il faut 120 000 cas de tests.

Signup and view all the flashcards

Tests tôt dans le cycle de développement

Tester tôt permet de corriger les erreurs plus facilement et moins coûteusement car le cycle de changement est plus court.

Signup and view all the flashcards

Erreurs regroupées

Les erreurs ont tendance à se regrouper et peuvent souvent être liées à des parties spécifiques du code, d'un module ou d'une fonction.

Signup and view all the flashcards

Tests répétés inefficaces

Exécuter plusieurs fois les mêmes cas de tests sans les modifier ne permettra pas de trouver de nouvelles erreurs.

Signup and view all the flashcards

Stratégie de tests

Un plan qui décrit l'ensemble des tests nécessaires pour garantir la qualité d'un programme avant sa livraison.

Signup and view all the flashcards

Assurance Qualité logicielle

Ensemble des actions visant à garantir le bon fonctionnement du logiciel après modifications.

Signup and view all the flashcards

Tests de Non-Régression (TNR)

Tests effectués pour vérifier que les modifications apportées au logiciel n'introduisent pas de nouveaux problèmes.

Signup and view all the flashcards

TNR Correctif

Tests utilisant les tests existants pour s'assurer que les corrections ne créent pas de nouveaux problèmes.

Signup and view all the flashcards

TNR Complet

Tests de tout le logiciel pour vérifier le bon fonctionnement après modification.

Signup and view all the flashcards

TNR Sélectif

Tests ciblant uniquement les parties du code modifiées.

Signup and view all the flashcards

TNR Progressif

Ajout de nouveaux tests lorsque les anciens ne sont plus pertinents.

Signup and view all the flashcards

TNR Partiel

Utilisé lors de la fusion de modules, basé sur les scénarios existants.

Signup and view all the flashcards

TNR Unitaire

Tests d'unités de code spécifiques, isolément.

Signup and view all the flashcards

Cas de test

Élément d'un plan de test, avec un nom unique, résultat attendu (passant/non passant), temps estimé et prérequis.

Signup and view all the flashcards

Nom du cas de test

Identifiant unique pour un cas de test, permettant une reconnaissance rapide de ce qui est testé (ex: Connexion_RG12_Onglets).

Signup and view all the flashcards

Résultat du test

Indique si le cas de test a réussi ou échoué (passant/non passant).

Signup and view all the flashcards

Charge estimée

Estimation du temps nécessaire pour réaliser/exécuter un cas de test.

Signup and view all the flashcards

Prérequis

Conditions nécessaires avant d'exécuter un cas de test (dépendant d'autres cas).

Signup and view all the flashcards

Attendu

Résultat escompté après une suite d’actions décrite dans le cas de test.

Signup and view all the flashcards

Priorisation

Choix de l'ordre d'exécution des cas de test en fonction de l'impact, de la probabilité, des risques et des coûts.

Signup and view all the flashcards

Priorité d'un test

Classement des tests pour déterminer l'ordre de leur exécution en fonction de l'impact et de la fréquence d'utilisation.

Signup and view all the flashcards

Study Notes

Généralités sur les tests

  • Les tests sont un ensemble de procédures visant à assurer la conformité d'un système.
  • Ils garantissent un niveau de qualité.
  • Les tests fonctionnels évaluent les éléments en fonction des besoins, assurant la conformité aux attentes de l'utilisateur final.
  • Les tests non fonctionnels concernent les aspects techniques.
  • Le test structurel vérifie directement le code.

Le cycle de vie du projet

  • Un projet est un ensemble d'activités coordonnées et maîtrisées pour atteindre un objectif précis, avec une date de début et de fin.
  • Le besoin correspond aux attentes du client ou des utilisateurs, exprimé de manière claire sans interprétation.
  • Un jalon est un événement important dans la réalisation d'un projet, nécessitant un contrôle (ex: livraison d'un livrable ou clôture d'une phase).
  • Le cycle de vie d'un projet représente la succession des phases de passage d'un besoin à un système en service.
  • Le cahier des charges est un document contractuel exprimant les attendus du projet.

Les équipes d'un projet

  • Le cadrage définit le projet.
  • Le développement produit le système.
  • La qualification valide le système par des tests.
  • La livraison client met le système à disposition.
  • La recette vérifie le système sur la base des besoins.
  • La mise en production met le système fonctionnel en ligne.

Le développeur et le testeur

  • Les développeurs écrivent le code, réalisent les tests unitaires et d'intégration, et déboguent.
  • Les testeurs trouvent les cas du logiciel, vérifient la cohérence globale, anticipent les problèmes et accordent une grande importance au détail.
  • La collaboration entre développeurs et testeurs est essentielle pour améliorer la qualité globale du logiciel.
  • Les développeurs effectuent souvent des tests orientés sur le code qu'ils connaissent.
  • Les testeurs effectuent les tests en fin de chaîne.

Le test dans un projet

  • Les tests sont présents tout au long du cycle de vie du projet (cadrage, réalisation, tests, production).
  • Chaque phase comprend des activités spécifiques de test.

Pourquoi tester ?

  • Les logiciels sont intégrés dans notre vie quotidienne.
  • Les logiciels mal fonctionnels peuvent occasionner des pertes financières, de temps et de réputation, et même des blessures ou la mort.
  • Les tests logiciels permettent d'évaluer la qualité du logiciel et de réduire les risques.

Les conséquences d'un logiciel défectueux - exemples

  • Financières : décalage de salaires, erreurs de paiement en ligne.
  • Image : impossibilité de déclaration pour des personnes en raison de problèmes de serveur.
  • Personne : irradiations excessives suite à un scanner défectueux, accidents d'automobile.
  • Environnement : utilisation excessive de pesticides avec problèmes de pulvérisation, rejets toxiques de gaz d'échappement suite à un mauvais réglage.

Pourquoi tester (en détails) ?

  • Une erreur courante est de considérer que tester se résume à exécuter et vérifier les résultats.
  • Le processus de test inclus : planification, analyse, conception, mise en œuvre, suivi et évaluation de la qualité des tests.
  • Une autre perception erronée est qu'il se concentre uniquement sur les exigences.
  • Les tests permettent de s'assurer que le système répond aux besoins des utilisateurs et des parties prenantes.

Les cycles de développement

  • Différents modèles existent (Cascade, V, Incrémental, Itératif) en fonction des spécificités du projet.
  • Cascade : chaque phase doit se terminer avant le début de la phase suivante.
  • V : le processus de test est lié à chaque étape du développement.

Définitions : test (non) fonctionnel

  • Test fonctionnel : évaluer en fonction du besoin pour valider les attentes de l'utilisateur final.
  • Test non fonctionnel : concerne les aspects techniques du logiciel.
  • Test structurel : vérifie directement le code.

Les différentes techniques de tests

  • Les facteurs influençant le choix des techniques : type du système, complexité, règlement en vigueur, exigences règlementaires, compétences des testeurs, risques, objectifs du test, documentation, outils disponibles...
  • Modèle de cycle de vie de développement logiciel, utilisation prévue du logiciel, expériences précédentes, types de défauts.

Boîte noire et boîte blanche

  • Boîte noire : ignore l'implémentation pour valider la fonctionnalité par rapport aux besoins des utilisateurs (ex: la voiture fonctionne).
  • Boîte blanche : considère le code pour tester les mécanismes internes.

L'expérience

  • Dans certains cas, les cas de test et les données sont basés sur les connaissances et l'intuition du testeur.
  • Les testeurs utilisent leur expérience pour identifier les zones potentiellement défectueuses.
  • Les tests exploratoires permettent de découvrir des anomalies.

La boîte noire - partie d'équivalence

  • Identifier les partitions de valeurs valides et invalides en entrée et sortie.
  • Créer des cas de test.
  • Tester une donnée dans chaque partition.

La boîte noire - valeurs limites

  • Utiliser les valeurs minimum et maximum des partitions pour repérer les défauts potentiels.
  • Tester des valeurs "juste en dessous", "sur" et "juste au dessus" de la limite.

La boîte noire - transitions d'états

  • Un système peut se comporter différemment à partir de ses états.
  • Les tests de transitions d'états permettent d'identifier les transitions invalides.
  • Tableaux d'états et transitions.

La boîte noire - cas d'utilisation

  • Chaque cas d'utilisation décrit le comportement d'un acteur vis-à-vis du système.
  • Pré-conditions, étapes et résultats attendus.

Les types de tests (TNR)

  • Non régression : permet de vérifier qu'une modification ne casse pas des fonctionnalités existantes.
  • Unitaire : vérifier un composant de manière isolé.
  • Intégration : vérifier l'intégration d'un composant dans le système.
  • Performance : vérifier la performance du système.
  • Acceptation : vérifier la conformité au besoin du client.

Erreurs, défauts et défaillances

  • Une erreur humaine peut générer un défaut qui peut entraîner une défaillance du logiciel.
  • Identifier la cause racine des défauts pour améliorer les processus et réduire les défaillances.

Les 7 grands principes

  • Exhaustivité : les tests ne peuvent pas être exhaustifs.
  • Regroupement : les erreurs sont souvent regroupées.
  • Contexte : les tests dépendent du contexte, des données et de l'environnement.
  • Temps : tester tôt pour réduire les coûts ultérieurs.
  • Pesticides : exécuter plusieurs fois le même cas de test ne suffirait pas pour trouver les problèmes.
  • Illusion: croire à l'absence d'erreur seulement parce qu'aucun bug n'est trouvé durant le processus de test.

Les critères d'entrée

  • Condition requise pour commencer une activité de test.
  • Vérifier la disponibilité des ressources, de l'environnement...

Les critères de sortie

  • Conditions qui doivent être satisfaites pour valider l'activité de test.
  • Contrôler l'état du projet lors de la sortie.

Les paramètres dans les cas de tests

  • Les paramètres sont des variables qui peuvent prendre différentes valeurs pour tester divers scénarios avec le même cas de test.
  • Ils rendent les cas de test plus flexibles et réutilisables.
  • Ils sont utilisés pour la réduction de la redondance, la couverture étendue, la maintenance simplifiée et la clarté.
  • Ils peuvent aussi ajouter de la complexité, rendre le débogage plus difficile et impacter les performances, ainsi que la maintenance.
  • Exemple : Nom utilisateur, mots de passe, etc.

Plan de tests

  • Un plan de test valide la couverture du périmètre fonctionnel.
  • Il contient les cas de tests fonctionnels nécessaires.
  • Il définit les objectifs pour identifier les scénarios et les prioriser.
  • Son périmètre peut être associé à une version de l'application
  • Il est rédigé dès la définition du périmètre.

Construction d'un plan de tests

  • Le plan de test fait référence aux SFD, SFG, cas d'usage et stratégie de test.
  • Il faut comprendre l'existant pour savoir comment tester l'ajout, les écarts, et les différents scénarios.

La priorité

  • Tous les scénarios de tests ne peuvent pas être exécutés.
  • Il est important de prioriser ceux qui ont le plus fort impact sur l'utilisateur.
  • Les critères de priorisation : fréquence, impact utilisateur, risque, probabilité, conséquences financières.

Le calendrier

  • Le calendrier d'exécution doit considérer la priorité.
  • Les dépendances entre les cas de test.
  • Les tests de non-régression.
  • La séquence la plus efficace.

L'effort de tests

  • Prioriser les tests est crucial pour estimer l'effort.
  • Facturer qui influence l'effort de tests: les caractéristiques d'un produit, les risques, la qualité de base, la taille du produit, la complexité du domaine métier, les exigences, le niveau de détail de la documentation, la conformité aux lois, les personnes impliquées (compétence et expérience), la cohésion et le leadership de l'équipe, les caractéristiques du processus de développement, la stabilité de l'équipe, l'approche de développement, les outils utilisés, la pression des délais, les résultats de tests (nombre et sévérité des défauts trouvés, travail à refaire) et les métriques.
  • Techniques pour estimer l'effort : basée sur les métriques (anciens projets similaires) et basée sur l'expertise.
  • Les métriques peuvent déterminer la complexité de chaque test (nombre de cas de tests, nombre de RG).

Cas pratique - exemples

  • Exemple de gestion de garage: définir les cas de test.
  • Exemple de gestion de bibliothèque : définir des tests de non régression pour une nouvelle fonctionnalité (réserver des livres).

Studying That Suits You

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

Quiz Team

Related Documents

Test entreprise MIAGE PDF

More Like This

Use Quizgecko on...
Browser
Browser