Fournir un produit de qualité pour favoriser la réussite des clients

7 minutes de lecture

SnapLogic est un service d'intégration plateforme as a service (iPaaS) qui résout les problèmes d'intégration complexes auxquels sont confrontées de nombreuses entreprises. Le site plateforme prend en charge un large éventail de besoins en matière d'intégration, notamment l'intégration d'applications, l'intégration de données, la prise en charge de modèles hybrides, le big data, la gestion des API, l'intégration B2B, et bien plus encore - le tout avec une interface utilisateur en libre-service facile à utiliser et alimentée par l'IA.

L'intégration de SnapLogic plateforme supporte plus de 500 applications. Tester l'intégration de ces applications signifie tester de nombreuses combinaisons d'entre elles, ce qui signifie également tester toutes les interactions de SnapLogic plateforme avec les technologies sous-jacentes de ces diverses applications. Pour tester ces vastes ensembles d'exigences, l'approche doit être intelligente et non exhaustive, en utilisant le bon ensemble d'outils d'automatisation et une planification de test approfondie pour atteindre la qualité souhaitée. 

En outre, ce qui différencie SnapLogic des autres plateformes d'intégration, c'est la prise en charge du modèle hybride qui inclut une couche supplémentaire du plan de données où les clients ont la possibilité de choisir entre les modèles cloud et on-prem. Cela ajoute une complexité supplémentaire à notre processus de test où QE (Quality Engineering) doit simuler des environnements clients et tester diverses configurations clients, qu'il s'agisse de proxies ou de configurations au niveau du système d'exploitation pour couvrir tous les scénarios de test.

Une attention particulière à la qualité

Une solution plateforme riche en fonctionnalités, évolutive et stable, c'est ce que nos entreprises clientes exigent de nous. Avant qu'une nouvelle fonctionnalité ne soit lancée, des tests rigoureux sont effectués pour s'assurer qu'elle répond aux normes de qualité de SnapLogic. 

Comment SnapLogic définit-il un produit de qualité ?

La qualité consiste à fournir aux clients les meilleurs logiciels, faciles à utiliser, exempts de défauts, et qui les aident à atteindre les résultats souhaités. Chez SnapLogic, les tests sont pris très au sérieux et nous y parvenons grâce à une équipe dédiée de testeurs de logiciels expérimentés qui explorent et évaluent l'application de manière cohérente et créative afin de s'assurer que la qualité du logiciel est de haut niveau avant la livraison. 

Tester en utilisant la méthodologie agile

Il existe de nombreux modèles de test différents dans l'industrie du logiciel. Certaines organisations suivent des modèles traditionnels en cascade et d'autres des modèles agiles. Chez SnapLogic, nous suivons des pratiques de test agiles en raison de leur nature adaptative et de leur meilleure prévisibilité. Les développeurs, l'équipe QE et l'équipe produit travaillent ensemble pour s'assurer que SnapLogic plateforme est le meilleur de sa catégorie. L'équipe QE est impliquée dès le début du cycle de publication et poursuit les tests de manière itérative avec l'équipe de développement. Nous pensons qu'en impliquant l'équipe d'assurance qualité dès le début du processus, tous les problèmes ou défauts sont identifiés et corrigés rapidement, dans le cadre du cycle de publication. Dans le cadre de nos mêlées quotidiennes, les responsables de produit sont en contact permanent avec les développeurs et l'équipe d'assurance qualité afin de suivre les progrès et d'identifier les risques. risques. Lorsque les risques ou les retards sont identifiés dès le départ, il est facile d'y remédier sans nuire à la qualité et à la livraison du produit. Une fois que l'équipe de test a terminé son processus de certification, le produit est approuvé et mis à disposition pour les tests bêta et enfin pour la production.

Une approche de test systématique et multicouche
Le processus de test QE de SnapLogic utilise une approche systématique et multicouche. Chaque nouvelle fonctionnalité développée suit ce modèle. Tout changement de comportement introduit dans le code peut affecter la fonctionnalité existante et faire régresser l'application. Pour identifier les problèmes de régression, nous exécutons constamment un ensemble de cas de test existants par rapport à la version modifiée tout au long du cycle de publication. Tous les défauts qui en résultent sont constamment triés et classés par ordre de priorité, ce qui permet de tenir à jour le tableau des versions. Une fois que l'application a atteint un certain niveau de stabilité, nous continuons à tester d'autres parties de l'application, comme les performances et les tests clients de bout en bout. Ces tests permettent de s'assurer qu'il n'y a pas de dégradation dans d'autres parties du système.

Chez SnapLogic, nous effectuons plusieurs types de tests :

  • Tests unitaires
  • Tests d'intégration
  • Test de fumée
  • Essais fonctionnels
  • Essais exploratoires
  • Tests de performance
  • Test de scénario client de bout en bout

Tests unitaires

Il s'agit de la partie la plus critique des tests, car elle est aussi proche que possible du code source de l'application. Les développeurs sont responsables de l'écriture de leurs propres tests unitaires et ces tests doivent être réussis avant que la construction ne soit confiée à QE. Il s'agit de tests légers qui sont exécutés très fréquemment dans le cadre du cycle de publication.

Tests d'intégration

