Vous êtes sur la page 1sur 6

Zied Hannachi

Préparation – Entretien (Test Manuel et


Automatique)
• Qu'est-ce qu'une stratégie de tests ?
La Stratégie de test décrit les méthodes de test générales et indépendantes des
projets au sein de l’organisation. C’est un document de haut niveau qui fournit une
description générale du processus de test.
Une stratégie de test a pour but de définir l’ensemble des niveaux de test et pour
chaque niveau, les objectifs, les responsabilités, les tâches principales, les pratiques,
les critères d’entrées et de sortie ainsi que les risques…
• Qu'est-ce qu'une stratégie de tests automatisés ?
La stratégie de test d'automatisation définit un cadre pour les scripts automatisés
réutilisables et l'approche prévue par le département QA Mentor Automation Expert.
Il décrit le plan global des tests d'automatisation afin de garantir un retour sur
investissement plus élevé, une plus grande couverture des tests et une fiabilité
accrue des tests avec une répétition de qualité. Cette clarification du processus peut
être réutilisée sur plusieurs projets et contient des informations complètes
concernant les applications utilisées, les phases de test, l'environnement de test et
les rôles et responsabilités de tous les participants.
• Qu'est-ce que la pyramide de Mike Cohn ?
La pyramide des tests est un modèle présenté par Mike Cohn qui est un des
fondateurs du « Scrum Alliance ». La pyramide des tests peut aider les développeurs
et les testeurs à créer des logiciels de haute qualité. Cela réduit le temps nécessaire
aux développeurs pour identifier si un changement qu’ils ont introduit impacte le
fonctionnement du logiciel. Cela peut également être utile pour créer une suite de
tests plus fiable. Il décrit également la séquence et la fréquence de ces tests.
Le but est d’offrir un retour immédiat pour s’assurer que les changements de code ne
perturbent pas les fonctionnalités existantes.
Cette pyramide des tests est définie sur quatre niveaux :
- Tests unitaires
- Tests d’intégration
- Tests système
- Tests d’acceptation
4) Quels éléments trouve-t-on dans un cas de test ?
• Choisissez un titre explicite qui décrit le cas de test

• Résumez le cas de test en quelques lignes pour aider le testeur à démarrer

• Spécifiez combien de temps doit durer pour le test. Ce point est particulièrement
important si le cas de test doit être exécuté sans interruption sur une certaine
durée.

• Si nécessaire, ajoutez des informations de contexte pour chaque étape. Décrivez


exactement ce que le testeur doit trouver lors de l’étape suivante et quel sera
l’effet produit.

• Citez bien les fonctionnalités clés du produit qui doivent fonctionner à 100%.

• Élaborez un cas de test intuitif et cohérent avec le produit. Mettez-vous dans la


position de l’utilisateur : que fait cette fonctionnalité d’habitude ? Est-ce que le
déroulement du cas de test reflète de manière réaliste le parcours client ou
l’expérience utilisateur prévus par la suite ?

1
Zied Hannachi

• Regroupez toutes les données de test dans le cas de test et associez des données
de test spécifiques à chaque étape individuelle. Cela permettra d’éviter toute
confusion et tout aller-retour du testeur entre les étapes. Laissez le testeur se
focaliser sur l’exécution chronologique du cas de test.

• Important : les étapes individuelles du cas de test et les résultats attendus


doivent être écrits de manière claire et concise. Il vaut mieux ajouter une étape
supplémentaire que surcharger inutilement une étape en informations.
• Quels éléments trouve-t-on dans un ticket ?
• Résumé
• Environnement
• Devices impactés
• Description du comportement observé
• Description du comportement attendu
• Reproductibilité
• Gravité
• Type d’incident
• Priorité
• Pièce jointes
• Pourquoi automatiser des cas de tests ?

- Réduction du temps nécessaire à l’exécution des tests

- Réduction des erreurs humaines

- Réduction des coûts alloués aux tests

- Augmentation de la confiance envers le produit

- Exécution de tests impossibles à jouer manuellement

- Gain de valeur pour les testeurs humain

- Exécution des tests plus tôt

- Tester en-dehors des heures de travail !

2
Zied Hannachi

- Augmentation de la fréquence d’exécution des tests

