Tutoriel de test Salesforce
Qu'est-ce que Salesforce?
Salesforce est le premier système CRM basé sur le cloud au monde. Elle a été fondée par Marc Benioff et Parker Harris en mars 1999. Le but du développement de cette plate-forme CRM est d'aider les utilisateurs à vendre, entretenir, commercialiser, analyser et se connecter facilement et à moindre coût avec leurs clients.
SFDC (Sales Force Dot Com) dispose de nombreuses fonctionnalités standards qui vous aident à gérer vos relations avec les prospects et les clients. Il vous permet également d'interagir et de collaborer avec vos employés et partenaires commerciaux pour stocker leurs données en toute sécurité dans le cloud.
Qu’est-ce que les tests Salesforce ?
L'un des avantages de Salesforce est que de nombreuses fonctionnalités prêtes à l'emploi peuvent être personnalisées pour répondre aux besoins d'une entreprise. Les tests Salesforce sont une validation de la configuration et de la personnalisation effectuées dans Vanilla SDFC.
Le défi consiste à s'assurer qu'un testeur vérifie le code qui a été personnalisé au lieu de tester la fonctionnalité Salesforce intégrée.
SalesForce CRM est construit sur un langage de développement de plateforme appelé APEX. Il fournit également de nombreux cas de tests unitaires intégrés permettant aux développeurs de valider leur code.
Pourquoi les tests Salesforce ?
Laissez-moi vous expliquer les principales raisons pour lesquelles je pense que les tests Salesforce sont nécessaires :
- Les tests Salesforce permettent de vérifier que la configuration et le code sont fonctionnels.
- Il vous aide à vérifier que le système fini peut prendre en charge les processus métier du client.
- Ce type de test vous aide à confirmer que la version initiale du système répond aux exigences convenues.
- Cela vous aide à détecter les problèmes rapidement alors qu'ils sont faciles à résoudre.
- Rapport de flux fonctionnels basé sur l'état des cas de tests. Cela permet à l'équipe de créer les flux fonctionnels pour déterminer la fonctionnalité de l'application.
- La fonctionnalité Process Builder vous aide à vérifier l'état de fonctionnement et le comportement du système.
- Les workflows vous permettent de vérifier la fonctionnalité des événements temporels.
Terminologie Salesforce
- VisualForce : Un framework qui permet aux développeurs de créer des interfaces utilisateur personnalisées avec un langage de balisage basé sur des balises, similaire au HTML.
- Échange d'applications : Place de marché en ligne de Salesforce où les utilisateurs peuvent découvrir et installer des applications et des extensions personnalisées pour les environnements Salesforce.
- Sommet: Un langage de programmation fortement typé et orienté objet utilisé pour exécuter des instructions de contrôle de flux et de transaction sur la plate-forme Salesforce.
Types de tests Salesforce
Test manuel
Le processus de test manuel du logiciel inclut le test de l'application Salesforce.com à l'aide de méthodes traditionnelles. L'équipe d'assurance qualité peut utiliser des tests manuels pour exécuter des tests fonctionnels, des tests de chemin heureux, des tests d'intégration, des tests de régression et des tests système.
Test automatisé
Les tests automatisés impliquent un programme informatique pour tester une application Salesforce.com ou Force.com. Des outils de test automatisés comme Selenium, Assure Click, QTP, etc. sont utilisés.
Niveaux de tests dans Salesforce
Dans le didacticiel de test Salesforce, nous explorons les niveaux de test suivants qui s'appliquent généralement à Salesforce :
Tests unitaires
- Le processus de tests unitaires est mené par les développeurs Apex. Cela implique d'écrire des clauses dans leur code qui testent automatiquement sa couverture.
- Il vous aide à évaluer le nombre d'enregistrements de données affectés afin que le code s'exécute correctement dans cet environnement.
- Pour déployer du code Apex dans un environnement de production, votre taux de couverture de code doit être d'au moins 78 %.
Test du système :
- Elle est réalisée par une équipe d’experts consultants Salesforce.
- Implique les processus techniques du système de test du début à la fin.
- Implique un script de test basé sur des sorties spécifiques.
- Il vous permet de résoudre les problèmes liés aux règles du système automatisé telles que le workflow, la validation, l'affectation, etc.
Tests UAT :
- Elle est réalisée par les utilisateurs qui utiliseront l'application
- Permet de tester la capacité du système à prendre en charge les processus métier
- Tests UAT suivant un script de test basé sur ce qui se passe dans l'entreprise
- Le résultat souhaité doit être que le client confirme que le système est adapté à son objectif.
Tests de production :
- Il s'agit d'une répétition des tests du système dans l'environnement de production
- Les tests de produits dans Salesforce vous permettent de tester si la configuration et le code ont été correctement déployés du bac à sable vers l'environnement de production ou non.
- S'il reste du temps avant le lancement final du projet, le client doit réexécuter les scripts UAT après le déploiement.
Les tests de régression:
- L'objet principal de Les tests de régression est de déterminer si les versions de code et de configuration affectent les processus utilisateur existants du système.
- Elle sera réalisée une fois qu’une amélioration ou un correctif sera déployé en production.
- L'utilisateur fournit une liste de modifications pouvant avoir un impact sur son processus actuel.
Processus de test Salesforce
Le processus de test de Salesforce est le même que celui de toute application Web normale. Le testeur doit avoir une perspective claire des fonctionnalités personnalisables créées au cours du processus de test. Cela les aide à se concentrer sur ce code personnalisé plutôt que sur les fonctionnalités Salesforce intégrées.
Les développeurs et les testeurs doivent utiliser l'environnement Sandbox (Test Environment) pour chacun de leurs objectifs. Le code testé dans l'environnement Sandbox est déployé en production à partir de l'environnement Sandbox. Il est supposé que le testeur QA possède les connaissances et la compréhension de base des termes utilisés dans Salesforce.
Défis des tests Salesforce
Les tests Salesforce ne sont pas un processus facile. De nombreux défis ont été rencontrés au cours du processus par le testeur. Certains d'entre eux sont:
- Tester des fonctionnalités avancées telles que Visualforce, Salesforce ou Service Cloud Console est difficile.
- Vous devez recréer tous vos tests classiques pour l'interface utilisateur Lightning.
- Certaines fonctionnalités standards, bien que non utilisées, ne peuvent pas être supprimées.
- Les tests GUI ne fonctionnent pas lorsque nous passons à l'environnement de test.
- Les tests automatisés devraient pouvoir fonctionner dans tous vos environnements de test.
- Des problèmes se produisent lors de la création de localisateurs de champs pour les écrans Salesforce, car certains ID de champ diffèrent d'une organisation à l'autre.
Meilleure pratique pour les tests Salesforce
- Exécutez des tests en tant que profils d'utilisateurs réels.
- Les données de test doivent être préparées pour valider la fonctionnalité du rapport.
- La méthode de test doit inclure des tests fonctionnels, des tests d'interface utilisateur, des tests de régression et des tests d'intégration système.
- La nature dynamique des pages de force visuelle doit faire l’objet d’une attention particulière, car tous les éléments d’une page Web peuvent ne pas être chargés simultanément.
- Les tests d'automatisation doivent être effectués à l'aide d'outils tels que Selenium et tests fonctionnels unifiés HP.
- Les testeurs Salesforce doivent déterminer quels flux incluent des flux positifs et négatifs.
- Les rôles d'utilisateur doivent être construits et testés à l'aide de workflows.
Rôles et responsabilités d'un testeur Salesforce
Les rôles et responsabilités importants des testeurs Salesforce sont :
- Doit être en mesure d'effectuer des tests de fumée pour s'assurer que toutes les fonctionnalités principales fonctionnent conformément aux exigences.
- Créez des scénarios de tests positifs et négatifs.
- Capable d'effectuer un partitionnement d'équivalence et une analyse des valeurs limites.
- Des testeurs sont également nécessaires pour travailler sur l’application et comprendre ses fonctionnalités afin de créer une carte fonctionnelle.
- Un testeur doit disposer d’un canal de communication simple avec l’équipe de développement.
- Il doit comprendre les fonctionnalités personnalisables qui peuvent être créées pour l'application Salesforce.
- Le testeur doit exécuter des cas de test basés sur les rôles pour garantir la cohérence des données.
- Il doit également effectuer un test de compatibilité au cas où Salesforce serait intégré à des applications tierces.
- Un testeur Salesforce doit être familier avec les outils de test de charge tels que JMeter pour valider les flux complexes, qui peuvent offrir des résultats incohérents dans Salesforce.
- Connaissance d'Apex.
Outils d'automatisation des tests SalesForce
Effectuer des tests fonctionnels automatisés dans SalesForce est un défi car la plupart des pages Web de test sont dynamiques. Par conséquent, le testeur doit créer un cadre d’automatisation robuste qui devrait être utile aujourd’hui et à l’avenir.
Ci-dessous, j'ai répertorié les outils de test Salesforce largement utilisés que je recommande.
1) Tricentis Automatisation des tests pour Salesforce
J'apprécie particulièrement la façon dont Tricentis Automatisation des tests pour Salesforce accélère le développement de tests d’interface utilisateur résilients pour les environnements Salesforce. Ses localisateurs intelligents sont alimentés par l'IA pour s'auto-réparer et s'améliorer automatiquement, minimisant ainsi la maintenance et garantissant la stabilité des tests.
Caractéristiques :
- Validation du scénario de bout en bout : Les clients peuvent valider leurs scénarios complets de bout en bout, depuis leur application Web jusqu'à Salesforce et inversement.
- Évolutivité de l’équipe agile : Les équipes agiles dotées de compétences mixtes font évoluer efficacement leurs opérations de tests grâce à des fonctionnalités qui les aident à contrôler et à gérer la croissance des tests et des équipes.
- Exécution de code Apex pour la validation : Exécutez le code Apex dans une étape de test pour valider les résultats de la requête.
- Intégration des tests API : Intégrez les tests API.
2) Loup AQ
Loup AQ révolutionne les tests Salesforce en atteignant une couverture de test automatisée de bout en bout de 80 % en quelques semaines seulement, garantissant des résultats fiables et rapides. Contrairement aux solutions d'assurance qualité traditionnelles qui nécessitent beaucoup de temps et de ressources, QA Wolf garantit l'absence de failles de test et fournit une infrastructure de test entièrement parallèle sans frais supplémentaires. Cela permet aux équipes qui s'appuient sur Salesforce d'améliorer la productivité des développeurs, d'accélérer la vitesse de publication et de réduire considérablement les coûts opérationnels.
Caractéristiques :
- Cadre de tests : QA Wolf utilise son propre framework de test, construit sur MicrosoftLe dramaturge. Un partenariat avec QA Wolf inclut un accès complet pour toute votre équipe à leur plateforme, qui consiste en des exécutions de tests illimitées.
- Maintenance des tests 24 heures sur : QA Wolf maintiendra l'intégralité de votre suite de tests pour que vous n'ayez pas à le faire. Les tests irréguliers sont maintenus afin que vous ne receviez pas de faux positifs et que vous puissiez continuer à expédier en toute confiance.
- Rapports de bogues vérifiés par l'homme : Son équipe travaille 24 heures sur 24 pour vérifier chaque échec de test et ne signale que les bugs réels.
- Intégration CI/CD : L'intégration CI/CD est excellente pour la collaboration et la résolution de problèmes. Je pourrais envoyer des messages sur Slack ou Teams pour communiquer avec l’équipe QA Wolf.
Pourquoi utiliser les outils de test Salesforce
- Il vous permet d'économiser 75 % de votre temps et 25 % de vos coûts d'automatisation des tests.
- Offre une meilleure exécution des tests Apex, une couverture de test détaillée et des rapports de couverture de classe.
- Vous pouvez profiter d'outils d'automatisation de pointe tels que Selenium et JMeter.
- Générez automatiquement des scénarios de test à exécuter pour différents environnements et plusieurs navigateurs.
- Enregistrez et lisez en toute transparence vos cas de test enregistrés.
- Il vous aide à automatiser tous les types de tâches préalables et post-déploiement.
- Le processus de test Salesforce sépare les données du script de test et vous permet d'effectuer des améliorations avec plusieurs ensembles de données.
Exemples de scénarios de tests Salesforce
- Cas de test 01 : Vous pouvez capturer les informations de contact du prospect/client.
- Cas de test 02 : Les contacts peuvent être marqués actifs/inactifs.
- Cas de test 03 : Toute entreprise peut être marquée comme client ou prospect.
- Cas de test 04 : Les prospects peuvent être capturés à l’aide de formulaires Web.
- Cas de test 05 : Le prix proposé ne peut pas être nul.
- Cas de test 06 : L'e-mail doit être envoyé une fois la transaction conclue. Les e-mails renvoyés, le cas échéant, doivent être traités.
- Cas de test 07 : L'intégration avec des logiciels tiers devrait fonctionner correctement.
- Cas de test 08 : Billles services devraient fonctionner comme prévu.
- Cas de test 09 : Aucune duplication des enregistrements dans la gestion des contacts, des opportunités et des leads.
- Cas de test 10 : Le flux de travail mobile fonctionne comme prévu.
- Cas de test 11 : Les utilisateurs non autorisés ne doivent pas avoir accès aux fichiers.
Tests Salesforce : défis clients
Les clients sont toujours nerveux à l'idée de tester Salesforce, car ils ne savent peut-être pas comment les effectuer correctement. En conséquence, ils ont un mythe très distinct de la réalité.
Voici quelques-uns d'entre eux:
Problèmes clients | Solution |
---|---|
Je ne sais pas comment utiliser le système Salesforce. | Les clients doivent tester leur processus, et non la fonctionnalité du système. |
Nous ne pouvons pas tester sans que toutes nos données soient présentes dans le système. | Ils n’ont besoin que de quelques exemples d’enregistrements pour tester. |
Je n'ai pas de temps libre pour tester et gérer mon travail quotidien. | Ils doivent rester en contact avec le PM et effectuer des appels d'enregistrement réguliers pendant les étapes de conception et de construction. |
Conclusion
- Salesforce est le premier système CRM basé sur le cloud au monde.
- Les tests Salesforce valident la configuration et la personnalisation effectuées dans Vanilla SDFC.
- Les tests Salesforce vous aident à vérifier que le système fini peut prendre en charge les processus métier du client.
- Le plus grand défi des tests SalesForce est de garantir que vous testez la personnalisation et non les fonctionnalités SDFC intégrées.
- Les niveaux importants de tests Salesforce sont les tests unitaires, les tests système, les tests UAT, les tests de production et les tests de régression.
- Le plus grand défi des tests Salesforce est que vous devez recréer tous vos tests classiques pour l'interface utilisateur Lightning.
- Les testeurs Salesforce doivent exécuter des tests en tant que véritables profils d'utilisateurs.
- Salesforce devrait être en mesure d'effectuer des tests de fumée pour s'assurer que toutes les fonctionnalités principales fonctionnent conformément aux exigences.
- Selenium Pilote Web, tests fonctionnels unifiés HP (UFT) et Cucumber sont quelques outils de test Salesforce importants.