Salesforce combine de puissantes fonctionnalités intégrées avec la flexibilité nécessaire pour créer vos propres low-code fonctionnalités. Mais comme vous le dira tout développeur chevronné, créer des applications est la partie la plus facile. Le véritable défi consiste à s’assurer qu’elles ne cessent pas de fonctionner au fil du temps et à mettre en place des protections robustes pour pouvoir continuer à développer – et à expérimenter – sans craindre l’échec.
C’est pourquoi les tests, en particulier les tests automatisés, sont si importants. Les tests sont un aspect essentiel de la transformation numérique. Quelle que soit la taille de l’entreprise, si les équipes n’accordent pas la priorité aux tests, elles n’atteindront pas la vitesse et la fiabilité nécessaires pour leurs changements.
Souhaitant en savoir plus sur la façon dont les équipes gèrent leurs processus de test, Copado a interrogé plus de 275 professionnels de Salesforce, qui ont partagé des informations sur les forces et les faiblesses de leurs équipes en matière de tests. Voici quelques points essentiels :
- 41 % des équipes n’ont pas le temps de tester chaque changement avant chaque mise en production.
- 92 % rencontrent des problèmes en production en raison de tests insuffisants.
- 84 % s’appuient encore au moins partiellement sur des tests manuels.
- 51 % des entreprises disposent de 25 ressources QA à temps plein ou plus (20 % en disposent de 100 ou plus).
- 95 % affichent un coût total de possession plus élevé pour les tests manuels que pour l’automatisation commerciale des tests.
Voir aussi : Guide de la transformation numérique : définition, types et stratégie
Les défis courants des tests
Les tests doivent être réalisés à de nombreux niveaux, des tests unitaires aux tests d’interface utilisateur intersystèmes. Les tests unitaires Salesforce sont utiles, mais la culture des tests unitaires chez les développeurs Salesforce est bien moins développée que dans d’autres langages comme Ruby.
Salesforce impose une couverture de code par les tests unitaires de 75 % pour pouvoir déployer en production, mais comme l’intégration continue n’est devenue courante sur Salesforce que récemment, la plupart des développeurs Salesforce ne mesurent pas pleinement l’importance de ces tests. Il n’est donc pas rare de voir des tests bâclés qui atteignent le seuil de 75 %, mais n’offrent que peu ou pas de protection réelle.
Les tests d’interface utilisateur sont également délicats sur Salesforce, en particulier avec sa nouvelle interface, Lightning. Lightning utilise un shadow DOM (modèle objet de document) à des fins de sécurité et de performances, mais cela complique la tâche des outils comme Selenium, qui s’appuient sur le DOM.
Le DOM sous-jacent peut également être modifié sans avertissement, ce qui peut faire échouer les tests même si le système réel fonctionne correctement. Les outils de test d’interface utilisateur pour Salesforce doivent donc intégrer un niveau d’intelligence important.
Salesforce est également fréquemment intégré à d’autres systèmes comme ServiceNow, SAP, et Oracle Financials. Cela signifie que les outils de test doivent pouvoir tester tous les systèmes connectés afin de garantir un fonctionnement de bout en bout.
En tant que plateforme low-code, le développement sur Salesforce peut avancer très rapidement. La plateforme Salesforce sous-jacente est également mise à jour trois fois par an. Ces cycles logiciels accélérés entraînent davantage de changements et de mises à jour susceptibles de provoquer des surprises indésirables par la suite si vous ne disposez pas de tests efficaces.
Le comportement du système peut également dépendre des données sous-jacentes. La gestion des données de test est donc importante, en particulier lorsqu’on travaille avec des applications complexes conçues sur Salesforce, comme Salesforce CPQ, Veeva et nCino.
Enfin, Salesforce est conçu pour donner un coup d’accélérateur aux utilisateurs du low-code. Idéalement, les outils de test devraient donc être également faciles à utiliser pour les personnes qui ne codent pas.
Voir aussi : DevOps, low-code et RPA : avantages et inconvénients
Quelques tendances des tests sur Salesforce
À mesure que Salesforce gagne en portée et en sophistication, les entreprises doivent se préparer à des personnalisations de haute qualité entre les clouds et vérifier les intégrations tierces entre les différentes technologies et plateformes.
Dans notre enquête, 41 % des équipes ont déclaré ne pas avoir suffisamment de temps pour tester correctement tous les changements avant une mise en production. Notre analyse montre que les équipes subissent une pression pour livrer les fonctionnalités en raison de calendriers de projet ambitieux et que le développement prend plus de temps que prévu.
Les tests finissent donc par être relégués au second plan. Les équipes ne leur accordent souvent pas l’importance qu’ils méritent et les repoussent à la fin d’un sprint, au lieu de suivre le développement piloté par les tests ou d’autres méthodes visant à intégrer la qualité plus en amont.
Voir aussi : Que nous réserve l’automatisation intelligente en 2022 ?
Les tests low-code en sont encore à leurs débuts
Les plateformes low-code comme Salesforce continueront de dominer le paysage numérique, tandis que chaque entreprise migre son infrastructure vers le cloud. La rapidité et la simplicité de création sur ces plateformes sont inégalées, mais elles nécessitent des tests robustes pour s’assurer que les changements ne perturbent pas les systèmes existants.
Les plateformes low-code en sont encore aux premiers stades des tests. D’après les recherches de Salesforce sur ses professionnels, la majorité des équipes s’appuient encore principalement sur des méthodes manuelles. Mais l’essor de DevOps et l’accélération des changements font des tests automatisés la prochaine frontière pour les entreprises numériques d’aujourd’hui.
À propos de l’auteur :
Andrew Davis, spécialiste Salesforce DevOps et directeur principal de la recherche et de l’innovation, Copado.


