Dans ce guide
Une seule liste pour toute l'app, dans l'ordre où l'utilisateur la découvre. Chaque contrôle a une raison et un moyen de vérifier. Les étiquettes de domaine permettent de filtrer : [INSTALL], [ONBOARD], [FLOW], [ERROR], [DEVICE], [PRIVACY], [WORDING], [RELEASE]. Pour approfondir un domaine, suis les liens à la fin.
Utilise un vrai appareil si tu peux. Coche un contrôle seulement quand tu as vu le résultat, pas quand tu le supposes.
Installation et premier lancement
- [INSTALL] L'installation propre fonctionne. Pourquoi : la première impression se joue ici. Contrôle : supprime l'app, installe le build, ouvre-la.
- [INSTALL] La mise à jour par-dessus une ancienne version conserve les données. Pourquoi : les utilisateurs qui perdent leurs données perdent confiance très vite. Contrôle : installe le build précédent, ajoute des données, installe le nouveau.
- [INSTALL] La désinstallation et la réinstallation se comportent correctement. Pourquoi : des données locales périmées provoquent des états bizarres. Contrôle : réinstalle et reconnecte-toi.
- [INSTALL] L'app démarre sans réseau. Pourquoi : les plantages au lancement dus à des données manquantes sont fréquents. Contrôle : mode avion, démarrage à froid.
- [INSTALL] Le temps de lancement semble acceptable. Pourquoi : un démarrage lent fait fermer l'app. Contrôle : chronomètre un démarrage à froid sur ton appareil le plus ancien.
Onboarding et compte
- [ONBOARD] Chaque écran d'onboarding peut être terminé et passé. Pourquoi : un premier lancement bloqué met fin à la session. Contrôle : enchaîne les écrans de deux façons.
- [ONBOARD] Le retour en arrière fonctionne dans l'onboarding. Pourquoi : les utilisateurs se trompent d'écran. Contrôle : reviens en arrière à chaque étape.
- [ONBOARD] Les demandes d'autorisation apparaissent quand elles sont nécessaires, pas toutes d'un coup. Pourquoi : un refus précoce nuit aux fonctions suivantes. Contrôle : au premier lancement, note quand chaque demande s'affiche.
- [ONBOARD] Un refus d'autorisation a une solution de repli utilisable. Pourquoi : le refus est fréquent. Contrôle : refuse chaque autorisation, puis utilise la fonction.
- [ONBOARD] Un onboarding interrompu reprend. Pourquoi : les utilisateurs reçoivent des appels et changent d'app. Contrôle : ferme l'app en pleine étape et rouvre-la.
- [FLOW] L'inscription accepte les saisies valides et refuse clairement les saisies invalides. Pourquoi : l'inscription est la première barrière. Contrôle : voir la checklist d'inscription.
- [FLOW] Connexion, mauvais mot de passe et réinitialisation fonctionnent. Pourquoi : les blocages génèrent du travail pour le support. Contrôle : voir la checklist de connexion.
- [FLOW] La déconnexion efface la session. Pourquoi : appareils partagés. Contrôle : déconnecte-toi, appuie sur retour, redémarre.
- [FLOW] Une session expirée renvoie vers la connexion sans perte de travail. Pourquoi : les jetons expirent. Contrôle : attends l'expiration ou invalide un jeton.
Parcours principaux
- [FLOW] La tâche principale fonctionne du début à la fin. Pourquoi : c'est la raison d'être de l'app. Contrôle : fais-la en tant que nouvel utilisateur, sans raccourcis.
- [FLOW] Chaque formulaire valide champ par champ et à l'envoi. Pourquoi : sinon de mauvaises données entrent en silence. Contrôle : vide, trop long, mauvais format.
- [FLOW] Les listes, la recherche et les filtres renvoient les bons résultats. Pourquoi : de faux résultats ressemblent à une app cassée. Contrôle : données connues, aucun résultat, beaucoup de résultats.
- [FLOW] Créer, modifier et supprimer met à jour partout. Pourquoi : les écrans périmés troublent. Contrôle : modifie un élément, ouvre chaque écran qui l'affiche.
- [FLOW] Le bouton retour et les gestes se comportent de façon cohérente. Pourquoi : les sorties inattendues agacent. Contrôle : reviens en arrière depuis chaque écran.
- [FLOW] Les réglages s'enregistrent et s'appliquent. Pourquoi : des réglages qui ne tiennent pas donnent une impression de bug. Contrôle : modifie, ferme, rouvre.
- [FLOW] Achat réussi, annulé, échoué et restauration fonctionnent. Pourquoi : les bugs de paiement coûtent le plus cher. Contrôle : voir la checklist de paiement.
- [FLOW] Envois, appareil photo et fichiers gèrent les cas volumineux et refusés. Pourquoi : c'est là que la mémoire vient à manquer. Contrôle : gros fichier, annulation en plein envoi.
- [FLOW] Les liens profonds et les liens partagés ouvrent le bon écran. Pourquoi : des liens cassés gâchent les campagnes. Contrôle : touche des liens app fermée, puis ouverte.
- [FLOW] Les notifications arrivent et ouvrent le bon endroit. Pourquoi : elles sont un point de retour dans l'app. Contrôle : envoie-en une, touche-la, app fermée.
- [FLOW] La suppression de compte fonctionne et explique ce qui se passe. Pourquoi : les utilisateurs l'attendent. Contrôle : supprime un compte de test et tente de te connecter.
États et erreurs
- [ERROR] Les états vides expliquent quoi faire ensuite. Pourquoi : un écran blanc paraît cassé. Contrôle : nouveau compte, chaque liste.
- [ERROR] Les états de chargement apparaissent puis se terminent. Pourquoi : les spinners sans fin font désinstaller. Contrôle : ralentis le réseau.
- [ERROR] Les erreurs serveur affichent un message utile et un nouvel essai. Pourquoi : les erreurs brutes effraient. Contrôle : bloque le serveur ou fais-le renvoyer une erreur.
- [ERROR] Le mode hors ligne échoue proprement. Pourquoi : les téléphones perdent le signal. Contrôle : change de réseau et coupe la connexion en pleine action.
- [ERROR] Les doubles appuis ne créent pas de doublons. Pourquoi : les utilisateurs impatients tapent deux fois. Contrôle : tape rapidement sur les boutons d'envoi et d'achat.
- [ERROR] Les messages d'erreur indiquent quoi corriger. Pourquoi : « Une erreur est survenue » n'aide personne. Contrôle : lis chaque message à voix haute.
- [ERROR] Les textes longs, les emojis et les saisies non latines ne cassent pas la mise en page. Pourquoi : les vrais noms varient. Contrôle : colle des chaînes longues et inhabituelles.
Appareils et environnement
- [DEVICE] Les plus petits et les plus grands écrans pris en charge s'affichent correctement. Pourquoi : des boutons coupés bloquent les parcours. Contrôle : teste les deux.
- [DEVICE] La plus ancienne version d'OS prise en charge fait tourner l'app. Pourquoi : les plantages y passent inaperçus pour les développeurs. Contrôle : installe-la dessus.
- [DEVICE] Le mode portrait et paysage se comportent comme prévu. Pourquoi : la rotation recharge l'état. Contrôle : tourne l'appareil en plein parcours.
- [DEVICE] Le mode sombre et les grands textes restent lisibles. Pourquoi : accessibilité et confort. Contrôle : active les deux dans les réglages système.
- [DEVICE] Les interruptions (appel, alarme, changement d'app) se rétablissent. Pourquoi : elles arrivent tous les jours. Contrôle : interromps chaque parcours clé.
- [DEVICE] La batterie faible et le stockage saturé ne font pas planter l'app. Pourquoi : les vrais appareils ne sont jamais idéaux. Contrôle : mode économie d'énergie ; remplis le stockage si tu peux.
- [DEVICE] Les formats de date, de fuseau horaire et de nombre sont corrects. Pourquoi : des dates fausses détruisent la confiance. Contrôle : change la région et le fuseau horaire.
- [DEVICE] Le lecteur d'écran et les zones tactiles fonctionnent pour l'essentiel. Pourquoi : certains utilisateurs en dépendent. Contrôle : active le lecteur d'écran et termine un parcours.
Confidentialité et rédaction
- [PRIVACY] L'app ne demande que les autorisations qu'elle utilise. Pourquoi : des demandes en trop réduisent la confiance. Contrôle : compare la liste des autorisations aux fonctions.
- [PRIVACY] Les choix de consentement sont respectés après un redémarrage. Pourquoi : un « non » mémorisé doit rester un « non ». Contrôle : refuse, redémarre, vérifie.
- [PRIVACY] La politique de confidentialité et les réponses sur les données du store correspondent à l'app. Pourquoi : les écarts provoquent des refus et des plaintes. Contrôle : liste les SDK et les données, puis compare. Ce n'est pas un avis juridique ; vérifie les règles actuelles du store.
- [PRIVACY] Aucun secret ni donnée de test dans les logs et les captures d'écran. Pourquoi : les fuites arrivent dans les builds de débogage. Contrôle : relis les logs et les images du store.
- [WORDING] Le texte ne contient ni fautes de frappe ni placeholders oubliés. Pourquoi : un « Lorem ipsum » en production se voit. Contrôle : lis chaque écran.
Publication
- [RELEASE] Le build testé est celui que tu soumets. Pourquoi : les recompilations diffèrent. Contrôle : compare les numéros de version et de build.
- [RELEASE] Le rapport de plantages est activé et reçoit un plantage de test. Pourquoi : on ne corrige pas ce qu'on ne voit pas. Contrôle : déclenche-en un et retrouve-le.
- [RELEASE] Les problèmes connus sont notés et acceptés. Pourquoi : les surprises font plus de mal que les défauts connus. Contrôle : liste les bugs ouverts, décide pour chacun.
- [RELEASE] Il existe un plan de retour arrière ou de correctif. Pourquoi : le premier mauvais jour demande un plan. Contrôle : écris qui fait quoi.
- [RELEASE] Quelqu'un extérieur au projet a terminé le parcours principal. Pourquoi : tu ne vois pas tes propres angles morts. Contrôle : observe-le ou demande un retour structuré.
Aller plus loin
- Hub : Hub de la checklist de test d'app mobile
- Checklist de test du parcours d'inscription
- Checklist de test de connexion et de mot de passe oublié
Le contrôle 50 est celui où AppReviewX t'aide : des retours privés et structurés d'autres développeurs ; un retour que tu rédiges rapporte un crédit. Découvre comment fonctionne AppReviewX.