Salesforce-Test-Tutorial
Was ist Salesforce?
Salesforce ist das weltweit erste cloudbasierte CRM-System. Sie wurde im März 1999 von Marc Benioff und Parker Harris gegründet. Der Zweck der Entwicklung dieser CRM-Plattform besteht darin, Benutzern dabei zu helfen, kostengünstig und einfach zu verkaufen, zu bedienen, zu vermarkten, zu analysieren und mit ihren Kunden in Kontakt zu treten.
SFDC (Sales Force Dot Com) verfügt über viele Standardfunktionen, die Ihnen bei der Verwaltung Ihrer Beziehungen zu Interessenten und Kunden helfen. Darüber hinaus können Sie mit Mitarbeitern und Geschäftspartnern interagieren und zusammenarbeiten, um deren Daten sicher in der Cloud zu speichern.
Salesforce CRM basiert auf einer Plattform-Entwicklungssprache namens APEX. Durch Salesforce-Tests können Sie überprüfen, ob die Konfiguration und der Code funktionsfähig sind. Mit diesem CRM konnte ich die Kundentreue, -bindung und -zufriedenheit verbessern und so dauerhafte Verbindungen aufbauen.
Was sind Salesforce-Tests?
Das Tolle an Salesforce ist, dass viele der vorkonfigurierten Funktionen an die Bedürfnisse eines Unternehmens angepasst werden können. Salesforce-Tests dienen der Validierung der Konfiguration und Anpassung im Standard-SFDC.
Die Herausforderung besteht darin, sicherzustellen, dass ein Tester den angepassten Code überprüft, anstatt die integrierte Salesforce-Funktionalität zu testen.
SalesForce CRM basiert auf einer Plattform-Entwicklungssprache namens APEX. Es bietet außerdem viele integrierte Unit-Testfälle, mit denen Entwickler ihren Code validieren können.
Warum Salesforce-Tests?
Lassen Sie mich die Hauptgründe erläutern, warum ich glaube, dass Salesforce-Tests notwendig sind:
- Mithilfe von Salesforce-Tests können Sie überprüfen, ob die Konfiguration und der Code funktionsfähig sind.
- Es hilft Ihnen zu überprüfen, ob das fertige System die Geschäftsprozesse des Kunden unterstützen kann.
- Mit dieser Art von Tests können Sie bestätigen, dass der ursprüngliche Aufbau des Systems die vereinbarten Anforderungen erfüllt.
- Es hilft Ihnen, Probleme frühzeitig zu erkennen und sie gleichzeitig leicht zu beheben.
- Funktionsablaufberichte basierend auf dem Status von Testfällen. Dadurch kann das Team die Funktionsabläufe erstellen, um die Funktionalität der Anwendung zu bestimmen.
- Mit der Process Builder-Funktion können Sie den Betriebszustand und das Verhalten des Systems überprüfen.
- Mithilfe von Workflows können Sie die Funktionalität zeitbasierter Ereignisse überprüfen.
Salesforce-Terminologie
- VisualForce: Ein Framework, das es Entwicklern ermöglicht, benutzerdefinierte Benutzeroberflächen mit einer Tag-basierten Auszeichnungssprache, ähnlich wie HTML, zu erstellen.
- AppExchange: Der Online-Marktplatz von Salesforce, auf dem Benutzer benutzerdefinierte Anwendungen und Erweiterungen für Salesforce-Umgebungen entdecken und installieren können.
- Apex: Eine stark typisierte, objektorientierte Programmiersprache, die zum Ausführen von Fluss- und Transaktionssteuerungsanweisungen auf der Salesforce-Plattform verwendet wird.
Arten von Salesforce-Tests
Manuelle Prüfung
Der manuelle Softwaretestprozess umfasst das Testen der Salesforce.com-App mit herkömmlichen Methoden. Das QA-Team kann manuelle Tests verwenden, um Funktionstests, Happy-Path-Tests, Integrationstests, Regressionstests und Systemtests durchzuführen.
Automatisiertes Testen
Beim automatisierten Testen wird ein Computerprogramm zum Testen einer Salesforce.com- oder Force.com-Anwendung eingesetzt. Automatisierte Testtools wie Selenium, Assure Click, QTP usw. werden verwendet.
Teststufen in Salesforce
Im Salesforce-Test-Tutorial untersuchen wir die folgenden Testebenen, die normalerweise für Salesforce gelten:
Unit Tests
- Der Unit-Testprozess wird von Apex-Entwicklern durchgeführt. Dazu müssen Klauseln in ihren Code geschrieben werden, die dessen Abdeckung automatisch testen.
- Es hilft Ihnen zu bewerten, wie viele Datensätze betroffen sind, damit der Code in dieser Umgebung erfolgreich ausgeführt werden kann.
- Um Apex-Code in einer Produktionsumgebung bereitzustellen, sollte Ihr Codeabdeckungsgrad mindestens 78 % betragen.
Systemtest:
- Es wird von einem Team aus Salesforce-Beratungsexperten durchgeführt.
- Beinhaltet die technischen Prozesse des Testsystems von Anfang bis Ende.
- Beinhaltet ein Testskript basierend auf bestimmten Ausgaben.
- Damit können Sie Probleme mit automatisierten Systemregeln wie Workflow, Validierung, Zuweisung usw. beheben.
UAT-Tests:
- Es wird von den Benutzern durchgeführt, die die Anwendung verwenden werden
- Ermöglicht das Testen der Fähigkeit des Systems, Geschäftsprozesse zu unterstützen
- UAT-Tests nach einem Testskript basierend auf den Geschehnissen im Unternehmen
- Das gewünschte Ergebnis sollte sein, dass der Kunde bestätigt, dass das System für seinen Zweck geeignet ist
Produktionstests:
- Es handelt sich um eine Wiederholung des Systemtests in der Produktionsumgebung
- Mit Produkttests in Salesforce können Sie testen, ob Konfiguration und Code korrekt von der Sandbox in die Produktionsumgebung übertragen wurden oder nicht.
- Wenn bis zum Start des endgültigen Projekts noch Zeit verbleibt, sollte der Client die UAT-Skripte nach der Bereitstellung erneut ausführen
Regressionstests:
- Das Hauptziel von Regressionstests Ziel ist es festzustellen, ob sich Code- und Konfigurationsversionen auf die vorhandenen Benutzerprozesse des Systems auswirken.
- Es wird durchgeführt, sobald eine Verbesserung oder ein Fix in der Produktion bereitgestellt wird.
- Der Benutzer stellt eine Liste der Änderungen bereit, die sich auf seinen aktuellen Prozess auswirken können.
Salesforce-Testprozess
Der Testprozess von Salesforce ist der gleiche wie bei jeder normalen webbasierten Anwendung. Der Tester sollte einen klaren Überblick über die anpassbaren Funktionen haben, die während des Testprozesses erstellt werden. Es hilft ihnen, sich auf den benutzerdefinierten Code zu konzentrieren und nicht auf die integrierten Salesforce-Funktionen.
Entwickler und Tester sollten die Sandbox-Umgebung (Testumgebung) für jeden ihrer Zwecke verwenden. In der Sandbox-Umgebung getesteter Code wird von der Sandbox-Umgebung aus in die Produktion übertragen. Es wird davon ausgegangen, dass der QA-Tester über grundlegende Kenntnisse und ein Verständnis der in Salesforce verwendeten Begriffe verfügt.
Herausforderungen beim Salesforce-Testen
Salesforce-Tests sind kein einfacher Prozess. Während des Prozesses stand der Tester vor vielen Herausforderungen. Einige von ihnen sind:
- Das Testen erweiterter Funktionen wie Visualforce, Salesforce oder Service Cloud Console ist schwierig.
- Sie müssen alle Ihre klassischen Tests für die Lightning-Benutzeroberfläche neu erstellen.
- Einige der Standardfunktionen können nicht entfernt werden, obwohl sie nicht verwendet werden.
- GUI-Tests funktionieren nicht, wenn wir zur Testumgebung wechseln.
- Automatisierte Tests sollten in allen Ihren Testumgebungen funktionieren können.
- Beim Erstellen von Feld-Locators für die Salesforce-Bildschirme treten Probleme auf, da sich einige Feld-IDs zwischen den Organisationen unterscheiden.
Best Practice für Salesforce-Tests
- Führen Sie Tests als echte Benutzerprofile aus.
- Zur Validierung der Berichtsfunktionalität sollten Testdaten vorbereitet werden.
- Die Testmethode muss Funktionstests, UI-Tests, Regressionstests und Systemintegrationstests umfassen.
- Der dynamischen Natur von Visual Force-Seiten sollte besondere Aufmerksamkeit geschenkt werden, da möglicherweise nicht alle Elemente einer Webseite gleichzeitig geladen werden.
- Automatisierungstests sollten mit Tools wie durchgeführt werden Selenium und HP Unified Functional Testing.
- Salesforce-Tester sollten überlegen, welche Flows positive und negative umfassen.
- Benutzerrollen müssen mithilfe von Workflows erstellt und getestet werden.
Rollen und Verantwortlichkeiten eines Salesforce-Testers
Wichtige Rollen und Verantwortlichkeiten von Salesforce-Testern sind:
- Sollte in der Lage sein, Rauchtests durchzuführen, um sicherzustellen, dass alle wichtigen Funktionen gemäß den Anforderungen funktionieren.
- Erstellen Sie sowohl positive als auch negative Testszenarien.
- Kann Äquivalenzpartitionierung und Grenzwertanalyse durchführen.
- Außerdem sind Tester erforderlich, die an der Anwendung arbeiten und sich ein Verständnis für deren Funktionalität verschaffen, um eine Funktionskarte zu erstellen.
- Ein Tester sollte über einen einfachen Kommunikationskanal mit dem Entwicklungsteam verfügen.
- Er sollte die anpassbaren Funktionen verstehen, die für die Salesforce-App erstellt werden können.
- Der Tester muss rollenbasierte Testfälle ausführen, um die Konsistenz der Daten sicherzustellen.
- Er sollte auch einen Kompatibilitätstest durchführen, falls Salesforce in Anwendungen von Drittanbietern integriert ist.
- Ein Salesforce-Tester sollte mit Lasttest-Tools wie vertraut sein JMeter um die komplexen Abläufe zu validieren, die in Salesforce zu inkonsistenten Ergebnissen führen können.
- Kenntnisse über Apex.
SalesForce-Testautomatisierungstools
Die Durchführung automatisierter Funktionstests in SalesForce ist eine Herausforderung, da die meisten Testwebseiten dynamisch sind. Daher muss der Tester ein robustes Automatisierungs-Framework aufbauen, das heute und in Zukunft nützlich sein sollte.
Nachfolgend habe ich die weit verbreiteten Salesforce-Testtools aufgelistet, die ich empfehle.
1) Tricentis Testautomatisierung für Salesforce
Ich schätze besonders, wie Tricentis Testautomatisierung für Salesforce beschleunigt die Entwicklung belastbarer UI-Tests für Salesforce-Umgebungen. Seine Smart Locators werden von KI angetrieben, um sich selbst zu reparieren und zu verbessern, wodurch der Wartungsaufwand minimiert und die Teststabilität gewährleistet wird.
Merkmale:
- End-to-End-Szenariovalidierung: Kunden können ihre kompletten End-to-End-Szenarien validieren, die von ihrer Webanwendung bis zu Salesforce und zurück reichen.
- Skalierbarkeit agiler Teams: Agile Teams mit unterschiedlichen Fähigkeiten skalieren ihre Testvorgänge effizient mit Funktionen, die ihnen dabei helfen, das Wachstum bei Tests und Teams zu kontrollieren und zu verwalten.
- Apex-Codeausführung zur Validierung: Führen Sie Apex-Code in einem Testschritt aus, um Abfrageergebnisse zu validieren.
- API-Testintegration: Integrieren Sie API-Tests.
2) QA Wolf
QA Wolf revolutioniert das Salesforce-Testen, indem es innerhalb weniger Wochen eine automatisierte End-to-End-Testabdeckung von 80 % erreicht und so zuverlässige und schnelle Ergebnisse gewährleistet. Im Gegensatz zu herkömmlichen QA-Lösungen, die viel Zeit und Ressourcen erfordern, garantiert QA Wolf null Testfehler und bietet eine vollständig parallele Testinfrastruktur ohne zusätzliche Kosten. Auf diese Weise können Teams, die auf Salesforce aufbauen, die Entwicklerproduktivität steigern, die Release-Geschwindigkeit beschleunigen und die Betriebskosten erheblich senken.
Merkmale:
- Testrahmen: QA Wolf verwendet ein eigenes Test-Framework, das darauf aufbaut Microsoft's Playwright. Eine Partnerschaft mit QA Wolf beinhaltet den vollständigen Zugriff Ihres gesamten Teams auf deren Plattform, die aus unbegrenzten Testläufen besteht.
- 24-Stunden-Testwartung: QA Wolf kümmert sich um Ihre gesamte Testsuite, damit Sie das nicht selbst tun müssen. Unzuverlässige Tests werden beibehalten, damit Sie keine Fehlalarme erhalten und weiterhin vertrauensvoll liefern können.
- Von Menschen überprüfte Fehlerberichte: Das Team arbeitet rund um die Uhr, überprüft jeden Testfehler und meldet nur die tatsächlichen Fehler.
- CI/CD-Integration: Die CI/CD-Integration ist hervorragend für die Zusammenarbeit und Problemlösung. Ich konnte Nachrichten senden an Slack oder Teams, um mit dem QA Wolf-Team zu kommunizieren.
Warum Salesforce-Testtools verwenden?
- Es hilft Ihnen, 75 % Ihrer Zeit und 25 % Ihrer Testautomatisierungskosten zu sparen.
- Bietet eine bessere Apex-Testausführung, detaillierte Testabdeckung und Klassenabdeckungsberichte.
- Sie können branchenführende Automatisierungstools wie nutzen Selenium und JMeter.
- Generieren Sie automatisch Testszenarien zur Ausführung für verschiedene Umgebungen und mehrere Browser.
- Zeichnen Sie Ihre aufgezeichneten Testfälle nahtlos auf und geben Sie sie wieder.
- Es hilft Ihnen, alle Arten von Aufgaben vor und nach der Bereitstellung zu automatisieren.
- Der Salesforce-Testprozess trennt Daten vom Testskript und ermöglicht Ihnen die Erweiterung mit mehreren Datensätzen.
Beispielhafte Salesforce-Testszenarien
- Testfall 01: Sie können die Kontaktinformationen des Leads/Kunden erfassen.
- Testfall 02: Kontakte können als aktiv/inaktiv markiert werden.
- Testfall 03: Jedes Unternehmen kann als Kunde oder Interessent markiert werden.
- Testfall 04: Mithilfe von Webformularen können Leads erfasst werden.
- Testfall 05: Der Angebotspreis darf nicht Null sein.
- Testfall 06: Sobald der Deal abgeschlossen ist, sollte eine E-Mail gesendet werden. Eventuell zurückgewiesene E-Mails sollten bearbeitet werden.
- Testfall 07: Die Integration mit Software von Drittanbietern sollte ordnungsgemäß funktionieren.
- Testfall 08: Billing-Dienste sollten wie erwartet funktionieren.
- Testfall 09: Keine Duplizierung von Datensätzen im Kontakt-, Opportunity- und Lead-Management.
- Testfall 10: Der mobile Workflow funktioniert wie erwartet.
- Testfall 11: Unbefugte Benutzer dürfen keinen Zugriff auf Dateien haben.
Salesforce-Tests: Kundenherausforderungen
Kunden sind bei Salesforce-Tests immer nervös, weil sie möglicherweise nicht wissen, wie sie sie richtig durchführen sollen. Infolgedessen haben sie einen Mythos, der sich stark von der Realität unterscheidet.
Hier sind einige von ihnen:
Kundenprobleme | Die Lösung |
---|---|
Ich weiß nicht, wie man das Salesforce-System verwendet. | Kunden müssen ihren Prozess testen, nicht die Funktionalität des Systems. |
Wir können nicht testen, ohne dass alle unsere Daten im System vorhanden sind. | Zum Testen benötigen sie nur ein paar Beispieldatensätze. |
Ich habe keine Zeit, meinen täglichen Job zu testen und zu bewältigen. | Sie sollten in der Entwurfs- und Bauphase mit PM in Kontakt bleiben und regelmäßige Check-in-Anrufe durchführen. |
Fazit
- Salesforce ist das weltweit erste cloudbasierte CRM-System.
- Salesforce-Tests validieren die in Vanilla SFDC durchgeführte Konfiguration und Anpassung.
- Mithilfe von Salesforce-Tests können Sie überprüfen, ob das fertige System die Geschäftsprozesse des Kunden unterstützen kann.
- Die größte Herausforderung beim Testen von SalesForce besteht darin, sicherzustellen, dass Sie die Anpassung und nicht die integrierten SFDC-Funktionen testen.
- Wichtige Ebenen von Salesforce-Tests sind Unit-Tests, Systemtests, UAT-Tests, Produktionstests und Regressionstests.
- Die größte Herausforderung beim Salesforce-Testen besteht darin, dass Sie alle Ihre klassischen Tests für die Lightning-Benutzeroberfläche neu erstellen müssen.
- Salesforce-Tester sollten Tests als echte Benutzerprofile ausführen.
- Salesforce sollte in der Lage sein, Rauchtests durchzuführen, um sicherzustellen, dass alle wichtigen Funktionen gemäß den Anforderungen funktionieren.
- Selenium Web Driver, HP Unified Functional Testing (UFT) und Cucumber sind einige wichtige Salesforce-Testtools.