← QA Mobile : principes, métier et pratique

Glossaire et tables de référence — antisèche QA mobile

Toutes les tables de référence du cours en un seul endroit : QA vs QC vs Testing, niveaux de test, sévérité/priorité, outils par catégorie.

QA, QC, Testing

TermeNatureQuand
Quality Assurance (QA)Préventif, orienté processusAvant / pendant le développement
Quality Control (QC)Vérification du produit finiAprès qu’une fonctionnalité existe
TestingTechnique d’exécution, sous-ensemble du QCPendant le QC

Les 7 principes du test

#PrincipeEn bref
1Tester montre la présence de défautsJamais leur absence totale
2L’exhaustivité est impossibleIl faut prioriser par risque
3Tester tôt fait économiserShift-left testing
4Les défauts s’agglutinentConcentrer l’effort sur les zones à risque
5Le paradoxe du pesticideRéviser les tests régulièrement
6Tester dépend du contexteRigueur adaptée au risque métier
7L’absence de bug n’est pas suffisanteVerification ≠ Validation

Niveaux de test (pyramide)

NiveauPortéeVolume recommandé
UnitaireUne fonction / classe isoléeNombreux
IntégrationPlusieurs modules ensembleModéré
Système (E2E)L’app entière, conditions réellesPeu nombreux
AcceptationConformité au besoin métierPeu nombreux, ciblés

Sévérité vs priorité

AxeMesureExemple
SévéritéImpact technique du défautCrash au démarrage = sévère
PrioritéUrgence business de la correctionDéfaut visible avant une campagne = prioritaire

Spécificités mobile à tester

AxeCe qu’il faut vérifier
Fragmentation OSVersions Android/iOS supportées, surcouches constructeur
Fragmentation matérielleTailles d’écran, densités, capteurs disponibles
RéseauCoupure, reprise, mode hors-ligne
Cycle de vieForeground / background / killed / resumed
PermissionsAccordée, refusée, révoquée en cours d’usage

Types de tests non-fonctionnels

TypeVérifieOutils typiques
PerformanceVitesse, fluidité, batterie, mémoireProfileurs natifs (Android Studio, Instruments)
CompatibilitéComportement sur la matrice OS/appareilsBrowserStack, Firebase Test Lab
SécuritéChiffrement, interception réseauCharles Proxy, mitmproxy
AccessibilitéLecteurs d’écran, contrasteVoiceOver, TalkBack
Utilisabilité (UX)Clarté du parcours utilisateurTests utilisateurs, sessions exploratoires

Outils par catégorie

CatégorieOutils courants
Tracker de bugsJIRA
Gestion de cas de testGoogle Sheet (petite équipe), TestRail, Zephyr, Xray
BDD / GherkinCucumber, Behave, SpecFlow
Automatisation AndroidEspresso
Automatisation iOSXCUITest
Automatisation multiplateformeAppium
Cloud de devicesBrowserStack App Automate, Firebase Test Lab
Distribution de builds de testTestFlight (iOS), Play Console – piste interne (Android)
Interception réseauCharles Proxy, mitmproxy
Suivi de crash en productionFirebase Crashlytics

Structure d’un cas de test

ID · Titre · Préconditions · Étapes (numérotées) · Résultat attendu (vérifiable) · Priorité · Environnement.

Mots-clés Gherkin (BDD)

Mot-cléRôleExemple
FeatureLa fonctionnalité couverte par le fichier .featureFeature: Connexion à l'application
BackgroundLes Given communs à tous les scénarios du fichierBackground: Given l'app est installée
ScenarioUn exemple concret de comportement attenduScenario: Connexion valide
GivenContexte de départ (préconditions)Given l'utilisateur est déconnecté
WhenL’action déclenchée (une seule par scénario)When il tape sur « Se connecter »
ThenRésultat observable et vérifiableThen il arrive sur l'écran d'accueil
And / ButEnchaîne des lignes du même typeAnd son nom apparaît dans le profil
Scenario Outline + ExamplesUn scénario rejoué sur plusieurs jeux de donnéestable | email | message |
@tagÉtiquette pour exécuter un sous-ensemble@smoke, @regression, @android

Outils d’exécution : Cucumber (JVM/JS), Behave (Python), SpecFlow (.NET) — reliés à l’app par des step definitions (Appium, Espresso, XCUITest).

Structure d’un bug report

Titre (spécifique) · Étapes de reproduction · Résultat observé · Résultat attendu · Sévérité · Priorité · Environnement · Preuves (capture, vidéo, logs).

Voir aussi la carte du cours pour naviguer entre les leçons.