Assurance qualité (QA) et automatisation des tests
Des tests qui trouvent les défauts avant vos clients
Stratégie de test, suites automatisées, tests de performance et de sécurité, intégrés à la chaîne de livraison.
Présentation
Les tests de non-régression manuels ralentissent chaque mise en production et laissent pourtant passer des défauts. Tester uniquement à la fin transforme de petits problèmes en problèmes tardifs et coûteux. La qualité doit être intégrée à la manière dont le logiciel est livré.
Nous rédigeons une stratégie de test adaptée à vos risques, puis nous l’automatisons : tests unitaires et d’API exécutés à chaque modification, tests de bout en bout des parcours les plus importants, et contrôles de performance, d’accessibilité et de sécurité dans la même chaîne de livraison. Les tests manuels et exploratoires demeurent, ciblés là où l’humain trouve ce que les scripts manquent.
Nous testons les intégrations avec autant de soin que les écrans. Pour les flux de paiement, bancaires et ERP, cela signifie des jeux de données de test qui couvrent les rejets et les cas limites, des bacs à sable et des simulateurs partenaires, et des contrôles qui vérifient que les totaux se rapprochent à la fin.
Ce que nous livrons
Stratégie de test
Quels risques sont testés, à quel niveau, par qui et à quelle fréquence, validé avec vos responsables produit et ingénierie.
Suites de tests automatisés
Des tests unitaires, d’API et de bout en bout dans votre dépôt, lisibles par vos ingénieurs et exécutés à chaque modification.
Seuils de qualité dans la chaîne de livraison
Des tests, une couverture et des analyses qui bloquent une mise en production en cas d’échec, avec des résultats visibles de tous.
Données et environnements de test
Des données de test réalistes et anonymisées, et des environnements réinitialisables, pour que les tests donnent toujours le même résultat.
Résultats des tests de performance
Des tests de charge et de stress des parcours critiques avec k6 ou JMeter, qui montrent où et pourquoi le système ralentit.
Résultats des tests de sécurité
Des analyses automatisées avec OWASP ZAP et des contrôles des dépendances, avec des constats classés et suivis jusqu’à leur clôture.
Contrôles d’accessibilité
Des contrôles automatisés avec axe-core et des tests manuels au regard du niveau AA des WCAG 2.2 pour les parcours clés.
Suivi de la qualité
Tendances des défauts, résultats des tests et état de préparation de chaque version, réunis en un seul endroit.
Notre méthode
- 01
Évaluer
Nous examinons vos tests actuels, vos défauts récents et votre processus de mise en production, et nous identifions où les problèmes passent au travers.
- 02
Planifier
Nous rédigeons la stratégie de test et définissons avec vous les parcours et les risques à automatiser en priorité.
- 03
Automatiser
Nous construisons les suites et les données de test, et nous les intégrons à votre chaîne de livraison comme seuils de qualité.
- 04
Étendre
Nous ajoutons des tests de performance, de sécurité et d’accessibilité, ainsi que des tests d’intégration sur les bacs à sable des partenaires.
- 05
Maintenir les suites en bon état
Nous corrigeons rapidement les tests instables, retirons ceux qui n’apportent plus de valeur et formons votre équipe pour qu’elle s’approprie les suites.
Technologies
- DevOps et observabilité
- GitHub Actions
- GitLab CI/CD
- Tests
- Playwright
- Cypress
- Selenium
- Appium
- Jest
- JUnit
- pytest
- k6
- Apache JMeter
- Postman
- OWASP ZAP
- axe-core
- Design et accessibilité
- WCAG 2.2
Modes de collaboration
- Équipe dédiéeUne équipe complète qui travaille uniquement sur votre produit, gérée au quotidien par XSIS et dirigée par vous.
- Renfort d’équipeDes ingénieurs et des spécialistes qui intègrent votre équipe, travaillent avec vos outils et rendent compte à vos managers.
- Réalisation en mode projetXSIS réalise un périmètre convenu selon des critères d’acceptation écrits, avec un directeur de projet désigné.
Questions et réponses
Faut-il automatiser tous nos tests ?
Non. Automatisez ce qui s’exécute souvent et doit toujours donner le même résultat : tests unitaires, tests d’API et parcours de bout en bout les plus importants. Réservez l’humain aux tests exploratoires, à l’ergonomie et aux nouvelles fonctionnalités encore en évolution. Une suite plus réduite, exécutée à chaque modification et qui n’échoue jamais au hasard, vaut mieux qu’une suite volumineuse à laquelle personne ne se fie.
Lien vers cette questionQuels outils de test utilisez-vous ?
Nous utilisons les outils adaptés à votre pile technologique et à votre équipe : Playwright ou Cypress pour les tests web de bout en bout, Appium pour le mobile, Jest, JUnit ou pytest pour les tests unitaires, Postman pour les contrôles d’API, k6 ou JMeter pour la performance et OWASP ZAP pour les analyses de sécurité. Nous conservons les tests dans votre dépôt et, autant que possible, dans le langage de vos ingénieurs, afin qu’ils puissent les maintenir.
Lien vers cette questionQu’est-ce qui détermine le coût de l’automatisation des tests ?
Le nombre d’applications et de parcours dans le périmètre, la testabilité du code actuel, l’état de vos données et environnements de test, et le nombre d’intégrations à simuler. Une application ancienne sans points d’ancrage stables pour les tests demande plus d’effort qu’une application récente conçue en pensant aux tests. Nous commençons par les parcours les plus risqués, pour que la valeur arrive tôt.
Lien vers cette questionPouvez-vous travailler avec notre équipe QA existante ?
Oui. Nous rejoignons souvent une équipe QA interne pour apporter des compétences en automatisation, prendre en charge les tests de performance ou de sécurité, ou absorber une période chargée. Nous convenons de la répartition du travail, utilisons les mêmes outils et le même backlog, et formons vos testeurs pour qu’ils étendent les suites que nous construisons.
Lien vers cette questionComment testez-vous les intégrations avec les banques, les prestataires de paiement ou les ERP ?
Nous utilisons l’environnement de test ou le bac à sable du partenaire lorsqu’il existe, et des simulateurs dans le cas contraire, pour que les tests puissent s’exécuter à chaque modification sans dépendre d’un tiers. Les données de test couvrent les cas d’échec : paiements rejetés, délais dépassés, messages en double et défaillances partielles. Des contrôles de bout en bout confirment que les totaux se rapprochent d’un système à l’autre, et pas seulement que chaque appel a renvoyé un succès.
Lien vers cette questionQue se passe-t-il lorsque des tests automatisés deviennent peu fiables ?
Nous traitons un test peu fiable comme un défaut. Il est mis de côté pour ne pas bloquer les mises en production, sa cause est identifiée et corrigée, puis il est réintégré. Les causes courantes sont des données de test partagées, des hypothèses de synchronisation et des environnements instables. Nous suivons la stabilité des tests dans le temps, pour que la suite reste digne de la confiance de votre équipe.
Lien vers cette questionComment suivrons-nous l’avancement ?
Vous disposez d’un directeur de projet désigné et d’un rythme régulier : une planification au début de chaque itération, une démonstration du logiciel fonctionnel à la fin, et un bref compte rendu écrit sur l’avancement, les risques et les décisions. Vous pouvez consulter à tout moment le backlog, le dépôt de code et les résultats des tests. Des comités de pilotage avec vos sponsors se tiennent à la fréquence de votre choix.
Lien vers cette questionDites-nous ce que vous devez construire ou connecter.
Décrivez les systèmes, le calendrier et les contraintes. Les ingénieurs concernés prennent ensuite le relais.
- Notre équipe vous appellera dans les 24 heures, sur le créneau de votre choix
- Notre équipe est disponible 24 h/24, 7 j/7