Pour comprendre ce qu’est une App Factory, pensez au mot « multi ». Une App Factory est une fonction de développement multidisciplinaire conçue pour rassembler plusieurs parties de l’entreprise afin de créer une multitude de projets.
Qu'elle soit centralisée ou non, l'App Factory a des dénominateurs communs. L'un de ces principaux points communs que chaque App Factory doit aborder est l'assurance qualité. Une équipe d'assurance qualité s'assure que chaque projet, quelle que soit l'unité commerciale ou la discipline, répond aux normes de conformité, d'image de marque et de performance de l'organisation.
Vous êtes curieux de savoir comment mettre en œuvre au mieux l'assurance qualité dans votre App Factory ? Prenez exemple sur nous. Mendix, nous exploitons notre propre Mendix App Factory. Voici comment nous abordons l'assurance qualité avec la nôtre.
Qu'est-ce que Mx AppFactory ?
Mx AppFactory est une unité interne de Mendix qui crée des applications pour Mendix au Mendix. Par conséquent, nous disposons d'équipes de développement multidisciplinaires travaillant sur une multitude de projets pour différents départements et parties prenantes au sein de Mendix et Siemens.
À propos de l'équipe qualité
L'équipe qualité est un accélérateur interfonctionnel qui contribue à améliorer la qualité des livrables de l'équipe Mx AppFactory. Créée en décembre 2020, l'équipe est passée d'un seul membre à une équipe de quatre experts qualité. L'équipe aborde la ligne d'usine avec une déclaration claire : « La qualité est la responsabilité de toute l’équipe. » Le ingénieur d'essai agit comme un Expert qualité guider et piloter des activités de qualité au sein de l'équipe.
Notre mission
- Pour permettre aux équipes d'AppFactory de fournir les meilleurs logiciels de leur catégorie et d'être de véritables ambassadeurs de la qualité au sein de Mendix et ses clients.
Comment nous menons notre mission
Nous utilisons la roue ci-dessous pour nous aider à garantir la qualité selon les lignes d'AppFactory.

