Test des composants Lightning du point de vue de l’assurance qualité / Blogs / Perficient

Le test des composants Lightning est une étape cruciale pour garantir la qualité et la fiabilité des applications Salesforce. En tant que professionnel de l’assurance qualité, il est essentiel de comprendre les défis uniques et les meilleures pratiques impliqués dans le test de ces composants. Dans ce blog, nous explorerons les différentes approches et outils disponibles pour tester les composants Lightning, en soulignant l’importance des méthodes de test manuelles et automatisées.
Pourquoi tester les composants Lightning ?
Les composants Lightning sont hautement personnalisables et peuvent être réutilisés dans différentes parties de l’application. Cette flexibilité introduit cependant le risque d’introduction de bogues et d’incohérences dans d’autres composants. De plus, les modifications de l’interface utilisateur et les modifications au niveau du code utilisant CSS, HTML, Apex et JavaScript nécessitent des tests approfondis pour garantir une expérience utilisateur uniforme sur différents navigateurs, systèmes d’exploitation et appareils.
Approche de test manuel
Les tests manuels sont une approche simple qui consiste à tester le composant en interagissant manuellement avec lui. Cette méthode convient aux tests à petite échelle et peut être effectuée par tout membre de l’équipe familiarisé avec Salesforce CRM. Les tests manuels consistent à vérifier les attributs de conception, à garantir que le composant s’affiche correctement sur la page et à vérifier sa fonctionnalité.
Approche de test automatisée
Les tests automatisés sont une approche plus évolutive et fiable qui implique l’utilisation d’outils et de frameworks pour écrire et exécuter des tests. Cette méthode est idéale pour les tests à grande échelle et peut être intégrée à Salesforce DX. Les frameworks de tests d’automatisation populaires basés sur JavaScript tels que Cypress, Mocha et Jasmine peuvent être utilisés pour tester les applications Lightning. De plus, Salesforce propose des services de tests Lightning (LTS) qui peuvent être utilisés pour écrire des tests pour des applications Lightning personnalisées.
Outils et cadres de test
- Lightning Testing Services (LTS) : LTS est une suite d’outils et de services intégrés à Salesforce DX qui facilitent les tests automatisés. Il est idéal pour tester des applications Lightning personnalisées et hautement personnalisées.
- Cypress : Cypress est un framework de test d’automatisation basé sur JavaScript populaire qui peut être utilisé pour tester les applications Lightning.
- Mocha : Mocha est un autre framework de test d’automatisation basé sur JavaScript populaire qui peut être utilisé pour tester les applications Lightning.
- Jasmine : Jasmine est un framework de test d’automatisation basé sur JavaScript populaire qui peut être utilisé pour tester les applications Lightning.
Meilleures pratiques pour les tests
- Donner la priorité aux combinaisons de navigateur et de système d’exploitation : étant donné qu’il est pratiquement impossible de tester toutes les combinaisons possibles de navigateur et de système d’exploitation, donnez la priorité aux combinaisons les plus largement utilisées.
- Utilisez l’infrastructure de test basée sur le cloud : les fournisseurs de tests basés sur le cloud offrent l’infrastructure nécessaire pour tester les composants Salesforce Lightning à grande échelle sans investir dans une infrastructure interne.
- Exécuter des tests de régression de Visual UI : exécutez des tests de régression de Visual UI pour garantir que les composants Lightning sont rendus correctement sur les systèmes d’exploitation et les appareils.
- Utiliser Provar : Provar est une solution de test qui offre un chemin de mise à niveau permettant aux testeurs d’exécuter les mêmes tests dans Classic et Lightning sans avoir besoin d’une deuxième suite de tests.
Aspects clés des tests de composants Lightning
1. Tests unitaires :
Se concentre sur des composants individuels.
Garantit que la fonctionnalité de chaque composant fonctionne comme prévu.
Utilise des frameworks de test JavaScript comme Jasmine et Mocha.
2. Tests d’intégration :
Teste les interactions entre plusieurs composants.
Garantit que les composants fonctionnent ensemble correctement.
Utilise des outils tels que Protractor pour les tests de bout en bout.
3. Tests de performances :
Évalue la réactivité et la vitesse des composants.
Identifie les goulots d’étranglement et les domaines d’optimisation.
Utilise des outils tels que Lightning Performance Profiler de Salesforce.
4. Tests de sécurité :
Garantit que les composants sont sécurisés contre les vulnérabilités.
Teste les problèmes de sécurité courants tels que XSS et CSRF.
Utilise les outils d’analyse de sécurité et les tests manuels de Salesforce.
5. Tests d’acceptation des utilisateurs (UAT) :
Valide le composant par rapport aux exigences de l’utilisateur.
Garantit que le composant offre l’expérience utilisateur attendue.
Implique les utilisateurs finaux dans le processus de test.
Meilleures pratiques pour les tests manuels des composants Lightning
Les tests manuels sont une étape cruciale pour garantir la qualité et la fiabilité des composants Salesforce Lightning. En tant que professionnel de l’assurance qualité, il est essentiel de comprendre les meilleures pratiques impliquées dans les tests manuels des composants Lightning. Voici quelques bonnes pratiques à suivre :
- Vérifier les attributs de conception
Vérifier l’affichage du composant : assurez-vous que le composant s’affiche correctement sur la page et qu’il correspond aux exigences de conception. Test fonctionel
Tests positifs : exécutez le flux pour effectuer des tests positifs, en garantissant que le composant fonctionne comme prévu.Réutilisabilité
Réutiliser le code : réutilisez le code via l’héritage pour éviter la duplication du code et garantir la cohérence entre les composants.
Exemples pratiques et cas de test
Examinons quelques cas de test et exemples pratiques pour tester les composants Lightning, divisés en catégories de tests manuels et automatisés :
Exemples de tests manuels
Scénario de test 1 : vérifier l’affichage des composants
Objectif: Assurez-vous que le composant apparaît correctement sur la page et correspond aux exigences de conception.
- Étape 1: Accédez à l’application Salesforce.
- Étape 2: Localisez le composant Lightning sur la page.
- Étape 3: Vérifiez que le composant est affiché correctement, avec tous les éléments visibles et alignés selon les spécifications de conception.
- Résultat attendu: Le composant doit correspondre aux exigences de conception sans aucune divergence visuelle.
Cas de test 2 : tests positifs avec des entrées valides
Objectif: Assurez-vous que le composant fonctionne comme prévu avec des entrées valides.
- Étape 1: Accédez au composant.
- Étape 2: Saisissez des données valides dans tous les champs de saisie (par exemple, e-mail valide, noms propres, etc.).
- Étape 3: Soumettez le formulaire ou déclenchez l’action du composant.
- Résultat attendu: Le composant doit traiter l’entrée correctement et afficher les résultats attendus (par exemple, un message de confirmation, des données enregistrées correctement).
Scénario de test 3 : tests négatifs avec des entrées non valides
Objectif: Vérifiez que le composant gère correctement les erreurs avec des entrées non valides.
- Étape 1: Accédez au composant.
- Étape 2: Saisissez des données invalides dans les champs de saisie (par exemple, format d’e-mail invalide, caractères spéciaux non autorisés).
- Étape 3: Soumettez le formulaire ou déclenchez l’action du composant.
- Résultat attendu: Le composant doit afficher les messages d’erreur appropriés et empêcher la soumission du formulaire.
Exemples de tests automatisés
Scénario de test : vérifier la liaison de données et la gestion des événements avec Selenium
Objectif: Assurez-vous que le composant se met à jour correctement lorsque les données changent et gère correctement les événements.
Supposons que nous disposions d’un composant Lightning qui affiche une liste d’éléments et permet aux utilisateurs d’ajouter un nouvel élément.
public class LightningComponentDataBindingTest { public static void main(String[] args) { WebDriver driver = new ChromeDriver(); // Navigate to the Salesforce page containing the component driver.get("https://your-salesforce-instance.lightning.force.com/c/yourComponentPage"); // Verify initial list of items List<WebElement> items = driver.findElements(By.cssSelector("c-itemList .item")); int initialItemCount = items.size(); System.out.println("Initial item count: " + initialItemCount); // Add a new item WebElement newItemInput = driver.findElement(By.cssSelector("input.new-item")); WebElement addItemButton = driver.findElement(By.cssSelector("button.add-item")); newItemInput.sendKeys("New Item"); addItemButton.click(); // Verify the new item is added to the list items = driver.findElements(By.cssSelector("c-itemList .item")); int updatedItemCount = items.size(); System.out.println("Updated item count: " + updatedItemCount); if (updatedItemCount == initialItemCount + 1) { System.out.println("New item added successfully."); } else { System.out.println("Failed to add new item."); } // Close the browser driver.quit(); } }
Conclusion
Le test des composants Lightning est un aspect essentiel du développement d’applications Salesforce. En adoptant une approche d’assurance qualité complète qui comprend des tests unitaires, des tests d’intégration, des tests de performances, des tests de sécurité et des tests d’acceptation utilisateur, vous pouvez garantir que vos composants sont fiables, performants et sécurisés.
Source link