Les tests d'intégration valident les interactions entre les différents services au sein du code de l'application. Ils interagissent au niveau de la couche API, ce qui les rend beaucoup plus rapides à exécuter que les tests d'interface utilisateur. Ces tests servent à valider rapidement la santé et la stabilité du système déployé. Tout test d'intégration qui échoue interrompt le test de l'application.

Test de fumée

Les tests de fumée portent sur les flux critiques de l'application. Il s'agit de tests de base qui confirment qu'il n'y a pas d'obstacles pour l'assurance qualité avant de procéder aux tests. Ces tests sont conçus pour détecter les principaux obstacles dans l'application. Ils sont entièrement automatisés par QE et s'exécutent chaque fois qu'une nouvelle version est déployée dans n'importe quel environnement à des fins de vérification.

Essais fonctionnels

Les tests fonctionnels testent la logique commerciale de l'application au niveau de l'interface utilisateur. Ces cas de test sont automatisés à l'aide de notre cadre interne développé au-dessus de WebDriver qui automatise toutes les actions de l'utilisateur en interface avec le navigateur. Ces tests sont entièrement automatisés par QE, les efforts manuels étant réservés aux tests exploratoires et aux cas limites. Les tests d'automatisation de l'interface utilisateur sont très proches de la manière dont les clients utiliseraient l'application et garantissent que la fonctionnalité fonctionne correctement. Cependant, il est très important de ne pas tester l'application de manière exhaustive par le biais des tests d'interface utilisateur, car ces tests ont tendance à être un peu fragiles et coûteux à maintenir. Ces tests sont choisis avec parcimonie et associés de manière appropriée aux tests d'API pour obtenir les meilleurs résultats en termes de qualité. 

Essais exploratoires 

Comme son nom l'indique, le test exploratoire est un type de test qui consiste à explorer l'application pour apprendre et étudier les exigences de l'entreprise. Nous effectuons ces tests avant de créer les cas de test au début du cycle de test ou pour capturer les cas limites plus tard dans le cycle. Il s'agit de tests manuels, gourmands en ressources, qui ne sont exécutés que quelques fois dans une version, généralement au début ou parfois vers la fin du cycle. Les tests exploratoires sont effectués par les responsables de la qualité ou parfois en dehors de l'organisation de la qualité et ces tests détectent les défauts complexes qui ne peuvent pas être détectés par des scripts automatisés.

Tests de performance

L'objectif des tests de performance est d'identifier toute dégradation de la performance de l'application. Pour ce faire, nous soumettons certains composants du back-end à des contraintes et nous surveillons les résultats de l'application sous charge. Nous comparons les résultats avec les lignes de base précédentes. Toute augmentation du temps de réponse est signalée comme un défaut de performance. Les tests de performance sont entièrement automatisés et gérés par QE et sont exécutés une fois que les fonctionnalités sont fonctionnellement stables et peuvent supporter une certaine charge pour les tests.

Test de scénario client de bout en bout

Il s'agit de cas d'utilisation professionnels qui testent le système du début à la fin. Contrairement aux tests unitaires et fonctionnels qui testent des composants spécifiques de l'application, ces tests exigent que tous les systèmes dépendants soient opérationnels et passent par différents systèmes et composants. Chez SnapLogic, QE est responsable de la création de ces cas de test en simulant des scénarios de clients. La majorité de ces cas sont des pipelines automatisés dans lesquels nous utilisons notre propre produit pour valider nos tests. 

Le critère de certification est que tous ces tests doivent être réussis. Tous les cas de test échoués correspondant à des défauts sont documentés comme des défauts connus ou triés pour les versions futures. Une fois que les critères de certification sont remplis, nous envoyons les bits pour les tests bêta dans un environnement UAT (User Acceptance Testing) afin que les clients puissent les tester et nous faire part de leurs commentaires. Tous les retours que nous recevons sont mis en œuvre et tous les problèmes prévus pour la version sont corrigés, testés et publiés. Une fois que tous les critères sont remplis, le produit est envoyé en production. Tous les problèmes auxquels nos clients peuvent être confrontés en production sont examinés très sérieusement, analysés et résolus par l'équipe de test. Ils sont ensuite diffusés et incorporés dans la suite de tests afin qu'ils n'apparaissent plus dans le produit.

Conclusion

Garantir un produit stable, de qualité et performant a été et reste une priorité absolue pour nous à SnapLogic. Au fil des ans, nous avons continuellement évalué et affiné nos processus d'assurance qualité, adopté l'automatisation et les nouvelles techniques et, surtout, veillé à ce que l'assurance qualité travaille côte à côte avec nos collègues du développement et du produit, de la conception à la livraison. 

SnapLogic est fier de l'innovation qu'il intègre régulièrement dans ses produits. De nouvelles fonctionnalités et des capacités améliorées sont proposées aux clients chaque trimestre. Mais rien ne passe en production, et dans les mains de nos clients, tant qu'il ne répond pas aux normes strictes de test de qualité de SnapLogic. Nos clients le méritent.

Directeur de l'ingénierie de la qualité chez SnapLogic
Catégorie : Intégration
Sujets : API

Nous recrutons !

Découvrez votre prochaine grande opportunité de carrière.