Évaluation de la qualité
Dans le cadre de la préparation d'un nouveau projet, nous devons comprendre les aspects techniques et fonctionnels du produit en cours de construction. L'étape suivante consiste à évaluer le projet à l'aide des informations que nous avons recueillies et à en déduire les activités de qualité requises pour le projet. Pour évaluer ces projets, nous avons défini une simple liste de contrôle que les équipes peuvent remplir. Ces réponses seront spécifiques aux besoins et à la portée de leur projet.
Principaux domaines d’intérêt de la liste de contrôle d’évaluation :
- Utilisateurs finaux/Personas utilisant l'application
- Durée du projet
- Connaissances de l'équipe sur le domaine et la technologie
- Aspects techniques impliqués dans le projet
- Type et qualité des données traitées dans l'application
- Aspects non fonctionnels de l'application (exemple : performances, sécurité, etc.)
- Activités génériques liées à la qualité, communes à tous les projets
Les résultats de l’évaluation sont documentés et utilisés dans les étapes ultérieures du projet.
Stratégie Qualité
À la suite de l’évaluation, une stratégie de qualité de haut niveau est définie, couvrant les aspects suivants.
- Le soutien nécessaire des experts de qualité dans le projet
- Personas à prendre en compte lors des tests
- Types de tests nécessaires (API/Web/Natif)
- Outils pour vérifier la qualité du code, les vulnérabilités de sécurité et d'autres aspects
- Un effort d'automatisation des tests est nécessaire
- Des contrôles de qualité des données sont nécessaires
- Des tests non fonctionnels (exemples : tests de performance, de sécurité, etc.) sont nécessaires
- Un effort général de test est nécessaire
Cette stratégie qualité est un document vivant qui évolue tout au long du cycle de vie du projet.
Outils de qualité du code
En fonction de la stratégie définie, des outils sont utilisés pour surveiller et valider la qualité du code. Des experts qualité facilitent la mise en place et la mise en œuvre de ces outils.
Vous trouverez ci-dessous les outils que nous utilisons principalement :
- ACR – Outil de révision automatique de code pour Mendix projets
- Snyk – Outil d’analyse des dépendances (bibliothèques tierces) dans Mendix projet pour les vulnérabilités connues et les éventuelles réserves de licence
- Véracode – Outil de numérisation Mendix code d'identification des risques et des vulnérabilités
Ingénierie de test
Dans le cadre de la stratégie qualité, les types et le niveau de tests nécessaires sont également définis. Grâce à ces informations, l'expert qualité participe à la mise en place et à la conduite de diverses activités de test au cours du cycle de développement.
Pendant la définition et le développement de l'histoire
Certaines activités réalisées au cours de cette phase sont :
- Affinement de l'histoire pour valider la testabilité de l'histoire et ajouter des notes de testeur
- Révision des tests unitaires développés par l'équipe
- Révision et validation des critères d'acceptation des histoires (certaines équipes gèrent également les tests dans Jira X-Ray pour référence)
- S'assurer que les éléments de définition terminés sont fermés avant de déplacer les histoires vers OK
Validations avant publication
Certaines activités réalisées au cours de cette phase sont :
- Valider que toutes les fonctionnalités ajoutées pour la version fonctionnent de bout en bout
- La validation des fonctionnalités existantes n'est pas impactée (tests de régression)
- Mettre en œuvre des tests non fonctionnels (cela inclut les tests de performance, de pénétration, etc.) selon les exigences du projet
- S'assurer que la définition de « terminé » de la version est respectée.
Validations post-lancement et suivi de production
L'équipe met en place des tests dans l'environnement de production, afin que l'application puisse être validée après le déploiement. Les tâches de validation comprennent :
- Validation du fonctionnement des nouvelles fonctionnalités ajoutées pour la version après le déploiement
- Exemples de tests de fumée pour valider que les fonctionnalités principales de l'application fonctionnent comme prévu
De plus, une surveillance peut être configurée pour vérifier :
- Utilisation de l'application
- La performance des applications
- Qualité des candidatures
- Valeur commerciale de l'application
Test Automation
L'automatisation des tests est effectuée en fonction des besoins du projet.
- Pour les applications impliquant des API REST, les tests sont automatisés lors du développement des histoires.
- Pour les applications sans API, les tests fonctionnels de base sont automatisés au niveau de l'interface utilisateur. Cela n'est recommandé que lorsque l'interface utilisateur de l'application est testée manuellement et est stable (aucun changement majeur n'est prévu).
Tous les tests d'automatisation sont exécutés dans des pipelines Bitbucket.
Les outils/framework que nous utilisons pour l'automatisation des tests sont :
- Facteur pour l'automatisation des tests API
- Cadre robotique pour l'automatisation des tests Web (niveau interface utilisateur)
Suivi des progrès
L'avancement des activités qualité est suivi et contrôlé dans un tableau de bord.

Pratiques d'excellence
Sur la base de l'expérience acquise par les membres de l'équipe lors des tests Mendix et d’autres applications, les meilleures pratiques sont définies et documentées.
Certains domaines clés mentionnés dans le document sont
- Esprit d'équipe axé sur la qualité
- Différents types de tests
- Stratégie de ramification et de test pour Mendix applications
- Bonnes pratiques en matière d'automatisation des tests
Progrès continu
En tant qu'équipe, nous croyons en l'amélioration continue en effectuant des rétrospectives et des sessions approfondies. Nous avons des synchronisations fréquentes avec d'autres départements à l'intérieur Mendix pour comprendre et échanger des idées sur la façon de travailler et adapter ce qui est le mieux pour AppFactory.
Défis
La mise en œuvre ci-dessus présente également des défis. En voici quelques-uns :
- Le membre de l'équipe qualité change sa mentalité pour devenir un expert qualité au lieu d'être un ingénieur de test traditionnel
- Inculquer un « état d’esprit de qualité » à l’ensemble de l’équipe.
- Issus d'un environnement non low-code, les experts qualité devaient comprendre comment Mendix des applications sont développées pour apporter un meilleur support aux équipes.
- Mise en œuvre de l’automatisation des tests pour les équipes qui n’ont aucune expérience préalable en matière de tests ou d’automatisation des tests.
Principaux points à retenir
Quelques points clés à retenir de notre expérience jusqu’à présent :
- Commencez par comprendre le processus de l'équipe et ses activités de qualité actuelles (chaque équipe en a une)
- La qualité des produits est une responsabilité d'équipe
- Choisissez vos outils en fonction de l'expertise et du mode de travail des équipes
- Ajoutez des activités de qualité à la définition de ce qui est fait dans les histoires et les processus de publication
- Dernier point mais très important : la mise en place d'un système de qualité nécessite de la patience et de la persévérance
Pour plus de détails et questions, veuillez me contacter : [email protected]