- Création d’une documentation vivante

7) Quelle est la différence entre un test automatisé et un test industrialisé ?


L’industrialisation des tests va permettre de programmer l’exécution périodique des
tests avec afin de réaliser le processus d’intégration continu en les exécutant à chaque
build. Il serait purement impossible d’imaginer un déploiement d’une campagne de test
sur autant de support et aussi régulièrement que cela avec des scénarios simplement
automatisés.
8) Qu'est-ce que l'intégration continue ?
L'intégration continue (CI) désigne la pratique qui consiste à automatiser l'intégration
des changements de code réalisés par plusieurs contributeurs dans un seul et même
projet de développement. Il s'agit d'une bonne pratique DevOps principale, permettant
aux développeurs de logiciels de merger fréquemment des changements de code dans un
dépôt central où les builds et les tests s'exécutent ensuite. Des outils automatisés sont
utilisés pour affirmer l'exactitude du nouveau code avant son intégration.
9) Comment choisir ce qui doit être automatisé ?
• Gain de temps sur l’exécution des tests
• Multiplication des exécutions des tests de régression (ou vitaux)
• Réduire le coût des tests
• Implémenter une démarche d’intégration continue
10) Qu'est-ce que le déploiement continue ?
Le déploiement continu (CD) est la suite de l’intégration continue. Une fois que les tests sont
validés sur l’environnement de dev, il faut mettre en production. Le déploiement continu
consiste donc à automatiser les actions de déploiements qui étaient auparavant réalisées
manuellement.
11) Citer plusieurs outils utilisés pour faire des tests Front ?
- Selenium
- Ranorex
- TestComplete
- Protractor
- Cypress
12) Qu'est-ce qu'un Front responsive ?
Le Responsive Design adapte la mise en page d'un site en fonction de la résolution
d'écran.

13) Qu'est-ce que l'UX d'un site ?


L'UX désigne la qualité globale des interactions entre l'utilisateur et le site ou l'appli.
Elle est déterminée à la fois par des aspects techniques, pratiques et émotionnels. La
qualité de l'expérience utilisateur sur un site nécessite un important travail de design.

14) A quoi sert un Cookie dans le web ?


Les cookies ont de multiples usages : ils peuvent servir à mémoriser votre identifiant
client auprès d'un site marchand, le contenu courant de votre panier d'achat, la langue
d'affichage de la page web, un identifiant permettant de tracer votre navigation à des
fins statistiques ou publicitaires, etc.
15) Qu'est-ce qu'un test de Charge / Stress test ?
Test de charge : un type de test concerné par la mesure du comportement d‘un
3
Zied Hannachi

composant ou système avec une charge croissante, p.ex. nombre d‘utilisateurs et/ou
nombre de transactions en parallèle pour déterminer quelle charge peut être gérée par le
composant ou système
Le test de charge recherche la limite des capacités de l’application. En augmentant
graduellement la charge à laquelle est soumise l’application, il est possible d’identifier
des paliers. On peut considérer le test de charge comme un pré-requis au test de stress.

Le test de charge répond à la question : quelle est la charge maximale supportée par
l’application ?

Test de stress : Un type de test de performance mené pour évaluer un système ou


composant à ou au-delà des limites de sa charge de travail anticipées ou spécifiées, ou
avec une disponibilité réduite de ressources telles que l‘accès mémoire ou serveurs
[d‘après IEEE 610].
Le test de stress permet d’anticiper les performances d’une application en contexte
exceptionnel (afflux non anticipé d’utilisateurs, panne). Un cas d’école : l’explosion des
visites sur un site de e-commerce le premier jour des soldes. On peut considérer le test
de stress comme une catégorie de test de robustesse.

Le test de stress répond à la question : comment réagit l’application lorsqu’elle est


soumise à sa charge maximale ?

16) Qu'est-ce que l'analyse statique du code ?


L'analyse de code statique (ou analyse statique) est une activité de test de logiciel dans
le développement de logiciels, dans laquelle le code source est analysé pour des
constructions connues pour être associées à des erreurs logicielles ou des vulnérabilités
de sécurité. Lorsqu'une construction à haut risque est détectée, l'outil d'analyse statique
signale une violation que le développeur doit afficher et corriger.

