Chapitre 1 : les fondamentaux du test Flashcards

o Les principes de base sur les tests, les raisons pour lesquelles les tests sont requis et quels sont les objectifs des tests. o Le processus de test, les principales activités de test et le testware. o Les compétences essentielles pour les tests.

You may prefer our related Brainscape-certified flashcards:
1
Q

Quels sont les objectifs du test? (8)

A
  • Évaluer les produits d’activités tels que les exigences, les User Stories, les conceptions et le code.
  • Provoquer des défaillances et trouver des défauts.
  • Assurer la couverture requise d’un objet de test.
  • Réduire le niveau de risque d’une qualité logicielle insuffisante.
  • Vérifier si les exigences spécifiées ont été satisfaites.
  • Vérifier qu’un objet de test est conforme aux exigences contractuelles, légales et réglementaires.
  • Fournir des informations aux parties prenantes pour leur permettre de prendre des décisions
    éclairées.
  • Construire la confiance dans la qualité de l’objet de test.
  • Valider si l’objet de test est complet et fonctionne comme attendu par les parties prenantes.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Pourquoi est-il nécessaire de tester?

A

go back to first

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Quels sont les 7 principes du test?

A

**1- Le test montre la présence, et non l’absence, de défauts ** : (Le test peut montrer que des défauts sont
présents dans l’objet de test, mais ne peut pas prouver qu’il n’y a pas de défauts)
2- Le test exhaustif est impossible (pour concentrer les efforts de test : les techniques de test, la priorisation des cas de test et le test basé sur les risques)
3- Tester tôt économise du temps et de l’argent.
4- Regroupement des défauts : (un petit nombre de composants contiennent généralement la majorité des défauts ou sont responsables de la plupart des défaillances opérationnelles (pareto, 80% probs 20% cause, essentiel ds tests basés sur les risques, car elle permet de cibler les composants les plus problématiques pour optimiser l’effort de test et la détection des défauts)
5- Usure des tests : La répétition des mêmes tests réduit leur efficacité pour détecter de nouveaux défauts, nécessitant des modifications de données de test ou rédaction de nouveaux tests, bien que la répétition puisse être bénéfique dans les tests de régression automatisés.
6- Le test dépend du contexte : Il n’existe pas d’approche de test unique et universellement applicable. Les tests sont effectués différemment selon les contextes.
7- L’illusion de l’absence de défaut : Vérifier minutieusement un logiciel et corriger ses défauts ne garantit pas son succès. Même sans défauts, le système peut échouer s’il ne répond pas aux besoins des utilisateurs ou aux objectifs métier. Validation aussi cruciale que vérification.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

C’est quoi la différence entre tester et déboguer?

A

Les tests peuvent déclencher des défaillances
causées par des défauts dans le logiciel si on test dynamiquement, des défauts dans l’objet de test si on fait le test statique.
Lorsque le test statique déclenche un défaut : le débogage consiste à l’éliminer. Il n’est pas nécessaire de le
reproduire ou de le diagnostiquer, puisque le test statique constate directement les défauts et ne peut pas
provoquer de défaillances.
Lorsque le test dynamique déclenche une défaillance, le débogage consiste à 1. trouver les
causes de cette défaillance (défauts) 2. à analyser ces causes et à les éliminer. Dans ce cas, le processus
de débogage typique implique les tâches suivantes:
- Reproduction d’une défaillance.
- Diagnostic (trouver la cause racine).
- Correction de la cause.
and then test confirmation & test de regression.

fyi: Le débogage n’est pas considéré comme une activité de test car son but est de corriger les défauts déjà identifiés, tandis que les tests visent à découvrir ces défauts. Le débogage est une réponse aux problèmes trouvés par les tests.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

C’est quoi la différence entre la cause racine, l’erreur, le défaut et la défaillance?

A

Les erreurs humaines, causées par des facteurs comme la fatigue ou la pression, génèrent des défauts (bogues) dans la documentation ou le code. Si ces défauts sont exécutés, ils peuvent entraîner des défaillances (can also occur bcs of external factors: env.). Les causes racines sont les raisons profondes des erreurs et défauts, identifiées pour prévenir leur récurrence. (analyse de cause racine can help/ c
possible d’éviter les defs en s’attaquant à la cause racine)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

C’est quoi le test logiciel?

A

Le test de logiciels est un ensemble d’activités visant à découvrir les défauts et à évaluer la qualité des
artefacts logiciels(connus sous le nom d’objets de test lorsqu’ils sont testés, can be class, function..).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

C’est quoi la relation entre test et assurance qualité?

A

Le contrôle de la qualité est une approche corrective axée sur le produit, se concentrant sur les activités visant à atteindre des niveaux de qualité appropriés, telles que les tests, les méthodes formelles (modèle de test et preuve d’exactitude), la simulation et le prototypage.

L’assurance qualité (QA) est une approche préventive axée sur les processus, visant à garantir qu’un suivi rigoureux des processus définis produit un bon produit. Elle incombe à tous les acteurs d’un projet. Les résultats des tests servent à la fois à corriger les défauts (contrôle de la qualité) et à évaluer l’efficacité des processus de développement et de test (assurance qualité).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

C’est quoi un processus de test?

A

Le processus de test est une série d’activités planifiées et organisées, adaptées à une situation spécifique, qui visent à atteindre les objectifs du test.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Quels sont les éléments clés du processus de test?

A

Les activités et les tâches de test, l’importance du contexte, les outils et artefacts de test (testware), la traçabilité entre la base de test et le testware, ainsi que les différents rôles impliqués dans le processus de test.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Quelles sont les 7 activités de processus de test?

A
  • La planification des tests.
  • Pilotage et contrôle des tests.
  • L’analyse de test.
  • La conception des tests.
  • L’implémentation des tests.
  • L’exécution des tests.
  • Les activités de clôture des tests.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Sur quoi consiste l’activité de planification des tests?

A

Définir les objectifs du test, puis à sélectionner une approche qui permette d’atteindre au mieux les objectifs dans le cadre des contraintes imposées par le contexte
général.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Que fait on en Pilotage et contrôle des tests?

A

Le pilotage des tests implique la vérification continue de toutes les activités de test et la comparaison des progrès réels par rapport au plan. Le contrôle des tests consiste à
prendre les mesures nécessaires pour atteindre les objectifs du test

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Que fait on en analyse de test?

A

L’analyse de la base de test pour identifier les caractéristiques testables et pour définir et prioriser les conditions de test associées, ainsi que les risques et les niveaux de risque correspondants. La base de test et les objets de test sont également évalués pour identifier les défauts qu’ils peuvent contenir et pour évaluer leur testabilité. L’analyse de test est souvent
soutenue par l’utilisation de techniques de test. L’analyse de test répond à la question “que tester ?” en termes de critères de couverture mesurables.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

C quoi le but de la conception des tests?

A

La conception des tests comprend l’élaboration des conditions de test dans des cas de test et autres
éléments du testware (par exemple, chartes de test). Cette activité implique souvent l’identification
d’éléments de couverture, qui servent de guide pour spécifier les entrées des cas de test. Les techniques
de test peuvent être utilisées pour soutenir cette activité. La conception des tests comprend également la définition des exigences en matière de données de test, la conception de l’environnement de test et l’identification de toute autre infrastructure et de tout autre outil nécessaires. La
conception des tests répond à la question “comment tester ?”.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Que fait-on en implémentation des tests?

A

L’implémentation des tests comprend la création ou l’acquisition du testware nécessaire à l’exécution
des tests (par exemple, les données de test). Les cas de test peuvent être organisés en procédures de
test et sont souvent assemblés en suites de tests. Des scripts de test manuels et automatisés sont créés.
Les procédures de test sont classées par ordre de priorité et organisées dans un calendrier d’exécution
des tests pour une exécution efficiente des tests. L’environnement de test est construit
et l’on vérifie qu’il est correctement configuré.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Que fait on en exécution de test?

A

L’exécution des tests comprend l’exécution des tests conformément au calendrier d’exécution des tests.
L’exécution des tests peut être manuelle ou automatisée. L’exécution des tests peut prendre de
nombreuses formes, notamment celle du test en continu ou de sessions de test en binôme. Les résultats
réels des tests sont comparés aux résultats attendus. Les résultats des tests sont enregistrés. Les
anomalies sont analysées afin d’en identifier les causes probables. Cette analyse nous permet de
signaler les anomalies sur la base des défaillances observées.

17
Q

Prq faire des activités de cloture de test?

A

Les activités de clôture des tests ont généralement lieu lors des jalons du projet (par exemple, la
livraison, la fin de l’itération, la clôture d’un niveau de test) pour tous les défauts non résolus, les
demandes de changement ou les éléments créés dans le Product Backlog. Le testware qui pourrait être
utile à l’avenir est identifié et archivé ou remis aux équipes appropriées. L’environnement de test est
arrêté dans un état convenu. Les activités de test sont analysées afin d’identifier les leçons apprises et
les améliorations à apporter aux futures itérations, versions ou projets. Un rapport
d’achèvement des tests est créé et communiqué aux parties prenantes.

18
Q

Sur quels facteurs dépend la manière dont les tests sont effectués?

A
  • Parties prenantes (besoins, attentes, exigences, volonté de coopérer, etc.)
  • Membres de l’équipe (compétences, connaissances, niveau d’expérience, disponibilité, besoins
    de formation, etc.).
  • Domaine d’activité (criticité de l’objet de test, risques identifiés, besoins métier, réglementations
    légales spécifiques, etc.).
  • Facteurs techniques (type de logiciel, architecture du produit, technologie utilisée, etc.).
  • Contraintes du projet (portée, temps, budget, ressources, etc.).
  • Facteurs organisationnels (structure organisationnelle, politiques existantes, pratiques utilisées,
    etc.).
  • Cycle de vie du développement logiciel (pratiques d’ingénierie, méthodes de développement,
    etc.).
  • Outils (disponibilité, facilité d’utilisation, conformité, etc.).

Ces facteurs auront un impact sur de
nombreuses exigences liées aux tests, notamment : la stratégie de test, les techniques de test utilisées, le degré d’automatisation des tests, le niveau de couverture requis, le niveau de détail de la documentation des tests, le reporting, etc.

19
Q

C quoi un testware?

A

Le testware désigne l’ensemble des artefacts produits et utilisés lors du processus de test d’un logiciel.
it can be : cas de test, scripts de test, données de test, outils de test…etc

20
Q

Pour chaque activité de processus de test, quel testware output peut-on avoir?

A

** Planification des tests -> plan de test (calendrier des tests, référentiel des risques et critères de
sortie)

** Pilotage et contrôle des tests -> rapports d’avancement des tests + documentation des directives de contrôle + informations sur les risques

** Analyse de test -> conditions de test ( priorisées) (par exemple, critères d’acceptation, et rapports de défauts concernant les défauts dans la base de test..

** Conception des tests -> cas de test ( priorisés), chartes de test, éléments de couverture, exigences en matière de données de test et exigences en matière d’environnement de test.

** Implémentation des tests -> procédures de test, scripts de test automatisés, suites de tests,
données de test, calendrier d’exécution des tests, et éléments de l’environnement de test(les bouchons, les pilotes, les simulateurs et les virtualisations de services).

** Exécution des tests -> logs de test et rapports de défaut

** Complétude des tests: rapport de clôture des tests, mesures à prendre pour améliorer les projets ou itérations ultérieurs, leçons apprises documentées et demandes de changement (par exemple, en tant qu’éléments du product backlog)

21
Q

Pourquoi la traçabilité entre base de test et le testware est importante?

A

Importance de la traçabilité : Pour une gestion et un contrôle efficaces des tests, il est crucial d’assurer la traçabilité entre les éléments de la base de test, le testware associé, les résultats des tests et les défauts détectés.

  • Base de test et testware :

** Base de test : Ensemble des documents et des informations sur lesquels les tests sont basés, comme les spécifications et les exigences.

** Testware : Ensemble des artefacts produits durant le test, tels que les conditions de test, les cas de test et les résultats de test.

  • Évaluation de la couverture :

Une traçabilité précise permet de mesurer la couverture des tests, c’est-à-dire de vérifier dans quelle mesure les tests couvrent les exigences spécifiées.

Les critères de couverture, définis dans la base de test, servent d’indicateurs de performance pour piloter les activités de test.

  • Exemples de traçabilité :

** Cas de test aux exigences : Vérifie que chaque exigence est couverte par un ou plusieurs cas de test.

** Résultats de test aux risques : Évalue le niveau de risque résiduel après les tests.

  • Avantages de la traçabilité :

** Impact des changements : Permet de comprendre comment les modifications affectent les tests.
** Facilitation des audits : Aide à la conformité avec les normes de gouvernance informatique.
** Rapports d’avancement et de clôture : Rend les rapports de test plus clairs en incluant le statut des éléments testés.
** Communication avec les parties prenantes : Simplifie la communication des aspects techniques des tests.
** Audits et qualité du produit : La traçabilité fournit des informations essentielles pour auditer la qualité du produit, évaluer la capacité du processus de test et suivre l’avancement du projet par rapport aux objectifs métiers.

en GROS:
La traçabilité dans le processus de test consiste à établir et à maintenir des liens clairs entre la base de test (exigences, spécifications) et le testware (cas de test, résultats), permettant ainsi de mesurer la couverture des tests, d’évaluer les risques résiduels, de faciliter les audits, et de communiquer efficacement les résultats des tests. Cette pratique est essentielle pour assurer une gestion efficace des tests et garantir que les objectifs de qualité et de projet sont atteints.

22
Q

En quoi est ce que le rôle de test manager est impliqué? et pour quelles étapes de processus de test?

A

Le rôle de test manager implique une responsabilité globale pour le processus de test, l’équipe de test et
la direction des activités de test. Le rôle de test manager est principalement axé sur les activités de
planification des tests, de pilotage et de contrôle des tests et de clôture des tests

23
Q

En quoi est ce que le rôle de testeur est impliqué? et pour quelles étapes de processus de test?

A

Le rôle de testeur implique une responsabilité globale pour l’aspect technique des tests. Le rôle de
testeur est principalement axé sur les activités d’analyse de test, de conception des tests,
d’implémentation des tests et d’exécution des tests.

24
Q

Quelles compétences sont pertinentes pour les testeurs?

A

+ Connaissance en matière de test (pour accroître l’efficacité des tests en utilisant des techniques de test).
+ Rigueur, attention, curiosité, souci du détail, méthode (pour identifier les défauts, en particulier ceux qui sont difficiles à trouver).
+ Bonne communication, écoute active, esprit d’équipe
+ Réflexion analytique, esprit critique, créativité (pour accroître l’efficacité des tests).
+ Connaissances techniques (pour accroître l’efficience des tests, i.e en utilisant les outils de test appropriés).
+ Connaissance du domaine (pour être en mesure de comprendre les utilisateurs finaux/représentants métier et de communiquer avec eux).

25
Q

C’est quoi l’approche équipe intégrée?

A
  • Pratique extraite de XP (extreme programming)
  • Approche intégrée :
    Tout membre de l’équipe peut effectuer n’importe quelle tâche et est responsable de la qualité.
    Les membres partagent le même espace de travail, physique ou virtuel, pour faciliter la communication et l’interaction.
  • Améliorations apportées par l’approche intégrée :

+ Améliore la dynamique d’équipe, la communication et la collaboration.
+ Crée une synergie en exploitant les différentes compétences au sein de l’équipe.

  • Rôle des testeurs :

+ Travaillent étroitement avec les autres membres de l’équipe pour atteindre les niveaux de qualité souhaités.

+ Collaborent avec les représentants métier pour créer des tests d’acceptation adaptés.

+Travaillent avec les développeurs pour définir la stratégie de test et les approches d’automatisation.

+ Transfèrent leurs connaissances en matière de test aux autres membres de l’équipe et influencent le développement du produit.

-Limites de l’approche intégrée :

Pas toujours appropriée, notamment dans les situations critiques pour la sécurité, où un haut niveau d’indépendance du test est nécessaire.

26
Q

C’est quoi le lien entre l’indépendance du test et efficacité des tests?

A
  • Efficacité accrue des testeurs indépendants : Les testeurs indépendants trouvent plus de défauts grâce à des biais cognitifs différents de ceux des auteurs du code.
  • Niveaux d’indépendance :
    Aucun : l’auteur teste son propre code.
    Un peu : les pairs de l’auteur testent.
    Élevée : testeurs extérieurs à l’équipe de l’auteur mais au sein de l’organisation.
    Très élevée : testeurs extérieurs à l’organisation.
  • Avantage principal : Les testeurs indépendants identifient divers types de défauts et peuvent remettre en question les hypothèses des parties prenantes.
  • Approche recommandée : Utiliser plusieurs niveaux d’indépendance pour différents types de tests (composants, systèmes, acceptation).
  • Inconvénients possibles :
    x Isolement des testeurs indépendants de l’équipe de développement.
    x Manque de collaboration et de communication.
    x Perte de responsabilité en matière de qualité par les développeurs.
    x Perception des testeurs indépendants comme goulots d’étranglement ou responsables des retards.
27
Q
A