17) Qu'est-ce que le BDD ?


Le Behavior-Driven Development, ou BDD, est une méthode de développement logicielle
dérivée du Test-Driven Development – TDD. Elle incite à la collaboration des différentes
parties prenantes au projet logicielle, équipes de développement, qualification et
management en instaurant que le comportement d’une fonctionnalité sera décrit par des
phrases basées sur un canevas composé de mots clés du langage courant.
La communication est ainsi facilitée entre les équipes et évite des incompréhensions
inhérentes à des parties d’environnements différents.

18) Qu'est-ce que le Shift Left testing ?


Shift left testing signifie faire venir la partie test dans la branche gauche du cycle en V.
Plus concrètement c’est commencer le test le plus tôt possible dans le processus projet.
19) Qu'est-ce que l'atelier des "3 amigos"
Les 3 amigos est une cérémonie qui peut se rajouter au sein d'une équipe scrum pour
écrire des tests fonctionnels solides.
20) A quoi sert cet atelier ?
Il permet de bien cadrer la démarche tout en permettant à chacun des participants
d’exprimer son point de vue.

• Le Product Owner (PO) va présenter le besoin, décrire l’attente utilisateur,


pointer les impacts business et lister les règles métiers.
• Le développeur va identifier les briques de code impactées, soulever les
problèmes techniques et orienter ainsi les tests de non régression (TNR).
• Le QA Agile va identifier les jeux de données nécessaires, soulever les problèmes
fonctionnels et anticiper sa stratégie de test en proposant des scénarios de test
qui valideront les critères d’acceptation décidés en séance.

4
Zied Hannachi

21) Quels indicateurs (KPI) mettre en place pour optimiser la qualité des tests ?

Indicateurs liés aux anomalies

KPI associés :

~ Anomalies détectées et confirmées / Anomalies non détectées

~ Anomalies corrigées / Anomalies non résolues

Indicateurs liés à la complétude des tests

KPI associé :

~ Couverture du code

Indicateurs liés à la capacité d’exécution des tests

Pas de KPI ici, ce sont des indicateurs fortement influencés par les développeurs et le
contexte (si tous les testeurs sont malades, pas de test)
• Quantité d’exécution cumulée

• Nombre de retests

• Quantité de régressions

Indicateurs liés au patrimoine de tests

Pas de KPI, ce sont des indicateurs sur les tests, pas de quoi soulever la coupe !
• Taux d’automatisation des tests

• Tests sans anomalie

• Volumétrie des tests

• Diversification des tests

Indicateurs liés aux coûts des tests :

Pas de KPI, mais ces indicateurs sont comme le compte-tours du moteur


• Charge de test

• Charge d’automatisation

• Coût interne d’une défaillance

5
Zied Hannachi

• Coût de détection
22) Faites-vous de la veille sur l'activité de test (blog, site, webinar etc) ?
- Blog et Article de « Zied Hannachi » sur Linkedin
- Site ALL4TEST (Webinar, articles)

23) Qu'est-ce qu'un plan de tests ?
Un plan de tests (de niveau et maître) doit répondre à différentes interrogations :

• Pourquoi tester ? Il convient ici d’identifier et de lister les objectifs à


atteindre.
• Que tester ? Ce point doit préciser le périmètre de l’activité de recette du
projet et mentionner les éléments qui sont à tester et ceux qui ne le sont pas
(en précisant, dans ce second cas pourquoi ils sont exclus du champ de
tests).
• Comment tester ? La réponse à cette interrogation se décompose, en
fonction des objectifs des tests, comme suit :
• Spécifier les niveaux, types et méthodes de tests (cas de tests)
• Définir les ressources matérielles adéquats (configurations matérielles,
logicielles, outils de production…)
• Qui mène les tests ? Ce point doit identifier les rôles et responsabilités de
chacun (Test Manager, Testeur, Métiers, Développeurs).
• Quel est le calendrier des tests ? Soit le planning lié à chaque niveau (plan
de tests de niveau) et au projet global (plan de tests maître).
• Quels sont les livrables ? Le plan de tests maître doit lister les différents
plans de tests de niveau ; ces derniers mentionnant quant à eux les cas,
scripts, données et rapports de tests.

Vous aimerez peut-être aussi